]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
[PR99531] Modify pseudo class cost calculation when processing move involving the...
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
0bceef16
GA
12021-12-10 Andrew Stubbs <ams@codesourcery.com>
2
3 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
4 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
5 table, not individual symbols.
6
4b4839e3
GA
72021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
8
9 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
10 "target offload_device_nonshared_as"
11 * testsuite/libgomp.c++/target-this-3.C: Likewise.
12 * testsuite/libgomp.c++/target-this-4.C: Likewise.
13
641ff219
GA
142021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
15
16 * target.c (gomp_map_vars_existing): Make sure attached pointer is
17 not overwritten during cross-host/device copying.
18 (gomp_update): Likewise.
19 (gomp_exit_data): Likewise.
20 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
21 * testsuite/libgomp.c++/target-12.C: Likewise.
22 * testsuite/libgomp.c++/target-15.C: Likewise.
23 * testsuite/libgomp.c++/target-16.C: Likewise.
24 * testsuite/libgomp.c++/target-17.C: Likewise.
25 * testsuite/libgomp.c++/target-21.C: Likewise.
26 * testsuite/libgomp.c++/target-23.C: Likewise.
27 * testsuite/libgomp.c/target-23.c: Likewise.
28 * testsuite/libgomp.c/target-29.c: Likewise.
29 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
30
312021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
32
33 PR middle-end/92120
34 * libgomp.h (gomp_attach_pointer): Add bool parameter.
35 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
36 (goacc_enter_data_internal): Likewise.
37 * target.c (gomp_map_vars_existing): Update assert condition to
38 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
39 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
40 parameter, add support for mapping a pointer with NULL target.
41 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
42 parameter, add support for attaching a pointer with NULL target.
43 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
44 gomp_attach_pointer, add handling for
45 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
46 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
47 * testsuite/libgomp.c++/target-23.C: New testcase.
48 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
49 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
50 * testsuite/libgomp.c++/target-this-1.C: New testcase.
51 * testsuite/libgomp.c++/target-this-2.C: New testcase.
52 * testsuite/libgomp.c++/target-this-3.C: New testcase.
53 * testsuite/libgomp.c++/target-this-4.C: New testcase.
54 * testsuite/libgomp.c++/target-this-5.C: New testcase.
55
70e4cb66
GA
562021-12-04 Tobias Burnus <tobias@codesourcery.com>
57
58 * libgomp.texi (OpenMP 5.1): Update status.
59
602021-12-04 Tobias Burnus <tobias@codesourcery.com>
61
62 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
63
ea6ef320
GA
642021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
65
66 PR fortran/90030
67 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
68 * testsuite/libgomp.fortran/pr90030.f90: New test.
69
c177e806
GA
702021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
71 Thomas Schwinge <thomas@codesourcery.com>
72
73 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
74 temporary skip.
75
762021-11-30 Cesar Philippidis <cesar@codesourcery.com>
77 Thomas Schwinge <thomas@codesourcery.com>
78
79 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
80 skip.
81
87cd82c8
GA
822021-11-29 Richard Biener <rguenther@suse.de>
83
84 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
85 return.
86
d9ca4b45
GA
872021-11-24 Jakub Jelinek <jakub@redhat.com>
88
89 PR middle-end/103384
90 * testsuite/libgomp.c/declare-variant-2.c: New test.
91
483092d3
GA
922021-11-18 David Edelsohn <dje.gcc@gmail.com>
93
94 * alloc.c (gomp_aligned_alloc): Fix typo.
95
962021-11-18 Jakub Jelinek <jakub@redhat.com>
97
98 PR libgomp/102838
99 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
100 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
101 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
102 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
103 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
104 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
105 gomp_aligned_alloc instead of team_malloc.
106
1072021-11-18 Jakub Jelinek <jakub@redhat.com>
108
109 PR libgomp/102838
110 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
111 memalign over posix_memalign over aligned_alloc over fallback
112 with malloc instead of aligned_alloc over _aligned_alloc over
113 posix_memalign over memalign over fallback with malloc. For
114 aligned_alloc, round up size up to multiple of al.
115
6b1695f4
GA
1162021-11-16 Jakub Jelinek <jakub@redhat.com>
117
118 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
119 construct as implemented.
120
e2b57363
GA
1212021-11-15 Tobias Burnus <tobias@codesourcery.com>
122
123 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
124
1252021-11-15 Jakub Jelinek <jakub@redhat.com>
126
127 * task.c (gomp_create_target_task): Copy args array as well.
128 * target.c (gomp_target_fallback): Add args argument.
129 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
130 (GOMP_target): Adjust gomp_target_fallback caller.
131 (GOMP_target_ext): Likewise.
132 (gomp_target_task_fn): Likewise.
133 * config/nvptx/team.c (gomp_nvptx_main): Set
134 gomp_global_icv.thread_limit_var.
135 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
136
1372021-11-15 Jakub Jelinek <jakub@redhat.com>
138
139 * config/nvptx/team.c (__gomp_team_num): Define as
140 __attribute__((shared)) var.
141 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
142 * config/nvptx/target.c (__gomp_team_num): Declare as
143 extern __attribute__((shared)) var.
144 (GOMP_teams4): Use __gomp_team_num as the team number instead of
145 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
146 is bigger than num_blocks, use num_teams_lower teams and arrange for
147 bumping of __gomp_team_num if !first and returning false once we run
148 out of teams.
149 * config/nvptx/teams.c (__gomp_team_num): Declare as
150 extern __attribute__((shared)) var.
151 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
152
1532021-11-15 Jakub Jelinek <jakub@redhat.com>
154
155 * testsuite/libgomp.c/teams-5.c: New test.
156
af2852b9
GA
1572021-11-12 Jakub Jelinek <jakub@redhat.com>
158
159 PR target/103201
160 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
161 to ...
162 * config/gcn/teams.c: ... here. New file.
163
1642021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
165
166 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
167 implicit map handling to allow a "superset" existing map as valid case.
168 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
169 (get_implicit): New function to extract implicit status.
170 (gomp_map_fields_existing): Adjust arguments in calls to
171 gomp_map_vars_existing, and add uses of get_implicit.
172 (gomp_map_vars_internal): Likewise.
173 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
174
1752021-11-12 Jakub Jelinek <jakub@redhat.com>
176
177 * libgomp_g.h (GOMP_teams4): Declare.
178 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
179 * target.c (GOMP_teams4): New function.
180 * config/nvptx/target.c (GOMP_teams): Remove.
181 (GOMP_teams4): New function.
182 * config/gcn/target.c (GOMP_teams): Remove.
183 (GOMP_teams4): New function.
184 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
185 teams instead of <= 2.
186 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
187
b39265d4
GA
1882021-11-11 Tobias Burnus <tobias@codesourcery.com>
189
190 * testsuite/libgomp.fortran/teams-1.f90: New test.
191
1922021-11-11 Jakub Jelinek <jakub@redhat.com>
193
194 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
195 * team.c (struct gomp_thread_start_data): Likewise.
196 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
197 (gomp_team_start): Initialize start_data->num_teams and
198 start_data->team_num. Update nthr->num_teams and nthr->team_num.
199 * teams.c (gomp_num_teams, gomp_team_num): Remove.
200 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
201 instead of gomp_num_teams and gomp_team_num.
202 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
203 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
204 * testsuite/libgomp.c/teams-4.c: New test.
205
2062021-11-11 Jakub Jelinek <jakub@redhat.com>
207
208 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
209
c9b1334e
GA
2102021-11-09 Thomas Schwinge <thomas@codesourcery.com>
211
212 * env.c (parse_gomp_openacc_dim): Restore parsing.
213
0ef94462
GA
2142021-10-30 Tobias Burnus <tobias@codesourcery.com>
215
216 PR middle-end/102972
217 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
218 parallel construct.
219 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
220 * testsuite/libgomp.c/target-3.c: Likewise.
221 * testsuite/libgomp.c/target-5.c: Likewise.
222 * testsuite/libgomp.c/target-6.c: Likewise.
223 * testsuite/libgomp.c/target-teams-1.c: Likewise.
224 * testsuite/libgomp.c/teams-1.c: Likewise.
225 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
226 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
227 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
228 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
229 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
230 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
231 * testsuite/libgomp.fortran/teams1.f90: Likewise.
232
4c61300f
GA
2332021-10-29 Aldy Hernandez <aldyh@redhat.com>
234
235 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
236 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
237
04a2cf3f
GA
2382021-10-27 Jakub Jelinek <jakub@redhat.com>
239
240 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
241 aren't implemented for Fortran yet.
242
2432021-10-27 Jakub Jelinek <jakub@redhat.com>
244
245 * testsuite/libgomp.c/loop-26.c: New test.
246 * testsuite/libgomp.c/loop-27.c: New test.
247
b621508d
GA
2482021-10-25 Tobias Burnus <tobias@codesourcery.com>
249
250 PR testsuite/102910
251 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
252 instead of #include <alloca.h> + alloca.
253
ae5c5406
GA
2542021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
255
256 * libgomp.texi (Support of strictly structured blocks in Fortran):
257 Adjust to 'Y'.
258 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
259
674dda6b
GA
2602021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
261
262 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
263 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
264
2652021-10-20 Jakub Jelinek <jakub@redhat.com>
266
267 PR libgomp/102838
268 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
269 (struct gomp_work_share): Only use aligned(64) attribute if
270 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
271 add padding before lock to ensure lock is at offset 64 bytes
272 into the structure.
273 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
274 New poor man's static assertions.
275 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
276 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
277
2782021-10-20 Aldy Hernandez <aldyh@redhat.com>
279 Richard Biener <rguenther@suse.de>
280
281 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
282
ce4d1f63
GA
2832021-10-18 Jakub Jelinek <jakub@redhat.com>
284
285 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
286 && gomp_places_list_len < count after nfirst <= nlast loop condition.
287
2882021-10-18 Tobias Burnus <tobias@codesourcery.com>
289
290 PR fortran/102086
291 PR fortran/92189
292 PR fortran/92621
293 PR fortran/101308
294 PR fortran/101309
295 PR fortran/101635
296 PR fortran/92482
297 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
298
93d183a5
GA
2992021-10-15 Jakub Jelinek <jakub@redhat.com>
300
301 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
302 type from char [50] to const char *.
303 (places_array): Add a testcase for simplified syntax place followed
304 by length or length and stride.
305
3062021-10-15 Jakub Jelinek <jakub@redhat.com>
307
308 * env.c (parse_one_place): Handle non-negative-number the same
309 as { non-negative-number }. Reject even !number:1 and
310 !number:1:stride or !place:1 or !place:1:stride instead of just
311 length other than 1.
312 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
313 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
314 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
315 as implemented.
316 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
317 simplified syntax.
318
3192021-10-15 Jakub Jelinek <jakub@redhat.com>
320
321 * env.c (parse_schedule): For strtoul or strtoull calls which don't
322 clearly reject return value 0 as invalid handle the case where end
323 pointer is the same as first argument as invalid.
324 (parse_unsigned_long_1): Likewise.
325 (parse_one_place): Likewise.
326 (parse_places_var): Likewise.
327 (parse_stacksize): Likewise.
328 (parse_spincount): Likewise.
329 (parse_affinity): Likewise.
330 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
331 Make code valid C89.
332 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
333 For strtoul calls which don't clearly reject return value 0 as
334 invalid handle the case where end pointer is the same as first
335 argument as invalid.
336 (gomp_affinity_init_level_1): Likewise.
337 (gomp_affinity_init_numa_domains): Likewise.
338 * config/rtems/proc.c (parse_thread_pools): Likewise.
339
3402021-10-15 Jakub Jelinek <jakub@redhat.com>
341
342 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
343 after creating count places clean up and return immediately.
344 * testsuite/libgomp.c/places-6.c: New test.
345 * testsuite/libgomp.c/places-7.c: New test.
346 * testsuite/libgomp.c/places-8.c: New test.
347 * testsuite/libgomp.c/places-9.c: New test.
348 * testsuite/libgomp.c/places-10.c: New test.
349
3502021-10-15 Jakub Jelinek <jakub@redhat.com>
351
352 * env.c (parse_places_var): Handle numa_domains as level 5.
353 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
354 function.
355 (gomp_affinity_init_level): Use it instead of
356 gomp_affinity_init_level_1 for level == 5.
357 * testsuite/libgomp.c/places-5.c: New test.
358
3592021-10-15 Jakub Jelinek <jakub@redhat.com>
360
361 * env.c (parse_places_var): Handle ll_caches as level 4.
362 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
363 function.
364 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
365 last level cache.
366 (gomp_affinity_init_level): Likewise.
367 * testsuite/libgomp.c/places-1.c: New test.
368 * testsuite/libgomp.c/places-2.c: New test.
369 * testsuite/libgomp.c/places-3.c: New test.
370 * testsuite/libgomp.c/places-4.c: New test.
371
5d5885c9
GA
3722021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
373
374 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
375 directive.
376
3772021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
378
379 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
380
52055987
GA
3812021-10-12 Julian Brown <julian@codesourcery.com>
382
383 * target.c (gomp_copy_host2dev): Release device lock on cbuf
384 error path.
385
3862021-10-12 Tobias Burnus <tobias@codesourcery.com>
387
388 * testsuite/libgomp.fortran/icv-3.f90: New.
389 * testsuite/libgomp.fortran/icv-4.f90: New.
390
3912021-10-12 Jakub Jelinek <jakub@redhat.com>
392
393 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
394 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
395 OMP_TEAMS_THREAD_LIMIT): Document.
396
3972021-10-12 Jakub Jelinek <jakub@redhat.com>
398
399 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
400 to avoid makeinfo warnings.
401
4022021-10-12 Jakub Jelinek <jakub@redhat.com>
403
404 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
405 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
406
4072021-10-12 Jakub Jelinek <jakub@redhat.com>
408
409 PR libgomp/102628
410 PR libgomp/102668
411 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
412 allocation sizes from 420 to 320 and from 768 to 568.
413 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
414 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
415 for cr from 16 to 4.
416
4172021-10-12 Jakub Jelinek <jakub@redhat.com>
418
419 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
420 * testsuite/libgomp.c/scan-12.c: Likewise.
421 * testsuite/libgomp.c/scan-13.c: Likewise.
422 * testsuite/libgomp.c/scan-14.c: Likewise.
423 * testsuite/libgomp.c/scan-15.c: Likewise.
424 * testsuite/libgomp.c/scan-16.c: Likewise.
425 * testsuite/libgomp.c/scan-17.c: Likewise.
426 * testsuite/libgomp.c/scan-18.c: Likewise.
427 * testsuite/libgomp.c/scan-19.c: Likewise.
428 * testsuite/libgomp.c/scan-20.c: Likewise.
429 * testsuite/libgomp.c/scan-21.c: Likewise.
430 * testsuite/libgomp.c/scan-22.c: Likewise.
431 * testsuite/libgomp.c++/scan-9.C: Likewise.
432 * testsuite/libgomp.c++/scan-10.C: Likewise.
433 * testsuite/libgomp.c++/scan-11.C: Likewise.
434 * testsuite/libgomp.c++/scan-12.C: Likewise.
435 * testsuite/libgomp.c++/scan-13.C: Likewise.
436 * testsuite/libgomp.c++/scan-14.C: Likewise.
437 * testsuite/libgomp.c++/scan-15.C: Likewise.
438 * testsuite/libgomp.c++/scan-16.C: Likewise.
439
4402021-10-12 Kewen Lin <linkw@linux.ibm.com>
441
442 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
443
732d7638
GA
4442021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
445
446 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
447 omp_atv_serialized.
448 * omp.h.in: Add deprecated flag for omp_atv_sequential.
449 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
450 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
451 * testsuite/libgomp.fortran/alloc-12.f90: New test.
452
4532021-10-11 Jakub Jelinek <jakub@redhat.com>
454
455 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
456 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
457 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
458 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
459 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
460 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
461 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
462 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
463 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
464 omp_set_teams_thread_limit{,_,_8_}.
465 * icv.c (omp_set_num_teams, omp_get_max_teams,
466 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
467 functions.
468 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
469 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
470 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
471 vars.
472 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
473 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
474 is not specified, use gomp_nteams_var.
475 * fortran.c (omp_set_num_teams, omp_get_max_teams,
476 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
477 ialias_redirect.
478 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
479 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
480 omp_get_teams_thread_limit_): New functions.
481
c9db17b8
GA
4822021-10-09 liuhongt <hongtao.liu@intel.com>
483
484 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
485 * testsuite/libgomp.c++/scan-11.C: Ditto.
486 * testsuite/libgomp.c++/scan-12.C: Ditto.
487 * testsuite/libgomp.c++/scan-13.C: Ditto.
488 * testsuite/libgomp.c++/scan-14.C: Ditto.
489 * testsuite/libgomp.c++/scan-15.C: Ditto.
490 * testsuite/libgomp.c++/scan-16.C: Ditto.
491 * testsuite/libgomp.c++/scan-9.C: Ditto.
492 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
493 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
494 * testsuite/libgomp.c/scan-11.c: Ditto.
495 * testsuite/libgomp.c/scan-12.c: Ditto.
496 * testsuite/libgomp.c/scan-13.c: Ditto.
497 * testsuite/libgomp.c/scan-14.c: Ditto.
498 * testsuite/libgomp.c/scan-15.c: Ditto.
499 * testsuite/libgomp.c/scan-16.c: Ditto.
500 * testsuite/libgomp.c/scan-17.c: Ditto.
501 * testsuite/libgomp.c/scan-18.c: Ditto.
502 * testsuite/libgomp.c/scan-19.c: Ditto.
503 * testsuite/libgomp.c/scan-20.c: Ditto.
504 * testsuite/libgomp.c/scan-21.c: Ditto.
505 * testsuite/libgomp.c/scan-22.c: Ditto.
506
5072021-10-09 Jakub Jelinek <jakub@redhat.com>
508
509 * libgomp.texi (OpenMP 5.1): Mention implemented support for
510 structured block sequences in C/C++. Mention support for
511 unconstrained/reproducible modifiers on order clause.
512 Mention partial (C/C++ only) support of extentensions to atomics
513 construct. Mention partial (C/C++ on clause only) support of
514 align/allocator modifiers on allocate clause.
515
e3e07b89
GA
5162021-10-02 Tobias Burnus <tobias@codesourcery.com>
517
518 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
519 based on libgomp.c-c++-common/order-reproducible-1.c.
520 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
521 * testsuite/libgomp.fortran/my-usleep.c: New test.
522
9d116bcc
GA
5232021-10-01 Tobias Burnus <tobias@codesourcery.com>
524
525 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
526 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
527 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
528 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
529 based on libgomp.c-c++-common/alloc-9.c.
530
5312021-10-01 Jakub Jelinek <jakub@redhat.com>
532
533 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
534 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
535
5362021-10-01 Jakub Jelinek <jakub@redhat.com>
537
538 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
539 ialias_redirect.
540 * env.c (handle_omp_display_env): Use ialias_call.
541 * icv-device.c: Move ialias right below each function.
542 (omp_get_device_num): Use ialias_call.
543 * fortran.c (omp_fulfill_event): Add ialias_redirect.
544 * icv.c (omp_get_active_level): Add ialias_redirect.
545
5462021-10-01 Jakub Jelinek <jakub@redhat.com>
547
548 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
549 __alloc_align__ (1) attribute.
550 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
551
24679983
GA
5522021-09-30 Tobias Burnus <tobias@codesourcery.com>
553
554 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
555 for -fintrinsic-modules-path= warning of the C compiler.
556 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
557 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
558
5592021-09-30 Tobias Burnus <tobias@codesourcery.com>
560
561 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
562 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
563 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
564 omp_realloc): Add.
565 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
566 omp_realloc): Add.
567 * testsuite/libgomp.fortran/alloc-10.f90: New test.
568 * testsuite/libgomp.fortran/alloc-6.f90: New test.
569 * testsuite/libgomp.fortran/alloc-7.c: New test.
570 * testsuite/libgomp.fortran/alloc-7.f90: New test.
571 * testsuite/libgomp.fortran/alloc-8.f90: New test.
572 * testsuite/libgomp.fortran/alloc-9.f90: New test.
573
5742021-09-30 Jakub Jelinek <jakub@redhat.com>
575
576 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
577 omp_realloc): New prototypes.
578 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
579 attribute.
580 * allocator.c: Include string.h.
581 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
582 variable and use it instead of alignment so that when retrying the old
583 alignment is used again. Don't retry if new alignment is the same
584 as old alignment, unless allocator had pool size.
585 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
586 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
587 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
588 omp_aligned_calloc and omp_realloc.
589 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
590 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
591 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
592 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
593 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
594 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
595
fd133479
GA
5962021-09-28 Tobias Burnus <tobias@codesourcery.com>
597
598 PR libgomp/96661
599 * configure.ac: Only check for int-type = 2*size_t support when
600 building with Fortran support.
601 * configure: Regenerate.
602
6032021-09-28 Thomas Schwinge <thomas@codesourcery.com>
604
605 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
606 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
607
cf966403
GA
6082021-09-27 Aldy Hernandez <aldyh@redhat.com>
609
610 * team.c: Initialize start_data.
611 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
612 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
613
6142021-09-27 Tobias Burnus <tobias@codesourcery.com>
615
616 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
617 dg-message back to dg-note.
618
6192021-09-27 Tobias Burnus <tobias@codesourcery.com>
620
621 PR fortran/94070
622 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
623 expected dg-note output.
624
e4777439
GA
6252021-09-22 Tobias Burnus <tobias@codesourcery.com>
626
627 PR fortran/55534
628 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
629 r12-3722 by removing -Wno-missing-include-dirs.
630 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
631
6322021-09-22 Jakub Jelinek <jakub@redhat.com>
633
634 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
635 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
636
2c41dd82
GA
6372021-09-21 Tobias Burnus <tobias@codesourcery.com>
638
639 PR fortran/55534
640 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
641 to ALWAYS_CFLAGS.
642 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
643
cf74e7b5
GA
6442021-09-18 Jakub Jelinek <jakub@redhat.com>
645
646 * testsuite/libgomp.c++/default-1.C: New test.
647 * testsuite/libgomp.c-c++-common/default-1.c: New test.
648 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
649 to default clause in C and C++" as implemented.
650
0a4cb439
GA
6512021-09-17 Julian Brown <julian@codesourcery.com>
652
653 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
654
6552021-09-17 Julian Brown <julian@codesourcery.com>
656
657 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
658
6592021-09-17 Jakub Jelinek <jakub@redhat.com>
660
661 * libgomp.texi (OpenMP 5.1): Spelling fix,
662 declare variante -> declare variant.
663
6642021-09-17 Jakub Jelinek <jakub@redhat.com>
665
666 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
667 Use /* */ comments instead of //.
668 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
669 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
670 * testsuite/libgomp.c++/atomic-16.C: New test.
671 * testsuite/libgomp.c++/atomic-17.C: New test.
672
a26206ec
GA
6732021-09-10 Jakub Jelinek <jakub@redhat.com>
674
675 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
676 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
677 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
678
b2748138
GA
6792021-09-07 Tobias Burnus <tobias@codesourcery.com>
680
681 * libgomp.texi (OpenMP Implementation Status): Extend
682 OpenMP 5.0 section.
683 (OpenACC Profiling Interface): Fix typo.
684
6852021-09-07 Tobias Burnus <tobias@codesourcery.com>
686
687 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
688 not to 4.5; link to new section.
689 (OpenMP Implementation Status): New.
690
9f99555f
GA
6912021-09-06 Thomas Schwinge <thomas@codesourcery.com>
692
693 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
694
7b739540
GA
6952021-09-03 Tobias Burnus <tobias@codesourcery.com>
696
697 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
698 dg-output.
699 * testsuite/libgomp.fortran/error-1.f90: Likewise.
700
38b19c5b
GA
7012021-08-23 Thomas Schwinge <thomas@codesourcery.com>
702 Jakub Jelinek <jakub@redhat.com>
703
704 * testsuite/libgomp.c/address-space-1.c: New file.
705
7062021-08-23 Thomas Schwinge <thomas@codesourcery.com>
707
708 * testsuite/lib/libgomp.exp
709 (check_effective_target_offload_target_intelmic): Remove 'proc'.
710 (check_effective_target_offload_device_intel_mic): New 'proc'.
711 * testsuite/libgomp.c-c++-common/on_device_arch.h
712 (device_arch_intel_mic, on_device_arch_intel_mic): New.
713 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
714 'dg-xfail-run-if'.
715 * testsuite/libgomp.fortran/target10.f90: Likewise.
716
7172021-08-23 Tobias Burnus <tobias@codesourcery.com>
718
719 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
720 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
721 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
722 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
723
7242021-08-23 Jakub Jelinek <jakub@redhat.com>
725
726 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
727 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
728 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
729
5b2876f9
GA
7302021-08-22 Thomas Schwinge <thomas@codesourcery.com>
731
732 * config/nvptx/error.c (fwrite, exit): Override, too.
733 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
734 of offloading testing.
735 * testsuite/libgomp.fortran/error-1.f90: Likewise.
736
7c9e1645
GA
7372021-08-20 Tobias Burnus <tobias@codesourcery.com>
738
739 * testsuite/libgomp.fortran/error-1.f90: New test.
740
7412021-08-20 Jakub Jelinek <jakub@redhat.com>
742
743 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
744 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
745 * error.c (GOMP_warning, GOMP_error): New functions.
746 * testsuite/libgomp.c-c++-common/error-1.c: New test.
747
6e529985
GA
7482021-08-18 Tobias Burnus <tobias@codesourcery.com>
749
750 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
751 omp_target_free. omp_target_is_present, omp_target_memcpy,
752 omp_target_memcpy_rect, omp_target_associate_ptr,
753 omp_target_disassociate_ptr): Add interface.
754 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
755 omp_target_free. omp_target_is_present, omp_target_memcpy,
756 omp_target_memcpy_rect, omp_target_associate_ptr,
757 omp_target_disassociate_ptr): Add interface.
758 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
759 interface block for omp_alloc + omp_free.
760 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
761 * testsuite/libgomp.fortran/refcount-1.f90: New test.
762 * testsuite/libgomp.fortran/target-12.f90: New test.
763
7642021-08-18 Jakub Jelinek <jakub@redhat.com>
765
766 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
767
2d14d64b
GA
7682021-08-17 Tobias Burnus <tobias@codesourcery.com>
769
770 * testsuite/libgomp.fortran/scope-1.f90: New test.
771 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
772
7732021-08-17 Jakub Jelinek <jakub@redhat.com>
774
775 * Makefile.am (libgomp_la_SOURCES): Add scope.c
776 * Makefile.in: Regenerated.
777 * libgomp_g.h (GOMP_scope_start): Declare.
778 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
779 * scope.c: New file.
780 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
781 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
782
9d1d9fc8
GA
7832021-08-16 Thomas Schwinge <thomas@codesourcery.com>
784
785 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
786 '?:' issues.
787
7882021-08-16 Tobias Burnus <tobias@codesourcery.com>
789
790 * testsuite/libgomp.fortran/masked-1.f90: New test.
791
261512fa
GA
7922021-08-13 Thomas Schwinge <thomas@codesourcery.com>
793
794 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
795
72be20e2
GA
7962021-08-12 Jakub Jelinek <jakub@redhat.com>
797
798 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
799
8002021-08-12 Tobias Burnus <tobias@codesourcery.com>
801
802 * env.c (parse_bind_var): Accept 'primary' as alias for
803 'master'.
804 (omp_display_env): Add TODO comment to
805 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
806 * libgomp.texi: Change 'master thread' to 'primary thread'
807 in line with OpenMP 5.1.
808 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
809 omp_proc_bind_master is an alias of it.
810 (OMP_PROC_BIND): Mention 'PRIMARY'.
811 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
812 (omp_proc_bind_primary): Add.
813 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
814 * omp_lib.f90.in (omp_proc_bind_primary): Add.
815 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
816 * omp_lib.h.in (omp_proc_bind_primary): Add.
817 * testsuite/libgomp.c/affinity-1.c: Check that
818 'primary' works and is identical to 'master'.
819
37768150
GA
8202021-08-09 Julian Brown <julian@codesourcery.com>
821 Kwok Cheung Yeung <kcy@codesourcery.com>
822 Thomas Schwinge <thomas@codesourcery.com>
823
824 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
825 16.
826 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
827 [acc_device_radeon]: Update.
828 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
829 [ACC_DEVICE_TYPE_radeon]: Likewise.
830 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
831 [acc_device_radeon]: Likewise.
832 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
833 [ACC_DEVICE_TYPE_radeon]: Likewise.
834 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
835 'openacc_radeon_accel_selected' and '-O0'.
836 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
837
8ebf4fb5
GA
8382021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
839
840 * icv-device.c (omp_get_device_num): New API function, host side.
841 * fortran.c (omp_get_device_num_): New interface function.
842 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
843 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
844 omp_get_device_num_.
845 * libgomp.texi (omp_get_device_num): Add documentation for new API
846 function.
847 * omp.h.in (omp_get_device_num): Add declaration.
848 * omp_lib.f90.in (omp_get_device_num): Likewise.
849 * omp_lib.h.in (omp_get_device_num): Likewise.
850 * target.c (gomp_load_image_to_device): If additional entry for device
851 number exists at end of returned entries from 'load_image_func' hook,
852 copy the assigned device number over to the device variable.
853 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
854 (omp_get_device_num): New API function, device side.
855 * plugin/plugin-gcn.c ("symcat.h"): Add include.
856 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
857 at end of returned 'target_table' entries.
858 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
859 (omp_get_device_num): New API function, device side.
860 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
861 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
862 at end of returned 'target_table' entries.
863 * testsuite/lib/libgomp.exp
864 (check_effective_target_offload_target_intelmic): New function for
865 testing for intelmic offloading.
866 * testsuite/libgomp.c-c++-common/target-45.c: New test.
867 * testsuite/libgomp.fortran/target10.f90: New test.
868
4d17ca1b
GA
8692021-07-30 Thomas Schwinge <thomas@codesourcery.com>
870 Ulrich Drepper <drepper@redhat.com>
871
872 * fortran.c (omp_display_env_, omp_display_env_8_): Only
873 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
874
8752021-07-29 Thomas Schwinge <thomas@codesourcery.com>
876 Julian Brown <julian@codesourcery.com>
877 Kwok Cheung Yeung <kcy@codesourcery.com>
878
879 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
880 's%oaccdevlow%oaccloops%g'.
881 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
882 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
883 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
884 Likewise.
885 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
886 Likewise.
887 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
888 Likewise.
889 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
890 Likewise.
891 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
892 Likewise.
893 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
894 Likewise.
895 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
896 Likewise.
897 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
898 Likewise.
899 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
900
872c1a56
ML
9012021-07-29 Aldy Hernandez <aldyh@redhat.com>
902
903 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
904 threader.
905 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
906
af3f12e6
GA
9072021-07-27 Ulrich Drepper <drepper@gmail.com>
908
909 * env.c (wait_policy, stacksize): New static variables,
910 move out of handle_omp_display_env.
911 (omp_display_env): New function. The meat of the old
912 handle_omp_display_env function.
913 (handle_omp_display_env): Change to not take parameters
914 and instead use the global variables. Only perform
915 parsing, defer to omp_display_env for the implementation.
916 (initialize_env): Remove local variables wait_policy and
917 stacksize. Don't pass parameters to handle_omp_display_env.
918 * fortran.c: Add ialias_redirect for omp_display_env.
919 (omp_display_env_, omp_display_env_8_): New functions.
920 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
921 omp_display_env_, and omp_display_env_8_.
922 * omp.h.in: Declare omp_display_env.
923 * omp_lib.f90.in: Likewise.
924 * omp_lib.h.in: Likewise.
925
9262021-07-27 Thomas Schwinge <thomas@codesourcery.com>
927 Julian Brown <julian@codesourcery.com>
928
929 * target.c (gomp_coalesce_buf_add): Update comment.
930 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
931 'aq && cbuf'.
932 (gomp_map_vars_internal): Only 'if (!aq)', do
933 'gomp_coalesce_buf_add'.
934 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
935 XFAIL.
936
9372021-07-27 Julian Brown <julian@codesourcery.com>
938 Thomas Schwinge <thomas@codesourcery.com>
939
940 * libgomp.h (gomp_copy_host2dev): Update prototype.
941 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
942 argument to gomp_copy_host2dev (false).
943 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
944 (copy_data): Don't free src.
945 (queue_push_copy): Remove free_src handling.
946 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
947 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
948 snapshotting.
949 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
950 queue_push_copy.
951 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
952 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
953 data when true, and set up deferred freeing of temporary buffer.
954 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
955 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
956 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
957 calls to gomp_copy_host2dev with appropriate ephemeral argument.
958 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
959 XFAIL.
960
9612021-07-27 Thomas Schwinge <thomas@codesourcery.com>
962 Tom de Vries <tom@codesourcery.com>
963
964 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
965 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
966
9672021-07-27 Thomas Schwinge <thomas@codesourcery.com>
968
969 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
970 sequencing of 'async' data copying vs. profiling events.
971 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
972 Likewise.
973
9742021-07-27 Thomas Schwinge <thomas@codesourcery.com>
975 Julian Brown <julian@codesourcery.com>
976
977 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
978 'async'/'wait' issue.
979 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
980 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
981 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
982
419c6c68
GA
9832021-07-21 Thomas Schwinge <thomas@codesourcery.com>
984 Joseph Myers <joseph@codesourcery.com>
985 Cesar Philippidis <cesar@codesourcery.com>
986
987 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
988 file.
989 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
990 Likewise.
991 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
992 Likewise.
993 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
994
92d45509
GA
9952021-07-20 Thomas Schwinge <thomas@codesourcery.com>
996
997 PR target/101484
998 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
999 '-Wno-error=array-bounds'.
1000 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
1001 * libgomp.h [__AMDGCN__]: Likewise.
1002
21ea2f93
GA
10032021-07-19 Thomas Schwinge <thomas@codesourcery.com>
1004
1005 PR target/101484
1006 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
1007 * libgomp.h [__AMDGCN__]: Likewise.
1008
0e775456
GA
10092021-07-13 Jakub Jelinek <jakub@redhat.com>
1010 Florian Weimer <fweimer@redhat.com>
1011
1012 * config/linux/sem.h: Don't include limits.h.
1013 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
1014 * config/linux/affinity.c: Include limits.h.
1015
bea7c16a
GA
10162021-07-01 Jakub Jelinek <jakub@redhat.com>
1017
1018 PR middle-end/94366
1019 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
1020
6bc18203
GA
10212021-06-29 Tobias Burnus <tobias@codesourcery.com>
1022
1023 PR other/67300
1024 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
1025 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
1026 avoid disabling other offload targets.
1027 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
1028 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1029 * testsuite/libgomp.c/target-44.c: Likewise.
1030
10312021-06-29 Tobias Burnus <tobias@codesourcery.com>
1032
1033 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
1034 target has shared memory and disable some scalar pointer/allocatable
1035 checks if not as firstprivate does not work.
1036
90708f87
GA
10372021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
1038
1039 PR testsuite/101114
1040 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
1041 Add "target offload_device_nonshared_as" condition for enabling test.
1042
9aa8327e
GA
10432021-06-24 Jakub Jelinek <jakub@redhat.com>
1044
1045 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
1046 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
1047 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
1048 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
1049
fcf617f0
GA
10502021-06-23 Jakub Jelinek <jakub@redhat.com>
1051
1052 PR middle-end/101167
1053 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
1054
688359a2
GA
10552021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
1056
1057 * hashtab.h (htab_clear): New function with initialization code
1058 factored out from...
1059 (htab_create): ...here, adjust to use htab_clear function.
1060 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
1061 special refcount values, add comments.
1062 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
1063 (REFCOUNT_LINK): Likewise.
1064 (REFCOUNT_STRUCTELEM): New special refcount range for structure
1065 element siblings.
1066 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
1067 sibling maps.
1068 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
1069 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
1070 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
1071 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
1072 (struct splay_tree_key_s): Add structelem_refcount and
1073 structelem_refcount_ptr fields into a union with dynamic_refcount.
1074 Add comments.
1075 (gomp_map_vars): Delete declaration.
1076 (gomp_map_vars_async): Likewise.
1077 (gomp_unmap_vars): Likewise.
1078 (gomp_unmap_vars_async): Likewise.
1079 (goacc_map_vars): New declaration.
1080 (goacc_unmap_vars): Likewise.
1081 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
1082 (goacc_enter_datum): Likewise.
1083 (goacc_enter_data_internal): Likewise.
1084 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
1085 and goacc_unmap_vars.
1086 (GOACC_data_start): Adjust to use goacc_map_vars.
1087 (GOACC_data_end): Adjust to use goacc_unmap_vars.
1088 * target.c (hash_entry_type): New typedef.
1089 (htab_alloc): New function hook for hashtab.h.
1090 (htab_free): Likewise.
1091 (htab_hash): Likewise.
1092 (htab_eq): Likewise.
1093 (hashtab.h): Add file include.
1094 (gomp_increment_refcount): New function.
1095 (gomp_decrement_refcount): Likewise.
1096 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
1097 gomp_increment_refcount.
1098 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
1099 to gomp_map_vars_existing.
1100 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
1101 variable to guard OpenMP specific paths, adjust calls to
1102 gomp_map_vars_existing, add structure element sibling splay_tree_key
1103 sequence creation code, adjust Fortran map case to avoid increment
1104 under OpenMP.
1105 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
1106 local refcount_set if caller passed in NULL, adjust call to
1107 gomp_map_vars_internal.
1108 (gomp_map_vars_async): Adjust and rename into...
1109 (goacc_map_vars): ...this new function, adjust call to
1110 gomp_map_vars_internal.
1111 (gomp_remove_splay_tree_key): New function with code factored out from
1112 gomp_remove_var_internal.
1113 (gomp_remove_var_internal): Add code to handle removing multiple
1114 splay_tree_key sequence for structure elements, adjust code to use
1115 gomp_remove_splay_tree_key for splay-tree key removal.
1116 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
1117 gomp_decrement_refcount.
1118 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
1119 local refcount_set if caller passed in NULL, adjust call to
1120 gomp_unmap_vars_internal.
1121 (gomp_unmap_vars_async): Adjust and rename into...
1122 (goacc_unmap_vars): ...this new function, adjust call to
1123 gomp_unmap_vars_internal.
1124 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
1125 gomp_unmap_vars.
1126 (GOMP_target_ext): Likewise.
1127 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
1128 (GOMP_target_data): Likewise.
1129 (GOMP_target_data_ext): Likewise.
1130 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
1131 (gomp_exit_data): Add refcount_set parameter, adjust to use
1132 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
1133 after main loop.
1134 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
1135 gomp_map_vars and gomp_exit_data.
1136 (gomp_target_task_fn): Likewise.
1137 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
1138 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
1139 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
1140 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
1141 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
1142 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
1143
ede6c356
GA
11442021-06-15 Tobias Burnus <tobias@codesourcery.com>
1145
1146 PR fortran/92568
1147 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
1148
43c35d0d
GA
11492021-06-10 Andrew Stubbs <ams@codesourcery.com>
1150 Thomas Schwinge <thomas@codesourcery.com>
1151
1152 * libgomp.map (GOACC_2.0.2): New symbol version.
1153 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
1154 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
1155
11562021-06-10 Thomas Schwinge <thomas@codesourcery.com>
1157 Andrew Stubbs <ams@codesourcery.com>
1158
1159 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
1160 extracted from...
1161 (GOACC_enter_exit_data): ... here.
1162 (GOACC_declare): Use it.
1163
11642021-06-10 Thomas Schwinge <thomas@codesourcery.com>
1165
1166 * oacc-parallel.c (GOACC_declare): Move...
1167 * oacc-mem.c: ... here.
1168 * libgomp_g.h: Adjust.
1169
11702021-06-10 Andrew Stubbs <ams@codesourcery.com>
1171 Thomas Schwinge <thomas@codesourcery.com>
1172
1173 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
1174 handling.
1175
11762021-06-10 Jakub Jelinek <jakub@redhat.com>
1177
1178 PR tree-optimization/100981
1179 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
1180 dsdotr and dsdoti to 0.
1181
4f625f47
GA
11822021-06-09 H.J. Lu <hjl.tools@gmail.com>
1183
1184 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
1185 if atomic compare-and-swap is supported on 'int'.
1186
11872021-06-09 Richard Biener <rguenther@suse.de>
1188
1189 PR tree-optimization/100981
1190 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
1191
c6038721
GA
11922021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1193
1194 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
1195 unconditionally.
1196 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1197 Update.
1198 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1199 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1200
12012021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1202
1203 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
1204 '-DACC_MEM_SHARED=0'.
1205 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1206 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1207 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1208 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1209 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1210 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1211 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1212 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1213 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1214 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1215 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
1216 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
1217 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
1218 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1219 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
1220 'acc_device_radeon' testing.
1221 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
1222 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
1223 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
1224 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
1225 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1226 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1227 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
1228 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
1229 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
1230 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
1231 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
1232 for non-'openacc_nvidia_accel_selected'.
1233 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1234 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
1235 all implement this checking".
1236 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
1237 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
1238 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
1239 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
1240 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
1241
12422021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1243
1244 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
1245 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
1246
12472021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1248
1249 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
1250 for 'acc_device_radeon'.
1251
12522021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1253
1254 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
1255 for non-'acc_device_nvidia'.
1256
12572021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1258
1259 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
1260 'acc_device_radeon' testing.
1261 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1262 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1263 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1264
12652021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1266
1267 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
1268 require 'openacc_nvidia_accel_selected'. Fix up for
1269 'ACC_DEVICE_TYPE_radeon'.
1270
12712021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1272
1273 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
1274 'openacc_nvidia_accel_selected'.
1275 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1276
12772021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1278
1279 * testsuite/lib/libgomp.exp
1280 (check_effective_target_openacc_radeon_accel_selected):
1281 Streamline.
1282
12832021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1284
1285 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
1286 PR80547 workaround.
1287
12882021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1289
1290 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1291 <acc_device_nvidia>: Update comment.
1292
48166757
GA
12932021-05-28 Tobias Burnus <tobias@codesourcery.com>
1294
1295 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
1296
cd62d089
GA
12972021-05-27 Jakub Jelinek <jakub@redhat.com>
1298
1299 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
1300 check_effective_target_openacc_cublas,
1301 check_effective_target_openacc_cudart): New.
1302 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
1303 target openacc_cublas.
1304 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1305 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1306 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
1307 target openacc_cuda.
1308 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
1309 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
1310 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
1311 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
1312 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
1313 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
1314 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
1315 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1316 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
1317 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1318 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
1319 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1320 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
1321 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
1322 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
1323 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1324 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
1325 targets openacc_cublas and openacc_cudart.
1326 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1327 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1328 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1329 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1330 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
1331 Require effective target openacc_cudart.
1332 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
1333 for effective target openacc_cuda and add && defined USE_CUDA_H to
1334 preprocessor conditionals. Guard -lcuda also on openacc_cuda
1335 effective target.
1336
01c59ef2
GA
13372021-05-26 Jakub Jelinek <jakub@redhat.com>
1338
1339 PR libgomp/100573
1340 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
1341 GOMP_target_end_data, GOMP_target_update_ext,
1342 GOMP_target_enter_exit_data): New dummy entrypoints.
1343 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
1344 GOMP_target_end_data, GOMP_target_update_ext,
1345 GOMP_target_enter_exit_data): Likewise.
1346 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
1347 OMPFROM, OMPTO): Define.
1348 (main): Remove #pragma omp target teams around all the tests.
1349 * testsuite/libgomp.c-c++-common/target-41.c: New test.
1350 * testsuite/libgomp.c-c++-common/target-42.c: New test.
1351
2bc6dace
GA
13522021-05-25 Jakub Jelinek <jakub@redhat.com>
1353
1354 PR middle-end/99928
1355 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
1356
637569df
GA
13572021-05-24 Tobias Burnus <tobias@codesourcery.com>
1358
1359 PR fortran/86470
1360 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
1361 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
1362 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
1363
15d30d2f
GA
13642021-05-22 Thomas Schwinge <thomas@codesourcery.com>
1365
1366 PR testsuite/90115
1367 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
1368 uninteresting/varying diagnostics.
1369
2832d51b
GA
13702021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1371
1372 PR middle-end/90115
1373 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
1374 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1375
13762021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1377
1378 PR middle-end/90115
1379 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
1380 file.
1381 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
1382 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
1383 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1384 Likewise.
1385 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1386 Likewise.
1387 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1388 Likewise.
1389 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1390 Likewise.
1391 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1392 Likewise.
1393 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1394 Likewise.
1395 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1396 Likewise.
1397 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1398 Likewise.
1399 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1400 Likewise.
1401 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1402 Likewise.
1403 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1404 Likewise.
1405 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1406 Likewise.
1407 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1408 Likewise.
1409 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1410 Likewise.
1411 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1412 Likewise.
1413 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1414 Likewise.
1415 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1416 Likewise.
1417 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1418 Likewise.
1419 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1420 Likewise.
1421 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1422 Likewise.
1423 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1424 Likewise.
1425 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1426 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1427 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1428 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
1429 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1430 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1431 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1432 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1433 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1434 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1435 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1436 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1437 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1438 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1439 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1440 Likewise.
1441 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
1442 Likewise.
1443 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
1444 Likewise.
1445 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1446 Likewise.
1447 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
1448 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
1449 Likewise.
1450 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1451 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1452 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1453 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1454 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
1455 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1456 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1457 Likewise.
1458 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1459 Likewise.
1460 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1461 Likewise.
1462 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1463 Likewise.
1464 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1465 Likewise.
1466 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1467 Likewise.
1468 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1469 Likewise.
1470 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1471 Likewise.
1472 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1473 Likewise.
1474 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1475 Likewise.
1476 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1477 Likewise.
1478 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1479 Likewise.
1480 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1481 Likewise.
1482 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1483 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1484 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
1485 Likewise.
1486 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
1487 Likewise.
1488 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1489 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1490 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1491
14922021-05-21 Julian Brown <julian@codesourcery.com>
1493 Chung-Lin Tang <cltang@codesourcery.com>
1494 Thomas Schwinge <thomas@codesourcery.com>
1495
1496 PR middle-end/90115
1497 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
1498 test.
1499 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
1500 Likewise.
1501 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
1502 Likewise.
1503
15042021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1505
1506 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
1507 for nvptx offloading.
1508
15092021-05-21 Tobias Burnus <tobias@codesourcery.com>
1510
1511 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
1512
65f32e5d
GA
15132021-05-19 Thomas Schwinge <thomas@codesourcery.com>
1514
1515 PR target/83812
1516 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
1517
15182021-05-19 Julian Brown <julian@codesourcery.com>
1519
1520 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
1521
a8daf9a1
GA
15222021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1523
1524 * testsuite/lib/libgomp.exp
1525 (check_effective_target_offload_target_nvptx): Don't shadow global
1526 'offload_targets' variable.
1527
15282021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1529
1530 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
1531 '-latomic' to nvptx offloading compilation.
1532 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1533
15342021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1535
1536 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
1537 offloading compilation.
1538
a7ffc1ef
GA
15392021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
1540
1541 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
1542 if new tasks generated.
1543 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
1544
87a7d10c
GA
15452021-05-14 Tobias Burnus <tobias@codesourcery.com>
1546
1547 * testsuite/libgomp.fortran/parallel-master.f90: New test.
1548
f9af11c7
GA
15492021-05-13 Martin Liska <mliska@suse.cz>
1550
1551 PR testsuite/100569
1552 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
1553 * testsuite/libgomp.c/pr46032-2.c: Likewise.
1554 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
1555 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
1556
0ff3a0f2
GA
15572021-05-12 Tobias Burnus <tobias@codesourcery.com>
1558
1559 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
1560 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
1561
037e3661
GA
15622021-05-11 Jakub Jelinek <jakub@redhat.com>
1563
1564 PR middle-end/100471
1565 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
1566 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
1567 reduction pointer.
1568 * testsuite/libgomp.c/task-reduction-4.c: New test.
1569
62d87a32
GA
15702021-05-07 Tobias Burnus <tobias@codesourcery.com>
1571 Tom de Vries <tdevries@suse.de>
1572
1573 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
1574 complex/floating-point || + && reduction with 'omp target'.
1575 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1576
99e8df7a
GA
15772021-05-04 Tobias Burnus <tobias@codesourcery.com>
1578
1579 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
1580 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
1581 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
1582 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
1583
15842021-05-04 Tobias Burnus <tobias@codesourcery.com>
1585
1586 PR testsuite/100397
1587 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
1588 declaration to scope of non-'depend'-guarded assignment to avoid races.
1589
e690396d
GA
15902021-05-03 Tom de Vries <tdevries@suse.de>
1591
1592 PR target/100321
1593 * testsuite/libgomp.c/target-44.c: New test.
1594
9326049e
GA
15952021-04-30 Roman Zhuykov <zhroma@ispras.ru>
1596
1597 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
1598
3c8e539d
GA
15992021-04-29 Tom de Vries <tdevries@suse.de>
1600
1601 * testsuite/libgomp.c/pr81778.c: New test.
1602
16032021-04-29 Tom de Vries <tdevries@suse.de>
1604
1605 PR target/100232
1606 * testsuite/libgomp.c/target-43.c: New file.
1607
e4ff4ffb
GA
16082021-04-28 Jakub Jelinek <jakub@redhat.com>
1609 Tobias Burnus <tobias@codesourcery.com>
1610
1611 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
1612 * target.c (gomp_load_plugin_for_device): If set and if a plugin
1613 can't be dlopened, silently assume it has no devices.
1614 * Makefile.in: Regenerate.
1615 * config.h.in: Regenerate.
1616 * configure: Regenerate.
1617
c0fa3f2f
GA
16182021-04-26 Tobias Burnus <tobias@codesourcery.com>
1619
1620 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
1621 Use [Ww]arning in dg-bogus as FE diagnostic and default
1622 diagnostic differ and the result depends on ENABLE_OFFLOAD.
1623 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1624 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1625 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1626
16272021-04-26 Tobias Burnus <tobias@codesourcery.com>
1628
1629 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
1630 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
1631 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1632 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1633 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1634
16352021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1636 Nathan Sidwell <nathan@codesourcery.com>
1637 Tom de Vries <vries@codesourcery.com>
1638 Julian Brown <julian@codesourcery.com>
1639 Kwok Cheung Yeung <kcy@codesourcery.com>
1640
1641 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
1642 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
1643 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1644 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1645 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1646 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1647 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
1648 Likewise.
1649 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
1650 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1651 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1652 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1653 Likewise.
1654 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
1655 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1656 Likewise.
1657 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1658 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1659 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1660 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1661 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1662 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
1663 Likewise.
1664 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1665 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
1666 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1667 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1668 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1669 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
1670 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1671 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1672 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1673 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1674 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1675
16762021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1677
1678 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
1679 compile with '-w'.
1680 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1681 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1682 Likewise.
1683 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1684 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
1685 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1686 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1687 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1688 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1689 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1690
e3948473
GA
16912021-04-22 Richard Biener <rguenther@suse.de>
1692
1693 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
1694 only on nvptx-none.
1695
c1ef0c92
GA
16962021-04-21 Tobias Burnus <tobias@codesourcery.com>
1697
1698 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
1699 omp_depend_kind instead of defining it as 16.
1700
17012021-04-21 Tobias Burnus <tobias@codesourcery.com>
1702
1703 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1704 New, based on check_effective_target_offload_target_nvptx.
1705 (check_effective_target_offload_target_nvptx): Call it.
1706 (check_effective_target_offload_target_amdgcn): New.
1707 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
1708 Require target offload_target_nvptx || offload_target_amdgcn.
1709 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
1710 * testsuite/libgomp.c/pr86416-1.c: Likewise.
1711 * testsuite/libgomp.c/pr86416-2.c: Likewise.
1712
17132021-04-21 Tobias Burnus <tobias@codesourcery.com>
1714
1715 * testsuite/libgomp.fortran/depobj-1.f90: New test.
1716
6e81e015
GA
17172021-04-19 Thomas Schwinge <thomas@codesourcery.com>
1718
1719 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1720 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
1721 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1722 Likewise.
1723 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1724 Likewise.
1725 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1726
ee351f7f
GA
17272021-04-15 Thomas Schwinge <thomas@codesourcery.com>
1728
1729 PR target/99555
1730 * testsuite/lib/libgomp.exp
1731 (check_effective_target_offload_device_nvptx): New.
1732 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
1733 resolved, make sure that we exit quickly, with error status,
1734 XFAILed.
1735 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
1736 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
1737
df3b1289
GA
17382021-04-14 Jakub Jelinek <jakub@redhat.com>
1739
1740 PR testsuite/100071
1741 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
1742 cp = omp_alloc with cp, p arguments instead of cq, q and call
1743 c_f_pointer after last cq = omp_alloc with cq, q.
1744
a0ecde22
GA
17452021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
1746
1747 PR middle-end/98088
1748 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
1749 for loop with GT/GE condition.
1750 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
1751
3115aba8
GA
17522021-04-09 Thomas Schwinge <thomas@codesourcery.com>
1753
1754 PR middle-end/84991
1755 PR middle-end/84992
1756 PR middle-end/90779
1757 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
1758
17592021-04-09 Jakub Jelinek <jakub@redhat.com>
1760
1761 PR libgomp/99984
1762 * team.c (gomp_thread_start): Call pthread_setspecific for
1763 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
1764 has been initialized to avoid false positive warning.
1765
65374af2
GA
17662021-03-29 Tobias Burnus <tobias@codesourcery.com>
1767
1768 PR target/99555
1769 * testsuite/lib/on_device_arch.c: Move to ...
1770 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
1771 * testsuite/libgomp.fortran/on_device_arch.c: New file;
1772 #include on_device_arch.h.
1773 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
1774 on_device_arch.h instead of using dg-additional-source.
1775 * testsuite/libgomp.c/pr99555-1.c: Likewise.
1776 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
1777 on_device_arch.c without relative paths.
1778
4493b1c1
GA
17792021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1780
1781 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
1782 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
1783 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
1784 * config.h.in: Regenerate.
1785 * configure: Likewise.
1786
17872021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1788
1789 PR target/99555
1790 * testsuite/lib/on_device_arch.c: New file.
1791 * testsuite/libgomp.c/pr99555-1.c: Likewise.
1792 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
1793 skip for nvptx offloading, with error status.
1794 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
1795
17962021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1797
1798 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
1799 OpenACC 'serial' construct diagnostic for nvptx offloading.
1800
3c5b6d24
GA
18012021-03-15 Tobias Burnus <tobias@codesourcery.com>
1802
1803 PR c++/99509
1804 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
1805
6da2762a
GA
18062021-03-12 Tobias Burnus <tobias@codesourcery.com>
1807
1808 PR fortran/98858
1809 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
1810
67f10d28
GA
18112021-03-04 Jakub Jelinek <jakub@redhat.com>
1812
1813 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
1814 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
1815 checking of -m32 or -mx32 options on the command line.
1816 * config.h.in: Regenerated.
1817 * configure: Regenerated.
1818
ec9dc4fa
GA
18192021-02-27 Iain Sandoe <iain@sandoe.co.uk>
1820
1821 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
1822 support from the target.
1823
daa68844
GA
18242021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
1825 Jakub Jelinek <jakub@redhat.com>
1826
1827 PR libgomp/98738
1828 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
1829 (struct gomp_task): Replace detach and completion_sem fields with
1830 union containing completion_sem and detach_team. Add deferred_p
1831 field.
1832 (struct gomp_team): Remove task_detach_queue.
1833 * task.c: Include assert.h.
1834 (gomp_init_task): Initialize deferred_p and completion_sem fields.
1835 Rearrange initialization order of fields.
1836 (task_fulfilled_p): Delete.
1837 (GOMP_task): Use address of task as the event handle. Remove
1838 initialization of detach field. Initialize deferred_p field.
1839 Use automatic local for completion_sem. Initialize detach_team field
1840 for deferred tasks.
1841 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
1842 Set kind of suspended detach task to GOMP_TASK_DETACHED and
1843 decrement task_running_count. Move finish_cancelled block out of
1844 else branch. Relocate call to gomp_team_barrier_done.
1845 (GOMP_taskwait): Handle tasks with completion events that have not
1846 been fulfilled.
1847 (GOMP_taskgroup_end): Likewise.
1848 (omp_fulfill_event): Use address of task as event handle. Post to
1849 completion_sem for undeferred tasks. Clear detach_team if task
1850 has not finished. For finished tasks, handle post-execution tasks,
1851 call gomp_team_barrier_wake if necessary, and free task.
1852 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
1853 (free_team): Remove free of task_detach_queue.
1854 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
1855 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
1856 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
1857 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
1858 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
1859 Change data-sharing of detach events on enclosing parallel to private.
1860 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
1861 taskwait directive.
1862 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
1863 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
1864 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
1865 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
1866 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
1867 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
1868 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
1869 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
1870 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
1871 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
1872 Change data-sharing of detach events on enclosing parallel to private.
1873 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
1874 taskwait directive.
1875 * testsuite/libgomp.fortran/task-detach-7.f90: New.
1876 * testsuite/libgomp.fortran/task-detach-8.f90: New.
1877 * testsuite/libgomp.fortran/task-detach-9.f90: New.
1878 * testsuite/libgomp.fortran/task-detach-10.f90: New.
1879 * testsuite/libgomp.fortran/task-detach-11.f90: New.
1880
2f5765cf
GA
18812021-02-22 Tobias Burnus <tobias@codesourcery.com>
1882
1883 PR fortran/99171
1884 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
1885
acc0ee5c
GA
18862021-02-17 Julian Brown <julian@codesourcery.com>
1887
1888 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
1889 expected errors.
1890
18912021-02-17 Julian Brown <julian@codesourcery.com>
1892
1893 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
1894 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
1895
0c5cdb31
GA
18962021-02-11 Uroš Bizjak <ubizjak@gmail.com>
1897
1898 * config/linux/x86/futex.h (__futex_wait):
1899 Revert output type back to long.
1900 (__futex_wake): Ditto.
1901 (futex_wait): Update for revert.
1902 (futex_wake): Ditto.
1903
19042021-02-11 Uroš Bizjak <ubizjak@gmail.com>
1905
1906 * config/linux/x86/futex.h (__futex_wait): New static inline
1907 wrapper function. Correct output type to int and
1908 timeout type to void *.
1909 (__futex_wake): New static inline wrapper function.
1910 Correct output type to int.
1911 (futex_wait): Use __futex_wait.
1912 (futex_wake): Use __futex_wake.
1913
4b37c3ea
GA
19142021-02-10 Julian Brown <julian@codesourcery.com>
1915
1916 PR fortran/98979
1917 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
1918 errors.
1919
a19dd5e6
GA
19202021-02-04 Julian Brown <julian@codesourcery.com>
1921
1922 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
1923
9faaa807
GA
19242021-02-03 Andrew Stubbs <ams@codesourcery.com>
1925
1926 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
1927 EF_AMDGPU_MACH_AMDGCN_GFX908.
1928 (gcn_gfx908_s): New constant string.
1929 (isa_hsa_name): Add gfx908.
1930 (isa_code): Add gfx908.
1931
161e4c08
GA
19322021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
1933
1934 * libgomp.texi (omp_fulfill_event): New entry.
1935
b93d0e36
GA
19362021-01-20 Jakub Jelinek <jakub@redhat.com>
1937
1938 * task.c (GOMP_task): Rename priority argument to priority_arg,
1939 add priority automatic variable and modify that variable. Instead of
1940 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
1941 check flags for that bit.
1942
f35a4f96
GA
19432021-01-19 Tobias Burnus <tobias@codesourcery.com>
1944
1945 PR fortran/98476
1946 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
1947
ef1f8ee6
GA
19482021-01-18 Andreas Schwab <schwab@suse.de>
1949
1950 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
1951
19522021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
1953
1954 * config/rtems/sem.h (gomp_sem_getcount): New function.
1955
19562021-01-18 Jakub Jelinek <jakub@redhat.com>
1957
1958 * config/linux/sem.h (gomp_sem_getcount): New function.
1959 * config/posix/sem.h (gomp_sem_getcount): New function.
1960 * config/posix/sem.c (gomp_sem_getcount): New function.
1961 * config/accel/sem.h (gomp_sem_getcount): New function.
1962 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
1963 (omp_fulfill_event): Likewise.
1964
59cf67d1
GA
19652021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1966
1967 * fortran.c (omp_fulfill_event_): New.
1968 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
1969 (struct gomp_team): Add task_detach_queue and task_detach_count
1970 fields.
1971 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
1972 * libgomp_g.h (GOMP_task): Add extra argument.
1973 * omp.h.in (enum omp_event_handle_t): New.
1974 (omp_fulfill_event): New.
1975 * omp_lib.f90.in (omp_event_handle_kind): New.
1976 (omp_fulfill_event): New.
1977 * omp_lib.h.in (omp_event_handle_kind): New.
1978 (omp_fulfill_event): Declare.
1979 * priority_queue.c (priority_tree_find): New.
1980 (priority_list_find): New.
1981 (priority_queue_find): New.
1982 * priority_queue.h (priority_queue_predicate): New.
1983 (priority_queue_find): New.
1984 * task.c (gomp_init_task): Initialize detach field.
1985 (task_fulfilled_p): New.
1986 (GOMP_task): Add detach argument. Ignore detach argument if
1987 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
1988 field. Copy address of completion_sem into detach argument and
1989 into the start of the data record. Wait for detach event if task
1990 not deferred.
1991 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
1992 Remove completed tasks and requeue dependent tasks.
1993 (omp_fulfill_event): New.
1994 * team.c (gomp_new_team): Initialize task_detach_queue and
1995 task_detach_count fields.
1996 (free_team): Free task_detach_queue field.
1997 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
1998 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
1999 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
2000 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
2001 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
2002 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
2003 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
2004 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
2005 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
2006 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
2007 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
2008 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
2009
2f7f0d32
GA
20102021-01-15 Jakub Jelinek <jakub@redhat.com>
2011
2012 PR target/70454
2013 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
2014 be added through preprocessor check on
2015 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
2016
5fff80fd
GA
20172021-01-14 Thomas Schwinge <thomas@codesourcery.com>
2018
2019 PR libgomp/65099
2020 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
2021 configurations.
2022 * configure: Regenerate.
2023 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
2024 check.
2025
651b8a50
GA
20262021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
2027
2028 * configure: Re-generate.
2029
20302021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
2031
2032 * configure: Re-generate.
2033
20342021-01-05 Julian Brown <julian@codesourcery.com>
2035
2036 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
2037 (struct ptx_device): Add omp_stacks struct.
2038 (nvptx_open_device): Initialise cached-stacks housekeeping info.
2039 (nvptx_close_device): Free cached stacks block and mutex.
2040 (nvptx_stacks_free): New function.
2041 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
2042 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
2043 (nvptx_stacks_alloc): Rename to...
2044 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
2045 size or smaller is required.
2046 (nvptx_stacks_free): Remove.
2047 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
2048 during kernel execution.
2049
b6dd195a
GA
20502021-01-01 Jakub Jelinek <jakub@redhat.com>
2051
2052 * libgomp.texi: Bump @copying's copyright year.
2053
2d3425a5
GA
20542020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
2055
2056 * libgomp.texi (Top): Avoid bad "up" link.
2057
b1a2242e
GA
20582020-12-18 Jakub Jelinek <jakub@redhat.com>
2059
2060 * testsuite/libgomp.c/task-6.c: New test.
2061
ca2bd949
GA
20622020-12-09 Andrew Stubbs <ams@codesourcery.com>
2063
2064 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
2065 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
2066
f6e8e279
GA
20672020-12-08 Tobias Burnus <tobias@codesourcery.com>
2068
2069 * testsuite/libgomp.fortran/scan-1.f90: New test.
2070
6e1edf48
GA
20712020-12-05 Iain Sandoe <iain@sandoe.co.uk>
2072
2073 PR target/97865
2074 * configure: Regenerate.
2075
a9625c50
GA
20762020-11-29 John David Anglin <danglin@gcc.gnu.org>
2077
2078 * configure: Regenerate.
2079
360258da
GA
20802020-11-25 Thomas Schwinge <thomas@codesourcery.com>
2081
2082 * testsuite/libgomp.oacc-c++/cache-1.C: New.
2083 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
2084
20852020-11-25 Andrew Stubbs <ams@codesourcery.com>
2086
2087 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
2088 expected results.
2089
1e2c9a27
GA
20902020-11-24 Andrew Stubbs <ams@codesourcery.com>
2091
2092 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
2093 (reserved): Delete unused define.
2094
20952020-11-24 Thomas Schwinge <thomas@codesourcery.com>
2096
2097 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
2098 Tcl 8.5-specific behavior.
2099 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2100
25bb75f8
GA
21012020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
2102
2103 * env.c (gomp_global_icv): Remove nest_var field. Add
2104 max_active_levels_var field.
2105 (gomp_max_active_levels_var): Remove.
2106 (parse_boolean): Return true on success.
2107 (handle_omp_display_env): Express OMP_NESTED in terms of
2108 max_active_levels_var. Change format specifier for
2109 max_active_levels_var.
2110 (initialize_env): Set max_active_levels_var from
2111 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
2112 OMP_PROC_BIND.
2113 * icv.c (omp_set_nested): Express in terms of
2114 max_active_levels_var.
2115 (omp_get_nested): Likewise.
2116 (omp_set_max_active_levels): Use max_active_levels_var field instead
2117 of gomp_max_active_levels_var.
2118 (omp_get_max_active_levels): Likewise.
2119 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
2120 max_active_levels_var field.
2121 (gomp_supported_active_levels): Set to UCHAR_MAX.
2122 (gomp_max_active_levels_var): Delete.
2123 * libgomp.texi (omp_get_nested): Update documentation.
2124 (omp_set_nested): Likewise.
2125 (OMP_MAX_ACTIVE_LEVELS): Likewise.
2126 (OMP_NESTED): Likewise.
2127 (OMP_NUM_THREADS): Likewise.
2128 (OMP_PROC_BIND): Likewise.
2129 * parallel.c (gomp_resolve_num_threads): Replace reference
2130 to nest_var with max_active_levels_var. Use max_active_levels_var
2131 field instead of gomp_max_active_levels_var.
2132
21332020-11-18 Tobias Burnus <tobias@codesourcery.com>
2134
2135 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
2136 nvptx_usleep; use also for device={arch(gcn)}.
2137
faab61b5
GA
21382020-11-14 Jakub Jelinek <jakub@redhat.com>
2139
2140 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
2141 (foo): Add tests for non-VLA private and firstprivate clauses on
2142 omp task.
2143 (bar): Likewise. Remove taking of address from private/firstprivate
2144 variables.
2145 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
2146 (foo): Add p, q, px and s arguments. Add tests for array reductions
2147 and for non-VLA private and firstprivate clauses on omp task.
2148 (bar): Removed.
2149 (main): Adjust foo caller. Don't call bar.
2150
77f67db2
GA
21512020-11-13 Gergö Barany <gergo@codesourcery.com>
2152 Thomas Schwinge <thomas@codesourcery.com>
2153
2154 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2155 New.
2156 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2157 Likewise.
2158 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2159 Likewise.
2160 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
2161 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2162
21632020-11-13 Gergö Barany <gergo@codesourcery.com>
2164 Thomas Schwinge <thomas@codesourcery.com>
2165
2166 PR fortran/94358
2167 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
2168
21692020-11-13 Jakub Jelinek <jakub@redhat.com>
2170
2171 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
2172 for array reductions.
2173 (main): Adjust foo callers.
2174
a5a11525
GA
21752020-11-12 Jakub Jelinek <jakub@redhat.com>
2176
2177 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
2178 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
2179 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
2180 * allocator.c (omp_aligned_alloc): New for now static function,
2181 add alignment argument and handle it.
2182 (omp_alloc): Reimplement using omp_aligned_alloc.
2183 (GOMP_alloc, GOMP_free): New functions.
2184 (omp_free): Add ialias.
2185 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
2186 * testsuite/libgomp.c++/allocate-1.C: New test.
2187
21882020-11-12 Thomas Schwinge <thomas@codesourcery.com>
2189
2190 PR fortran/97782
2191 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
2192
bb622641
GA
21932020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
2194
2195 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
2196 usable.
2197 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
2198 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
2199 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
2200 (goacc_enter_data_internal): Likewise.
2201 * target.c (gomp_map_vars_internal):
2202 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
2203 of gomp_attach_pointer for OpenMP cases.
2204 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
2205 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
2206 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
2207
0cfd9109
GA
22082020-11-05 Ulrich Drepper <drepper@redhat.com>
2209 Kwok Cheung Yeung <kcy@codesourcery.com>
2210
2211 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
2212 * Makefile.in: Regenerate.
2213 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
2214 pragmas to ignore -Wdeprecated-declarations warnings.
2215 * icv.c: Likewise.
2216 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
2217 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
2218 and omp_get_nested with __GOMP_DEPRECATED_5_0.
2219 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
2220 deprecated.
2221 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
2222 to test options.
2223 * testsuite/libgomp.c/affinity-1.c: Likewise.
2224 * testsuite/libgomp.c/affinity-2.c: Likewise.
2225 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
2226 * testsuite/libgomp.c/lib-1.c: Likewise.
2227 * testsuite/libgomp.c/nested-1.c: Likewise.
2228 * testsuite/libgomp.c/nested-2.c: Likewise.
2229 * testsuite/libgomp.c/nested-3.c: Likewise.
2230 * testsuite/libgomp.c/pr32362-1.c: Likewise.
2231 * testsuite/libgomp.c/pr32362-2.c: Likewise.
2232 * testsuite/libgomp.c/pr32362-3.c: Likewise.
2233 * testsuite/libgomp.c/pr35549.c: Likewise.
2234 * testsuite/libgomp.c/pr42942.c: Likewise.
2235 * testsuite/libgomp.c/pr61200.c: Likewise.
2236 * testsuite/libgomp.c/sort-1.c: Likewise.
2237 * testsuite/libgomp.c/target-5.c: Likewise.
2238 * testsuite/libgomp.c/target-6.c: Likewise.
2239 * testsuite/libgomp.c/teams-1.c: Likewise.
2240 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
2241 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
2242 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
2243 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
2244 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2245 * testsuite/libgomp.fortran/lib2.f: Likewise.
2246 * testsuite/libgomp.fortran/nested1.f90: Likewise.
2247 * testsuite/libgomp.fortran/teams1.f90: Likewise.
2248
88ce3d5f
GA
22492020-11-02 Thomas Schwinge <thomas@codesourcery.com>
2250
2251 PR target/85486
2252 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
2253 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
2254 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
2255
22562020-11-02 Thomas Schwinge <thomas@codesourcery.com>
2257
2258 PR testsuite/80219
2259 PR testsuite/85303
2260 * testsuite/lib/libgomp.exp (libgomp_init): Set
2261 'gcc_warning_prefix', 'gcc_error_prefix'.
2262
22632020-10-30 Jakub Jelinek <jakub@redhat.com>
2264
2265 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
2266 even in field_tgt_clear initializer.
2267
e93aae4a
GA
22682020-10-28 Jakub Jelinek <jakub@redhat.com>
2269
2270 * testsuite/libgomp.c/target-42.c: New test.
2271
22722020-10-28 Jakub Jelinek <jakub@redhat.com>
2273 Tom de Vries <tdevries@suse.de>
2274
2275 PR testsuite/81690
2276 * testsuite/libgomp.c/usleep.h: New file.
2277 * testsuite/libgomp.c/target-32.c: Include usleep.h.
2278 (main): Use tgt_usleep instead of usleep.
2279 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
2280 (main): Use tgt_usleep instead of usleep.
2281
22822020-10-28 Jakub Jelinek <jakub@redhat.com>
2283
2284 PR lto/96680
2285 * testsuite/libgomp.c/declare-variant-1.c: New test.
2286
56ddd5e2
GA
22872020-10-22 Jakub Jelinek <jakub@redhat.com>
2288
2289 * testsuite/libgomp.c/target-41.c: New test.
2290
22912020-10-22 Jakub Jelinek <jakub@redhat.com>
2292
2293 * icv.c (omp_get_initial_device): Remove including corresponding
2294 ialias.
2295 * icv-device.c (omp_get_initial_device): New function. Return
2296 gomp_get_num_devices (). Add ialias.
2297 * target.c (resolve_device): Don't fail with
2298 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
2299 gomp_get_num_devices ().
2300 (omp_target_alloc, omp_target_free, omp_target_is_present,
2301 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
2302 omp_target_disassociate_ptr, omp_pause_resource): Use
2303 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
2304 first use in the functions, in uses dominated by the
2305 gomp_get_num_devices call use num_devices_openmp instead.
2306 * libgomp.texi (omp_get_initial_device): Document.
2307 * config/gcn/icv-device.c (omp_get_initial_device): New function.
2308 Add ialias.
2309 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
2310 * testsuite/libgomp.c/target-40.c: New test.
2311
23122020-10-21 Jakub Jelinek <jakub@redhat.com>
2313
2314 * env.c (parse_target_offload): Change new_offload var type to int,
2315 preinitialize to -1, remove found var and test new_offload != -1
2316 instead of found.
2317
e2e04288
GA
23182020-10-20 Jakub Jelinek <jakub@redhat.com>
2319
2320 * target.c (gomp_target_init): Inside of the function, use automatic
2321 variables corresponding to num_devices, num_devices_openmp and devices
2322 global variables and update the globals only at the end of the
2323 function.
2324
23252020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
2326
2327 * env.c (gomp_target_offload_var): New.
2328 (parse_target_offload): New.
2329 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
2330 (initialize_env): Parse OMP_TARGET_OFFLOAD.
2331 * libgomp.h (gomp_target_offload_t): New.
2332 (gomp_target_offload_var): New.
2333 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
2334 * target.c (resolve_device): Generate error if device not found and
2335 offloading is mandatory.
2336 (gomp_target_fallback): Generate error if offloading is mandatory.
2337 (GOMP_target): Add argument in call to gomp_target_fallback.
2338 (GOMP_target_ext): Likewise.
2339 (gomp_target_data_fallback): Generate error if offloading is mandatory.
2340 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
2341 (GOMP_target_data_ext): Likewise.
2342 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
2343 (gomp_target_init): Return early if offloading is disabled.
2344
b85d5dc5
GA
23452020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
2346
2347 * libgomp.texi (omp_get_max_active_levels): Modify description.
2348 (omp_get_supported_active_levels): Make descriptions consistent.
2349
b2698c21
GA
23502020-10-14 Jakub Jelinek <jakub@redhat.com>
2351
2352 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
2353
bdd74cc2
GA
23542020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
2355
2356 * env.c (gomp_max_active_levels_var): Initialize to
2357 gomp_supported_active_levels.
2358 (initialize_env): Limit gomp_max_active_levels_var to be at most
2359 equal to gomp_supported_active_levels.
2360 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
2361 (omp_get_supported_active_levels_): New.
2362 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
2363 to at most equal to gomp_supported_active_levels.
2364 (omp_get_supported_active_levels): New.
2365 * libgomp.h (gomp_supported_active_levels): New.
2366 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
2367 omp_get_supported_active_levels_.
2368 * libgomp.texi (omp_get_supported_active_levels): New.
2369 (omp_set_max_active_levels): Update. Add reference to
2370 omp_get_supported_active_levels.
2371 * omp.h.in (omp_get_supported_active_levels): New.
2372 * omp_lib.f90.in (omp_get_supported_active_levels): New.
2373 * omp_lib.h.in (omp_get_supported_active_levels): New.
2374 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
2375 against omp_get_supported_active_levels.
2376 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
2377
2baa36d4
GA
23782020-10-11 Clement Chigot <clement.chigot@atos.net>
2379
2380 * config/t-aix: Delete and recreate libgomp before creating
2381 FAT library.
2382
da9df699
GA
23832020-10-08 Tom de Vries <tdevries@suse.de>
2384
2385 PR libgomp/81802
2386 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
2387 dimensions.
2388
8e97b905
GA
23892020-10-06 Tom de Vries <tdevries@suse.de>
2390
2391 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
2392
23932020-10-06 Tom de Vries <tdevries@suse.de>
2394
2395 PR middle-end/90861
2396 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
2397
7e9282ae
GA
23982020-10-05 Tom de Vries <tdevries@suse.de>
2399
2400 PR fortran/95654
2401 * testsuite/libgomp.fortran/pr95654.f90: New test.
2402
b0b9b8f0
GA
24032020-10-02 Tobias Burnus <tobias@codesourcery.com>
2404
2405 * Makefile.in: Regenerate with automake 1.15.1.
2406 * aclocal.m4: Likewise.
2407 * configure: Likewise.
2408 * testsuite/Makefile.in: Likewise.
2409
660bfe61
GA
24102020-09-30 Andrew Stubbs <ams@codesourcery.com>
2411
2412 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
2413 and amdgcn targets.
2414
24152020-09-30 Tobias Burnus <tobias@codesourcery.com>
2416
2417 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
2418
93bca37c
GA
24192020-09-29 Andrew Stubbs <ams@codesourcery.com>
2420
2421 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
2422 total number of threads is one.
2423 (gomp_team_barrier_wake): Likewise.
2424 (gomp_team_barrier_wait_end): Likewise.
2425 (gomp_team_barrier_wait_cancel_end): Likewise.
2426 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
2427 (gomp_team_barrier_wake): Likewise.
2428 (gomp_team_barrier_wait_end): Likewise.
2429 (gomp_team_barrier_wait_cancel_end): Likewise.
2430 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
2431
e84761c6
GA
24322020-09-28 Tobias Burnus <tobias@codesourcery.com>
2433
2434 PR middle-end/96390
2435 * testsuite/libgomp.c++/pr96390.C: New test.
2436 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
2437
4383c595
GA
24382020-09-27 Clement Chigot <clement.chigot@atos.net>
2439
2440 * config/t-aix: Use $(AR) without -X32_64.
2441
cdd8f031
GA
24422020-09-25 Jakub Jelinek <jakub@redhat.com>
2443
2444 * testsuite/libgomp.c/loop-25.c: New test.
2445
521d2711
GA
24462020-09-22 Tobias Burnus <tobias@codesourcery.com>
2447
2448 PR fortran/95654
2449 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
2450
24512020-09-22 Tom de Vries <tdevries@suse.de>
2452
2453 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
2454 fails.
2455
ecde1b0a
GA
24562020-09-16 Nathan Sidwell <nathan@acm.org>
2457
2458 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
2459
9f7ab8c5
GA
24602020-09-15 Tobias Burnus <tobias@codesourcery.com>
2461
2462 PR fortran/96668
2463 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
2464
24652020-09-15 Tobias Burnus <tobias@codesourcery.com>
2466
2467 PR fortran/96668
2468 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
2469 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
2470 (gomp_map_vars_existing): Update call to it.
2471 (gomp_map_fields_existing): Likewise
2472 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
2473 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
2474 remapped.
2475 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
2476 GOMP_MAP_POINTER.
2477 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
2478 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
2479
50a71cd0
GA
24802020-09-14 Tom de Vries <tdevries@suse.de>
2481
2482 * config/nvptx/atomic.c: New file. Add
2483 __sync_val_compare_and_swap_16.
2484 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
2485 target offload_target_nvptx.
2486
31a05046
GA
24872020-09-08 Julian Brown <julian@codesourcery.com>
2488
2489 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
2490 iteration-ordering assumptions.
2491
24922020-09-08 Julian Brown <julian@codesourcery.com>
2493
2494 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
2495 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2496
5b9a3d2a
GA
24972020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
2498
2499 * plugin/plugin-nvptx.c (nvptx_free):
2500 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
2501 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
2502 comments.
2503
25042020-08-20 Tobias Burnus <tobias@codesourcery.com>
2505
2506 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
2507
b3cb5606
GA
25082020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
2509
2510 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
2511
25122020-08-13 Jakub Jelinek <jakub@redhat.com>
2513
2514 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
2515 * testsuite/libgomp.c/loop-23.c (main): Likewise.
2516 * testsuite/libgomp.c/loop-24.c: New test.
2517
bc0ca715
GA
25182020-08-08 Jakub Jelinek <jakub@redhat.com>
2519 Tobias Burnus <tobias@codesourcery.com>
2520
2521 PR fortran/93553
2522 * testsuite/libgomp.fortran/pr93553.f90: New test.
2523
aa5ea20c
GA
25242020-08-05 Jakub Jelinek <jakub@redhat.com>
2525
2526 * testsuite/libgomp.c/loop-22.c: New test.
2527 * testsuite/libgomp.c/loop-23.c: New test.
2528
25292020-08-05 Jakub Jelinek <jakub@redhat.com>
2530
2531 PR middle-end/96459
2532 * testsuite/libgomp.c/teams-3.c: New test.
2533 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
2534 if not defined yet.
2535 (N(test)): Use it before all N(f*) calls.
2536 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
2537 (main): Don't call all test_* functions from within
2538 #pragma omp teams reduction(|:err), call them directly.
2539
abba2591
GA
25402020-08-04 Tom de Vries <tdevries@suse.de>
2541
2542 PR target/96428
2543 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
2544 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
2545
6a1ad710
GA
25462020-08-03 Julian Brown <julian@codesourcery.com>
2547 Thomas Schwinge <thomas@codesourcery.com>
2548
2549 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
2550 shared-memory devices. Extend with further checking.
2551
25522020-08-03 Martin Jambor <mjambor@suse.cz>
2553
2554 * plugin/Makefrag.am: Remove configuration of HSA plugin.
2555 * aclocal.m4: Regenerated.
2556 * Makefile.in: Regenerated.
2557 * config.h.in: Regenerated.
2558 * configure: Regenerated.
2559 * plugin/configfrag.ac: Likewise.
2560 * plugin/hsa_ext_finalize.h: Removed.
2561 * plugin/plugin-hsa.c: Likewise.
2562 * testsuite/Makefile.in: Regenerated.
2563 * testsuite/lib/libgomp.exp
2564 (offload_target_to_openacc_device_type): Remove hsa case.
2565 (check_effective_target_hsa_offloading_selected_nocache): Removed
2566 (check_effective_target_hsa_offloading_selected): Likewise.
2567 (libgomp_init): Do not add -Wno-hsa to additional_flags.
2568 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
2569 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
2570 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
2571 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
2572 * testsuite/libgomp.hsa.c/c.exp: Likewise.
2573 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
2574 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
2575 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
2576 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
2577 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
2578 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
2579 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
2580 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
2581 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
2582 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
2583 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
2584 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
2585 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
2586 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
2587 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
2588 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
2589 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
2590 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
2591 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
2592
e71dab87
GA
25932020-07-27 Julian Brown <julian@codesourcery.com>
2594 Thomas Schwinge <thomas@codesourcery.com>
2595
2596 * libgomp.h (struct target_var_desc): Rename do_detach field to
2597 is_attach.
2598 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
2599 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
2600 (goacc_enter_data_internal): Don't affect reference counts
2601 for attach mappings.
2602 (goacc_exit_data_internal): Don't affect reference counts for detach
2603 mappings.
2604 * target.c (gomp_map_vars_existing): Don't affect reference counts for
2605 attach mappings.
2606 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
2607 mark attach mappings.
2608 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
2609 reference count for attach mappings.
2610 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
2611 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
2612 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
2613 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
2614 test as shouldfail.
2615 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
2616 gracefully in no-finalize mode.
2617 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
2618
53256ee3
GA
26192020-07-24 Thomas Schwinge <thomas@codesourcery.com>
2620
2621 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
2622 use.
2623 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2624 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2625
9bb403dc
GA
26262020-07-23 Julian Brown <julian@codesourcery.com>
2627 Thomas Schwinge <thomas@codesourcery.com>
2628
2629 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
2630 finalization for detach operation.
2631 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
2632 New test.
2633
26342020-07-23 Tobias Burnus <tobias@codesourcery.com>
2635
2636 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
2637 * libgomp_f.h.in (omp_check_defines): Check whether
2638 sizeof of determined Fortran kind and C typedef match.
2639 * omp_lib.f90.in: Add omp_depened_kind.
2640 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
2641 * configure: Regenerate.
2642 * Makefile.in: Regenerate.
2643 * testsuite/Makefile.in: Regenerate.
2644
3ea9abca
GA
26452020-07-22 Tobias Burnus <tobias@codesourcery.com>
2646
2647 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
2648 gcc/testsuite/c-c++-common/gomp/.
2649 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
2650 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
2651 from gcc/testsuite/gfortran.dg/gomp/.
2652 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
2653
26542020-07-22 Tobias Burnus <tobias@codesourcery.com>
2655
2656 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
2657 * omp_lib.h.in: Likewise.
2658
aeb34e15
GA
26592020-07-18 H.J. Lu <hjl.tools@gmail.com>
2660
2661 PR target/95620
2662 * testsuite/libgomp.c/pr95620.c: New test.
2663
96686b3f
GA
26642020-07-16 Julian Brown <julian@codesourcery.com>
2665 Thomas Schwinge <thomas@codesourcery.com>
2666
2667 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
2668 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
2669
fe8185b5
GA
26702020-07-15 Tobias Burnus <tobias@codesourcery.com>
2671
2672 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
2673 avoid conversion on 32bit systems from 32bit to 64bit due
2674 to -fdefault-integer-8.
2675
26762020-07-15 Tobias Burnus <tobias@codesourcery.com>
2677
2678 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
2679 variables; add character(kind=4) tests; update TODO comment.
2680
26812020-07-15 Tobias Burnus <tobias@codesourcery.com>
2682
2683 * allocator.c: Add ialias for omp_init_allocator and
2684 omp_destroy_allocator.
2685 * configure.ac: Set INTPTR_T_KIND.
2686 * configure: Regenerate.
2687 * Makefile.in: Regenerate.
2688 * testsuite/Makefile.in: Regenerate.
2689 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
2690 omp_set_default_allocator_, omp_get_default_allocator_): New
2691 functions and ialias_redirect.
2692 * icv.c: Add ialias for omp_set_default_allocator and
2693 omp_get_default_allocator.
2694 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
2695 omp_destroy_allocator_, omp_set_default_allocator_ and
2696 omp_get_default_allocator_.
2697 * omp_lib.f90.in: Add allocator traits parameters, declare
2698 allocator routines and add related kind parameters.
2699 * omp_lib.h.in: Likewise.
2700 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
2701 * testsuite/libgomp.fortran/alloc-1.F90: New test.
2702 * testsuite/libgomp.fortran/alloc-2.F90: New test.
2703 * testsuite/libgomp.fortran/alloc-3.F: New test.
2704 * testsuite/libgomp.fortran/alloc-4.f90: New test.
2705 * testsuite/libgomp.fortran/alloc-5.f90: New test.
2706
8ca07a30
GA
27072020-07-14 Tom de Vries <tom@codesourcery.com>
2708 Cesar Philippidis <cesar@codesourcery.com>
2709 Thomas Schwinge <thomas@codesourcery.com>
2710 Kwok Cheung Yeung <kcy@codesourcery.com>
2711
2712 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
2713 New variable.
2714 (acc_init_1): Set acc_init_thread to pthread_self (). Set
2715 acc_init_state to initializing at the start, and to initialized at the
2716 end.
2717 (self_initializing_p): New function.
2718 (acc_get_device_type): Return acc_device_none if called by thread that
2719 is currently executing acc_init_1.
2720 * libgomp.texi (acc_get_device_type): Update documentation.
2721 (Implementation Status and Implementation-Defined Behavior): Likewise.
2722 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
2723
27242020-07-14 David Edelsohn <dje.gcc@gmail.com>
2725
2726 * config/t-aix: Set BITS from compiler cpp macro.
2727
27282020-07-14 Tobias Burnus <tobias@codesourcery.com>
2729
2730 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
2731
27322020-07-14 Tobias Burnus <tobias@codesourcery.com>
2733
2734 PR fortran/67311
2735 * testsuite/libgomp.fortran/target-map-1.f90: New test.
2736
27372020-07-14 Jakub Jelinek <jakub@redhat.com>
2738
2739 * testsuite/libgomp.c/loop-21.c: New test.
2740
ea69fcf9
GA
27412020-07-13 Julian Brown <julian@codesourcery.com>
2742 Thomas Schwinge <thomas@codesourcery.com>
2743
2744 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
2745
86536295
GA
27462020-07-10 Julian Brown <julian@codesourcery.com>
2747 Thomas Schwinge <thomas@codesourcery.com>
2748
2749 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
2750 dynamic_refcount.
2751 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
2752 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
2753 dynamic_refcount.
2754 (acc_unmap_data): Update comment.
2755 (goacc_map_var_existing, goacc_enter_datum): Adjust for
2756 dynamic_refcount semantics.
2757 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
2758 Adjust for dynamic_refcount semantics.
2759 (goacc_enter_data_internal): Implement "present" case of dynamic
2760 memory-map handling here. Update "non-present" case for
2761 dynamic_refcount semantics.
2762 (goacc_exit_data_internal): Use goacc_exit_datum_1.
2763 * target.c (gomp_map_vars_internal): Remove
2764 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
2765 handling.
2766 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
2767 (gomp_load_image_to_device): Substitute dynamic_refcount for
2768 virtual_refcount.
2769 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
2770 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
2771 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
2772 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
2773 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
2774 trace output.
2775 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
2776 trace output.
2777 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
2778 test.
2779 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
2780 Remove stale comment.
2781 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
2782 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
2783 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2784 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2785 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2786 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
2787
27882020-07-10 Julian Brown <julian@codesourcery.com>
2789 Thomas Schwinge <thomas@codesourcery.com>
2790
2791 * oacc-mem.c (goacc_map_var_existing): New function.
2792 (goacc_enter_datum): Use above function.
2793 (goacc_exit_datum_1): New function.
2794 (goacc_exit_datum): Use above function.
2795
3f8ca9cb
GA
27962020-07-09 Julian Brown <julian@codesourcery.com>
2797 Thomas Schwinge <thomas@codesourcery.com>
2798
2799 PR middle-end/95270
2800 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
2801 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
2802
28032020-07-09 Julian Brown <julian@codesourcery.com>
2804
2805 * oacc-mem.c (find_group_last): Group data-movement clauses
2806 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
2807 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
2808
28092020-07-09 Jakub Jelinek <jakub@redhat.com>
2810
2811 * testsuite/libgomp.c/loop-19.c: New test.
2812 * testsuite/libgomp.c/loop-20.c: New test.
2813
28142020-07-09 Jakub Jelinek <jakub@redhat.com>
2815
2816 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
2817 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
2818 it. Remove __omp_alloctrait_value_max__.
2819 * allocator.c (omp_init_allocator): Handle omp_atv_default for
2820 omp_atk_alignment and omp_atk_pool_size.
2821
b991c834
GA
28222020-07-03 Thomas Schwinge <thomas@codesourcery.com>
2823
2824 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
2825 behavior for 'GOMP_MAP_FORCE_FROM'.
2826 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
2827
28282020-07-03 Thomas Schwinge <thomas@codesourcery.com>
2829
2830 * oacc-mem.c (goacc_exit_data_internal): Remove
2831 'GOMP_MAP_ALWAYS_FROM' handling.
2832
46fbb6c6
GA
28332020-06-30 Thomas Schwinge <thomas@codesourcery.com>
2834
2835 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
2836 'scan-assembler' with 'scan-offload-rtl'.
2837 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2838 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
2839 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
2840 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
2841
28422020-06-30 Thomas Schwinge <thomas@codesourcery.com>
2843
2844 * target.c (gomp_map_vars_existing): Assert 'kind !=
2845 GOMP_MAP_ATTACH'.
2846 (gomp_map_vars_internal): Clean up.
2847
9a33c41f
GA
28482020-06-27 Jakub Jelinek <jakub@redhat.com>
2849
2850 * testsuite/libgomp.c/loop-17.c: New test.
2851 * testsuite/libgomp.c/loop-18.c: New test.
2852
c9c05f73
GA
28532020-06-26 Marek Polacek <polacek@redhat.com>
2854
2855 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
2856
4543acc8
GA
28572020-06-23 Alexandre Oliva <oliva@adacore.com>
2858
2859 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
2860 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
2861
605a8f3b
GA
28622020-06-22 David Edelsohn <dje.gcc@gmail.com>
2863
2864 * Makefile.am: Use -include.
2865 * Makefile.in: Regenerate.
2866
f86e11a2
GA
28672020-06-21 David Edelsohn <dje.gcc@gmail.com>
2868
2869 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
2870 * Makefile.in: Regenerate
2871 * configure.ac (tmake_file): Substitute.
2872 * configure: Regenerate.
2873 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
2874 * config/t-aix: New file.
2875
aff95ee7
GA
28762020-06-17 Thomas Schwinge <thomas@codesourcery.com>
2877
2878 PR lto/94848
2879 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
2880 'dg-do run'.
2881
28822020-06-17 Andrew Stubbs <ams@codesourcery.com>
2883
2884 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
2885 variant for HSA_RUNTIME_LIB name.
2886 (find_executable_symbol_1): Delete.
2887 (find_executable_symbol): Delete.
2888 (init_kernel_properties): Add ".kd" suffix to symbol names.
2889 (find_load_offset): Delete.
2890 (create_and_finalize_hsa_program): Remove relocation handling.
2891
56638b9b
GA
28922020-06-16 Tobias Burnus <tobias@codesourcery.com>
2893
2894 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
2895
2c455ae0
GA
28962020-06-08 Tobias Burnus <tobias@codesourcery.com>
2897
2898 PR lto/94848
2899 PR middle-end/95551
2900 * testsuite/libgomp.fortran/target-var.f90: New test.
2901
1a59f3db
GA
29022020-06-05 Thomas Schwinge <thomas@codesourcery.com>
2903 Julian Brown <julian@codesourcery.com>
2904
2905 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
2906 special handling.
2907
29082020-06-05 Thomas Schwinge <thomas@codesourcery.com>
2909 Julian Brown <julian@codesourcery.com>
2910
2911 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2912 Simplify.
2913
29142020-06-05 Julian Brown <julian@codesourcery.com>
2915
2916 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
2917 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
2918
3add3425
GA
29192020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2920
2921 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2922 Evaluate 'copyfrom' individually for each entry.
2923 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
2924
29252020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2926
2927 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2928 Evaluate 'finalize' individually for each entry.
2929 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
2930 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
2931 file.
2932
29332020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2934
2935 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
2936 usage.
2937 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
2938
29392020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2940 Julian Brown <julian@codesourcery.com>
2941
2942 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
2943 checking.
2944 (acc_unmap_data, goacc_exit_data_internal): Restore
2945 'is_tgt_unmapped' checking.
2946 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
2947 file.
2948 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
2949 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
2950 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2951 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2952 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2953 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
2954
29552020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2956 Julian Brown <julian@codesourcery.com>
2957
2958 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
2959
29602020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2961
2962 PR libgomp/92854
2963 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
2964
29652020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2966
2967 PR libgomp/92854
2968 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
2969 more.
2970
29712020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2972 Julian Brown <julian@codesourcery.com>
2973
2974 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
2975 'gomp_map_vars'.
2976 (acc_map_data): Clean up accordingly.
2977
29782020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2979
2980 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
2981 of over-eager 'finalize' clause.
2982 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
2983 file.
2984 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
2985 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
2986 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2987 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2988 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2989 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
2990 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
2991 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
2992
29932020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2994
2995 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
2996
29972020-06-04 Julian Brown <julian@codesourcery.com>
2998
2999 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
3000 error path.
3001 (goacc_detach_internal): Likewise.
3002
30032020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3004
3005 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
3006 the checkpoint.
3007 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3008 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3009 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3010 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3011 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3012
a9312a79
GA
30132020-06-02 Jakub Jelinek <jakub@redhat.com>
3014
3015 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
3016 defined.
3017
945b53cc
GA
30182020-05-30 Jakub Jelinek <jakub@redhat.com>
3019
3020 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
3021
30222020-05-30 Jakub Jelinek <jakub@redhat.com>
3023
3024 * allocator.c (omp_alloc): For size == 0, return NULL early.
3025
885ef72f
GA
30262020-05-29 H.J. Lu <hjl.tools@gmail.com>
3027
3028 PR bootstrap/95413
3029 * configure: Regenerated.
3030
8df7ee67
TK
30312020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
3032
3033 PR libfortran/95191
3034 * testsuite/libgomp.fortran/async_io_9.f90: New test.
3035
800bcc8c
JJ
30362020-05-19 Jakub Jelinek <jakub@redhat.com>
3037
3038 * omp.h.in (omp_uintptr_t): New typedef.
3039 (__GOMP_UINTPTR_T_ENUM): Define.
3040 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
3041 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
3042 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
3043 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
3044 omp_get_default_allocator, omp_alloc, omp_free): Declare.
3045 * libgomp.h (struct gomp_team_state): Add def_allocator field.
3046 (gomp_def_allocator): Declare.
3047 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
3048 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
3049 omp_alloc and omp_free.
3050 * team.c (gomp_team_start): Copy over ts.def_allocator.
3051 * env.c (gomp_def_allocator): New variable.
3052 (parse_wait_policy): Adjust function comment.
3053 (parse_allocator): New function.
3054 (handle_omp_display_env): Print OMP_ALLOCATOR.
3055 (initialize_env): Call parse_allocator.
3056 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
3057 * allocator.c: New file.
3058 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
3059 functions.
3060 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
3061 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
3062 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
3063 * Makefile.in: Regenerated.
3064
4c1a5d8b
L
30652020-05-15 H.J. Lu <hongjiu.lu@intel.com>
3066
3067 PR bootstrap/95147
3068 * configure: Regenerated.
3069
cdc34b50
TK
30702020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
3071
3072 PR libfortran/95119
3073 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
3074
30752020-05-14 H.J. Lu <hongjiu.lu@intel.com>
3076
3077 * configure: Regenerated.
3078
30792020-05-14 Jakub Jelinek <jakub@redhat.com>
3080
3081 * testsuite/libgomp.c-c++-common/target-40.c: New test.
3082
f884bef2
TB
30832020-05-13 Tobias Burnus <tobias@codesourcery.com>
3084
3085 PR fortran/94690
3086 * testsuite/libgomp.fortran/pr66199-3.f90: New.
3087 * testsuite/libgomp.fortran/pr66199-4.f90: New.
3088 * testsuite/libgomp.fortran/pr66199-5.f90: New.
3089 * testsuite/libgomp.fortran/pr66199-6.f90: New.
3090 * testsuite/libgomp.fortran/pr66199-7.f90: New.
3091 * testsuite/libgomp.fortran/pr66199-8.f90: New.
3092 * testsuite/libgomp.fortran/pr66199-9.f90: New.
3093
dc703151
JJ
30942020-05-12 Jakub Jelinek <jakub@redhat.com>
3095
3096 * testsuite/libgomp.c/target-39.c: New test.
3097
b9dc11b6
TS
30982020-04-29 Thomas Schwinge <thomas@codesourcery.com>
3099
a5d0bc12
TS
3100 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
3101 * openacc.f90 (acc_device_current): Likewise.
3102 * openacc.h (acc_device_current): Likewise.
3103 * openacc_lib.h (acc_device_current): Likewise.
3104
7f198924
TS
3105 PR target/94282
3106 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
3107 'dg-allow-blank-lines-in-output'.
3108
4912a04f
TS
3109 * oacc-init.c (get_openacc_name): Handle 'gcn'.
3110 * testsuite/lib/libgomp.exp
3111 (offload_target_to_openacc_device_type) [amdgcn*]: Return
3112 'radeon'. Adjust all users.
3113 (check_effective_target_openacc_amdgcn_accel_present): Rename
3114 to...
3115 (check_effective_target_openacc_radeon_accel_present): ... this.
3116 Adjust all users.
3117 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
3118 (check_effective_target_openacc_radeon_accel_selected): ... this.
3119 Adjust all users.
3120
b9dc11b6
TS
3121 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
3122 'dg-do run'.
3123
966de09b
AS
31242020-04-23 Andrew Stubbs <ams@codesourcery.com>
3125
3126 PR other/94629
3127
3128 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
3129 hsa_iterate_agents.
3130 (GOMP_OFFLOAD_init_device): Check return values from both calls to
3131 hsa_agent_iterate_regions.
3132
3f5d94c1
TS
31332020-04-20 Thomas Schwinge <thomas@codesourcery.com>
3134
3135 PR middle-end/94635
3136 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
3137 run'.
3138
85d8c05a
TB
31392020-04-20 Tobias Burnus <tobias@codesourcery.com>
3140
3141 PR middle-end/94120
3142 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
3143 test case.
3144
af557050
TB
31452020-04-17 Tobias Burnus <tobias@codesourcery.com>
3146
3147 PR middle-end/94635
3148 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
3149
af4c9257
TS
31502020-04-13 Thomas Schwinge <thomas@codesourcery.com>
3151
3152 PR libgomp/92843
3153 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
3154 Rename to...
3155 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
3156 ... this.
3157 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
3158 Rename to...
3159 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
3160 ... this.
3161 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
3162 Rename to...
3163 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
3164 ... this.
3165 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
3166 Rename to...
3167 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
3168 ... this.
3169 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
3170 Rename to...
3171 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
3172 ... this.
3173 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
3174 Rename to...
3175 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
3176 ... this.
3177 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
3178 Rename to...
3179 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
3180 ... this.
3181 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
3182 Rename to...
3183 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3184 ... this.
3185 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
3186 Rename to...
3187 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
3188 ... this.
3189 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
3190 Rename to...
3191 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
3192 ... this.
3193 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
3194 Rename to...
3195 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
3196 ... this.
3197 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
3198 Rename to...
3199 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
3200 ... this.
3201 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
3202 Rename to...
3203 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
3204 ... this.
3205 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
3206 Rename to...
3207 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
3208 ... this.
3209 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
3210 Rename to...
3211 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
3212 ... this.
3213 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
3214 Rename to...
3215 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
3216 ... this.
3217
be9862dd
JB
32182020-04-10 Julian Brown <julian@codesourcery.com>
3219 Thomas Schwinge <thomas@codesourcery.com>
3220
3221 PR libgomp/92843
3222 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
3223 New file.
3224 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
3225 Likewise.
3226 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
3227 Likewise.
3228 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
3229 Likewise.
3230 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
3231 Likewise.
3232 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
3233 Likewise.
3234 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
3235 Likewise.
3236 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
3237 Likewise.
3238 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
3239 Likewise.
3240 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
3241 Likewise.
3242 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
3243 Likewise.
3244 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
3245 Likewise.
3246 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
3247 Likewise.
3248 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
3249 Likewise.
3250 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
3251 Likewise.
3252 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
3253 Likewise.
3254
6b816a5f
TS
32552020-04-10 Thomas Schwinge <thomas@codesourcery.com>
3256
3257 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
3258 run'.
3259
13e41d8b
TB
32602020-04-08 Tobias Burnus <tobias@codesourcery.com>
3261
3262 PR middle-end/94120
3263 * libgomp.oacc-c++/declare-pr94120.C: New.
3264
749bd22d
MR
32652020-04-06 Maciej W. Rozycki <macro@wdc.com>
3266
3267 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
3268 files.
3269 * configure: Regenerate.
3270 * testsuite/libgomp-site-extra.exp.in: New file.
3271 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
3272 variable.
3273 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
3274 variable.
3275 * testsuite/Makefile.in: Regenerate.
3276
2b1e849b
TS
32772020-04-03 Thomas Schwinge <thomas@codesourcery.com>
3278
3279 PR tree-optimization/89713
3280 PR c/94392
3281 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
3282 'bar.sync'.
3283 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3284
689418b9
TB
32852020-03-31 Tobias Burnus <tobias@codesourcery.com>
3286
3287 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
3288 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
3289
c2211a60
TB
32902020-03-24 Tobias Burnus <tobias@codesourcery.com>
3291
3292 PR libgomp/81689
3293 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
3294
4897bb00
TB
32952020-03-20 Tobias Burnus <tobias@codesourcery.com>
3296
3297 PR libgomp/94251
3298 * target.c (gomp_load_image_to_device): Fix link
3299 variable handling.
3300
02f7334a
JJ
33012020-03-19 Jakub Jelinek <jakub@redhat.com>
3302
3303 PR c++/93931
3304 * testsuite/libgomp.c++/pr93931.C: New test.
3305
bb83e069
TB
33062020-03-19 Tobias Burnus <tobias@codesourcery.com>
3307
3308 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
3309 dg-allow-blank-lines-in-output.
3310
26cbcfe5
TB
33112020-03-18 Julian Brown <julian@codesourcery.com>
3312 Tobias Burnus <tobias@codesourcery.com>
3313
3314 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
3315 it work concurrently.
3316
4da92887
TB
33172020-03-18 Tobias Burnus <tobias@codesourcery.com>
3318
3319 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
3320 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
3321 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
3322
9c3cdb43
JJ
33232020-03-14 Jakub Jelinek <jakub@redhat.com>
3324
3325 PR middle-end/93566
3326 * testsuite/libgomp.c/pr93566.c: New test.
3327
83d45e1d
FH
33282020-02-21 Frederik Harwath <frederik@codesourcery.com>
3329
3330 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
3331 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
3332 integer(acc_device_property) for the type of the return value of
3333 acc_get_property.
3334
8d1a1cb1
TB
33352020-02-19 Tobias Burnus <tobias@codesourcery.com>
3336
3337 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
3338 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
3339 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
3340 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
3341 (acc_set_device_num): Fix Fortran argument name, use same name for C.
3342 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
3343 corrections; add note about the previous interface and named constant.
3344 (OpenACC library and environment variables): Fix two typos.
3345 * openacc.f90: Use for all procedures the argument names from the spec
3346 as for …_h they are user visible.
3347 (openacc_kinds): Rename acc_device_property to
3348 acc_device_property_kinds and change value to int32 ; and update users.
3349 Re-add acc_device_property for for backward compatibility.
3350 (acc_get_property_string_h): Clean up as acc_device_property_kind
3351 changed.
3352 (acc_get_property_h): Likewise and return c_size_t instead of
3353 acc_device_property.
3354 (openacc): Also export acc_device_property_kinds.
3355 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
3356 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
3357 handling; check against /= 0 instead of == 1 to match C.
3358 * openacc_lib.h: Use for all procedures the argument names from the spec
3359 as for …_h they are user visible. Place !GCC$ into the first column to
3360 be active also for fixed-form souce form.
3361 (acc_device_current, acc_device_property_kind, acc_device_property,
3362 acc_property_memory, acc_property_free_memory, acc_property_name,
3363 acc_property_vendor, acc_property_driver): New named constants.
3364 (acc_get_property, acc_get_property_string): New generic interface.
3365
2d9eb4e4
FH
33662020-02-13 Frederik Harwath <frederik@codesourcery.com>
3367
3368 PR libgomp/93481
3369 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
3370 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
3371 optional.
3372 (gomp_target_task_fn): Assert "devicep->async_run_func".
3373 (clear_unsupported_flags): New function to remove unsupported flags
3374 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
3375 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
3376 * testsuite/libgomp.c/target-33.c:
3377 Remove xfail for offload_target_nvptx.
3378 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
3379
33802020-02-10 Frederik Harwath <frederik@codesourcery.com>
3381
3382 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
3383 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
3384 * testsuite/libgomp.c/target-34.c: Likewise.
3385 * testsuite/libgomp.c/target-link-1.c: Add xfail for
3386 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
3387
9bc3b95d
JJ
33882020-02-09 Jakub Jelinek <jakub@redhat.com>
3389
3390 * testsuite/libgomp.c/target-38.c: New test.
3391
cb3f0648
JJ
33922020-02-06 Jakub Jelinek <jakub@redhat.com>
3393
3394 PR libgomp/93515
3395 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
3396
91bc3c98
TB
33972020-02-05 Tobias Burnus <tobias@codesourcery.com>
3398
3399 * testsuite/lib/libgomp.exp
3400 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
3401 and not as 'source' argument to libgomp_target_compile.
3402
591f869a
AS
34032020-02-03 Andrew Stubbs <ams@codesourcery.com>
3404
3405 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
3406 (gcn_gfx801_s): Remove.
3407 (isa_hsa_name): Remove gfx801.
3408 (isa_gcc_name): Remove gfx801/carizzo.
3409 (isa_code): Remove gfx801.
3410
e464fc90
TB
34112020-02-03 Julian Brown <julian@codesourcery.com>
3412 Tobias Burnus <tobias@codesourcery.com>
3413
3414 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
3415 and *_finalize variants; document acc_attach and acc_detach; update
3416 references from OpenACC 2.0 to 2.6.
3417 * openacc.f90 (openacc_version): Update to 201711.
3418 * openacc_lib.h (openacc_version): Update to 201711.
3419 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
3420 openacc_version to 201711.
3421 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3422
5a28e272
KCY
34232020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
3424
3425 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
3426 and vgpr_count fields.
3427 (struct kernel_info): Add a field for a hsa_kernel_description.
3428 (run_kernel): Reduce the number of threads/workers if the requested
3429 number would require too many VGPRs.
3430 (init_basic_kernel_info): Initialize description field with
3431 the hsa_kernel_description entry for the kernel.
3432
5ab5d81b
TB
34332020-01-29 Tobias Burnus <tobias@codesourcery.com>
3434
3435 PR bootstrap/93409
3436 * plugin/configfrag.ac (enable_offload_targets): Skip
3437 HSA and GCN plugin besides -m32 also for -mx32.
3438 * configure: Regenerate.
3439
989a5fb3
FH
34402020-01-29 Frederik Harwath <frederik@codesourcery.com>
3441
3442 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
3443
34442020-01-29 Frederik Harwath <frederik@codesourcery.com>
3445
3446 * plugin-gcn.c (struct agent_info): Add fields "name" and
3447 "vendor_name" ...
3448 (GOMP_OFFLOAD_init_device): ... and init from here.
3449 (struct hsa_context_info): Add field "driver_version_s" ...
3450 (init_hsa_contest): ... and init from here.
3451 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
3452 implementation.
3453 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
3454 Enable test execution for amdgcn and host offloading targets.
3455 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
3456 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
3457 (expect_device_properties): Split function into ...
3458 (expect_device_string_properties): ... this new function ...
3459 (expect_device_memory): ... and this new function.
3460 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
3461 Add test.
3462
278c3214
JB
34632020-01-28 Julian Brown <julian@codesourcery.com>
3464
3465 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
3466 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
3467 component/non-component variable refs in a single directive.
3468 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
3469
e8e66971
MR
34702020-01-24 Maciej W. Rozycki <macro@wdc.com>
3471
3472 * configure.ac: Handle `--with-toolexeclibdir='.
3473 * Makefile.in: Regenerate.
3474 * aclocal.m4: Regenerate.
3475 * configure: Regenerate.
3476 * testsuite/Makefile.in: Regenerate.
3477
9e424d97
FH
34782020-01-24 Frederik Harwath <frederik@codesourcery.com>
3479
3480 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
3481 (expect_device_properties): Remove "expected_free_mem" argument,
3482 change "expected_total_mem" argument type to size_t;
3483 change types of acc_get_property results to size_t,
3484 adapt format strings.
3485 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
3486 Use %zu instead of %zd to print size_t values.
3487 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
3488 rename to ...
3489 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
3490 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
3491 rename to ...
3492 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
3493
14e5e746
AS
34942020-01-23 Andrew Stubbs <ams@codesourcery.com>
3495
3496 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
3497 the device id.
3498
09e0ad62
AS
34992020-01-20 Andrew Stubbs <ams@codesourcery.com>
3500
3501 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
3502 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
3503 Adjust test dimensions for amdgcn.
3504 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
3505 gang/worker/vector expectations dynamically.
3506 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
3507 (main): Likewise.
3508 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
3509 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
3510 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
3511 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
3512 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
3513 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
3514 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
3515 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
3516 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
3517 (acc_gang): Recognise acc_device_radeon.
3518 (acc_worker): Likewise.
3519 (acc_vector): Likewise.
3520 (main): Set expectations for amdgcn.
3521 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
3522 (main): Adjust gang/worker/vector expectations dynamically.
3523 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
3524 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
3525 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
3526 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
3527 for amdgcn.
3528
6687d13a
AS
35292020-01-17 Andrew Stubbs <ams@codesourcery.com>
3530
3531 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
3532 acc_device_radeon.
3533 (openacc): Likewise.
3534 * openacc.f90 (openacc_kinds): Likewise.
3535 (openacc): Likewise.
3536 * openacc.h (acc_device_t): Likewise.
3537 * openacc_lib.h: Likewise.
3538 * testsuite/lib/libgomp.exp
3539 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
3540 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
3541 (cb_compute_construct_end): Likewise.
3542 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
3543 (cb_enqueue_launch_start): Likewise.
3544 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
3545 (cb_enter_data_end): Likewise.
3546 (cb_exit_data_start): Likewise.
3547 (cb_exit_data_end): Likewise.
3548 (cb_compute_construct_end): Likewise.
3549 (cb_enqueue_launch_start): Likewise.
3550 (cb_enqueue_launch_end): Likewise.
3551 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
3552 (main): Likewise.
3553
b3b75e66
TS
35542020-01-10 Thomas Schwinge <thomas@codesourcery.com>
3555
6fc0385c
TS
3556 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
3557 to use this instead of 'enum gomp_device_property'.
3558 (GOMP_OFFLOAD_get_property): Rename to...
3559 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
3560 * libgomp.h (struct gomp_device_descr): Move
3561 'GOMP_OFFLOAD_openacc_get_property'...
3562 (struct acc_dispatch_t): ... here. Adjust all users.
3563 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
3564
b3b75e66
TS
3565 * target.c (gomp_map_vars_internal)
3566 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
3567 paths.
3568
91df4397
JJ
35692020-01-10 Jakub Jelinek <jakub@redhat.com>
3570
3571 PR libgomp/93219
3572 * libgomp.h (gomp_print_string): Change return type from void to int.
3573 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
3574 not all characters have been written.
3575
df2c0d36
TB
35762020-01-08 Tobias Burnus <tobias@codesourcery.com>
3577
3578 * libgomp.texi: Fix typos, use https.
3579
f760c0c7
TB
35802020-01-03 Tobias Burnus <tobias@codesourcery.com>
3581
3582 * testsuite/libgomp.fortran/optional-map.f90: Add test for
3583 unallocated/disassociated actual arguments to nonallocatable/nonpointer
3584 dummy arguments; those are/shall be regarded as absent arguments.
3585 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
3586 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
3587
7e7065b9
JJ
35882020-01-01 Jakub Jelinek <jakub@redhat.com>
3589
8d9254fc
JJ
3590 Update copyright years.
3591
7e7065b9
JJ
3592 * libgomp.texi: Bump @copying's copyright year.
3593
2c829799
AM
35942019-12-31 Ayush Mittal <ayush.m@samsung.com>
3595
3596 PR libgomp/93065
3597 * oacc-init.c (goacc_runtime_deinitialize): New function.
3598
e9dcb75e
JJ
35992019-12-28 Jakub Jelinek <jakub@redhat.com>
3600
3601 PR bootstrap/93074
3602 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
3603 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
3604
6c84c8bf
MR
36052019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
3606 Frederik Harwath <frederik@codesourcery.com>
3607 Thomas Schwinge <tschwinge@codesourcery.com>
3608
3609 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
3610 * libgomp-plugin.h (gomp_device_property_value): New union.
3611 (gomp_device_property_value): New prototype.
3612 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
3613 constant.
3614 (acc_device_property_t): New enum.
3615 (acc_get_property, acc_get_property_string): New prototypes.
3616 * oacc-init.c (acc_get_device_type): Also assert that result
3617 is not `acc_device_current'.
3618 (get_property_any, acc_get_property, acc_get_property_string):
3619 New functions.
3620 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
3621 `acc_property_memory', `acc_property_free_memory',
3622 `acc_property_name', `acc_property_vendor' and
3623 `acc_property_driver' constants. Add `acc_device_property' data
3624 type.
3625 (openacc_internal): Add `acc_get_property' and
3626 `acc_get_property_string' interfaces. Add `acc_get_property_h',
3627 `acc_get_property_string_h', `acc_get_property_l' and
3628 `acc_get_property_string_l'.
3629 * oacc-host.c (host_get_property): New function.
3630 (host_dispatch): Wire it.
3631 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
3632 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
3633 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
3634 * libgomp.texi (OpenACC Runtime Library Routines): Add
3635 `acc_get_property'.
3636 (acc_get_property): New node.
3637 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
3638 function (stub).
3639 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
3640 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
3641 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
3642 calls.
3643 (GOMP_OFFLOAD_get_property): New function.
3644 (struct ptx_device): Add new field "name".
3645 (cuda_driver_version_s): Add new static variable ...
3646 (nvptx_init): ... and init from here.
3647
3648 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
3649 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
3650 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
3651 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
3652 with test helper functions.
3653
3654 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
3655
c8e759b4
MR
36562019-12-22 Maciej W. Rozycki <macro@wdc.com>
3657
3658 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
3659 variable.
3660
b092fb3b
TS
36612019-12-21 Thomas Schwinge <thomas@codesourcery.com>
3662
3663 * target.c (gomp_map_vars_internal): Restore 'omp declare target
3664 link' handling.
3665
9be3ac5d
JB
36662019-12-19 Julian Brown <julian@codesourcery.com>
3667
3668 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
3669 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
3670 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
3671
02817027
JB
36722019-12-19 Julian Brown <julian@codesourcery.com>
3673 Cesar Philippidis <cesar@codesourcery.com>
3674
3675 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
3676 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
3677 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
3678 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
3679 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
3680 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
3681 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
3682 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
3683 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
3684 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
3685 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
3686 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
3687 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
3688
c2eb021f
JB
36892019-12-19 Julian Brown <julian@codesourcery.com>
3690
3691 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
3692 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
3693 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
3694 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
3695 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
3696 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
3697 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
3698 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
3699 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
3700 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
3701 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
3702 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
3703
8e7e71ff
JB
37042019-12-19 Julian Brown <julian@codesourcery.com>
3705
3706 * libgomp.h (struct target_var_desc): Add do_detach flag.
3707 * oacc-init.c (acc_shutdown_1): Free aux block if present.
3708 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
3709 struct components. Tidy up and add some new checks.
3710 (goacc_enter_data_internal): Update call to find_group_last.
3711 (goacc_exit_data_internal): Support detach operations and
3712 GOMP_MAP_STRUCT.
3713 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
3714 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
3715 attach/detach in enter/exit data detection code.
3716 * target.c (gomp_map_vars_existing): Initialise do_detach field of
3717 tgt_var_desc.
3718 (gomp_map_vars_internal): Support attach.
3719 (gomp_unmap_vars_internal): Support detach.
3720
5d5be7bf
JB
37212019-12-19 Julian Brown <julian@codesourcery.com>
3722 Thomas Schwinge <thomas@codesourcery.com>
3723
3724 * libgomp.h (struct splay_tree_aux): Add attach_count field.
3725 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
3726 * libgomp.map (OACC_2.6): New section. Add acc_attach,
3727 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
3728 acc_detach_finalize_async.
3729 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
3730 acc_detach, acc_detach_async, acc_detach_finalize,
3731 acc_detach_finalize_async): New functions.
3732 * openacc.h (acc_attach, acc_attach_async, acc_detach,
3733 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
3734 prototypes.
3735 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
3736 (gomp_remove_var_internal): Free attachment counts if present.
3737 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
3738 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
3739
5bcd470b
JB
37402019-12-19 Julian Brown <julian@codesourcery.com>
3741 Cesar Philippidis <cesar@codesourcery.com>
3742
3743 * libgomp.h (gomp_map_val): Add prototype.
3744 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
3745 open-coding device-address calculation.
3746 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
3747 non-present case.
3748
378da98f
JB
37492019-12-19 Julian Brown <julian@codesourcery.com>
3750
3751 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
3752 field for virtual_refcount.
3753 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3754 (gomp_free_memmap): Remove prototype.
3755 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
3756 instead of calling gomp_free_memmap.
3757 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
3758 dynamic_refcount.
3759 (acc_unmap_data): Open code instead of forcing target_mem_desc's
3760 to_free field to NULL then calling gomp_unmap_vars. Handle
3761 REFCOUNT_INFINITY on target blocks.
3762 (goacc_enter_data): Rename to...
3763 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
3764 handling for mapping groups. Use virtual_refcount instead of
3765 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
3766 map_map_vars_async call. Re-do lookup for target pointer return value.
3767 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
3768 renamed goacc_enter_datum function.
3769 (goacc_exit_data): Rename to...
3770 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
3771 (acc_delete, acc_delete_async, acc_delete_finalize,
3772 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
3773 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
3774 goacc_exit_datum function.
3775 (gomp_acc_remove_pointer, find_pointer): Remove functions.
3776 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
3777 New functions.
3778 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
3779 goacc_exit_data_internal helper functions.
3780 * target.c (gomp_map_vars_internal): Handle
3781 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
3782 semantics.
3783 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
3784 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
3785 virtual_refcount field instead of dynamic_refcount.
3786 (gomp_free_memmap): Remove function.
3787 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
3788 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
3789 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
3790
2a656a93
JB
37912019-12-19 Julian Brown <julian@codesourcery.com>
3792 Thomas Schwinge <thomas@codesourcery.com>
3793
3794 * libgomp.h (struct splay_tree_aux): New.
3795 (struct splay_tree_key_s): Replace link_key field with aux pointer.
3796 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
3797 to aux struct.
3798 (gomp_remove_var_internal): Free aux block if present.
3799 (gomp_load_image_to_device): Zero-initialise aux field instead of
3800 link_key field.
3801 (omp_target_associate_pointer): Zero-initialise aux field.
3802
601399c0
JJ
38032019-12-18 Jakub Jelinek <jakub@redhat.com>
3804
3805 PR middle-end/86416
3806 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
3807 q or none.
3808 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
3809 L or none.
3810
a6163563
JB
38112019-12-19 Julian Brown <julian@codesourcery.com>
3812 Maciej W. Rozycki <macro@codesourcery.com>
3813 Tobias Burnus <tobias@codesourcery.com>
3814 Thomas Schwinge <thomas@codesourcery.com>
3815
3816 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
3817 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
3818 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
3819 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
3820 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
3821 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
3822 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
3823 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
3824 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
3825
6278b549
TS
38262019-12-18 Thomas Schwinge <thomas@codesourcery.com>
3827
77ce5555
TS
3828 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
3829 called...
3830 (goacc_insert_pointer): ... from here, "present" case.
3831 (goacc_insert_pointer): Inline function into...
3832 (GOACC_enter_exit_data): ... here, and simplify.
3833
9444a299
TS
3834 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
3835 called...
3836 (goacc_insert_pointer): ... from here, "not present" case.
3837
5031b619
TS
3838 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
3839 all users.
3840
1a79b578
TS
3841 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
3842 'goacc_enter_data', 'goacc_exit_data'.
3843
34cfe31e
TS
3844 * oacc-mem.c (delete_copyout): Refactor into...
3845 (goacc_exit_data): ... this. Adjust all users.
3846
aaf0e9d7
TS
3847 * oacc-mem.c (present_create_copy): Refactor into...
3848 (goacc_enter_data): ... this. Adjust all users.
3849
83d1d065
TS
3850 * target.c (gomp_unmap_vars_internal): Add a safeguard to
3851 'gomp_remove_var'.
3852
cc3f11f5
TS
3853 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
3854 like 'GOMP_MAP_FROM'.
3855
ddb25eb9
TS
3856 PR libgomp/92726
3857 PR libgomp/92970
3858 PR libgomp/92984
3859 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
3860 fails.
3861 (GOACC_enter_exit_data): Simplify accordingly.
3862 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
3863 subsuming...
3864 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
3865 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
3866 file.
3867 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
3868 subsuming...
3869 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
3870 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
3871 file.
3872 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
3873 subsuming...
3874 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
3875
32128577
TS
3876 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
3877 'finalize' handling.
3878
ba40277f
TS
3879 PR libgomp/92848
3880 * oacc-mem.c (acc_map_data, present_create_copy)
3881 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
3882 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
3883 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
3884 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
3885 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
3886 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
3887 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
3888 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
3889 Remove "XFAIL"s.
3890
6278b549
TS
3891 * target.c (gomp_unmap_tgt): Make it 'static'.
3892 * libgomp.h (gomp_unmap_tgt): Remove.
3893
c80c9e26
TB
38942019-12-18 Tobias Burnus <tobias@codesourcery.com>
3895
3896 PR middle-end/86416
3897 * testsuite/libgomp.c/pr86416-1.c: New.
3898 * testsuite/libgomp.c/pr86416-2.c: New.
3899
0b8499a4
TB
39002019-12-17 Tobias Burnus <tobias@codesourcery.com>
3901
3902 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
3903 all symbols as public except for the 'use …, only' imported symbol,
3904 which is private.
3905 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
3906 all symbols from module openacc_kinds as PUBLIC
3907 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
3908 fix comment typo.
3909 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
3910
1cbd94e8
JB
39112019-12-13 Julian Brown <julian@codesourcery.com>
3912
3913 PR libgomp/92881
3914
3915 * libgomp.h (gomp_remove_var_async): Add prototype.
3916 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
3917 gomp_remove_var.
3918 * target.c (gomp_unref_tgt): Change return type to bool, indicating
3919 whether target_mem_desc was unmapped.
3920 (gomp_unref_tgt_void): New.
3921 (gomp_remove_var): Reimplement in terms of...
3922 (gomp_remove_var_internal): ...this new helper function.
3923 (gomp_remove_var_async): New, implemented using above helper function.
3924 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
3925 gomp_unref_tgt.
3926
26b74ed0
AS
39272019-12-13 Andrew Stubbs <ams@codesourcery.com>
3928
3929 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
3930 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
3931 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
3932 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
3933 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
3934 Likewise.
3935 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
3936 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
3937
7858bb96
TB
39382019-12-13 Tobias Burnus <tobias@codesourcery.com>
3939
3940 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
3941 as public except for the 'use …, only' imported symbol, which is
3942 private.
3943 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
3944 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
3945 attributes for acc_copyout_finalize and acc_delete_finalize.
3946
f8ac7d8f
JJ
39472019-12-11 Jakub Jelinek <jakub@redhat.com>
3948
3949 PR fortran/92899
3950 * testsuite/libgomp.fortran/atomic1.f90: New test.
3951
3d1b5e71
TS
39522019-12-11 Thomas Schwinge <thomas@codesourcery.com>
3953
d6e8c01c
TS
3954 PR libgomp/92843
3955 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
3956 reference counting for structured 'REFCOUNT_INFINITY'. Add some
3957 assertions.
3958 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
3959 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
3960 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
3961 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
3962 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
3963
57963e39
TS
3964 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
3965 * oacc-mem.c: ... here.
3966 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
3967 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
3968 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
3969 Remove.
3970 * libgomp_g.h: Update.
3971
c5578b56
TS
3972 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
3973 * oacc-async.c: ... here.
3974 * oacc-int.h (goacc_wait): Declare.
3975 * libgomp_g.h: Update
3976
3d1b5e71
TS
3977 PR libgomp/92854
3978 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
3979 New file.
3980 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
3981 Likewise.
3982 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
3983 Likewise.
3984 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
3985 Likewise.
3986 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
3987 Likewise.
3988 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
3989 Likewise.
3990
5e939438
TS
39912019-12-11 Thomas Schwinge <thomas@codesourcery.com>
3992 Julian Brown <julian@codesourcery.com>
3993
3994 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
3995 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
3996
93d90219
TB
39972019-12-11 Tobias Burnus <tobias@codesourcery.com>
3998
3999 * omp_lib.h.in: Fix spelling of function declaration
4000 omp_get_cancell(l)ation.
4001 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
4002 Fix typos.
4003 * env.c: Fix comment typos.
4004 * oacc-host.c: Likewise.
4005 * ordered.c: Likewise.
4006 * task.c: Likewise.
4007 * team.c: Likewise.
4008 * config/gcn/task.c: Likewise.
4009 * config/gcn/team.c: Likewise.
4010 * config/nvptx/task.c: Likewise.
4011 * config/nvptx/team.c: Likewise.
4012 * plugin/plugin-gcn.c: Likewise.
4013 * testsuite/libgomp.fortran/jacobi.f: Likewise.
4014 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4015 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
4016
a0221aee
TB
40172019-12-11 Tobias Burnus <tobias@codesourcery.com>
4018
4019 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
4020 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
4021 unnecessary 'dg-additional-options "-w"'.
4022
47afc7b4
TS
40232019-12-09 Thomas Schwinge <thomas@codesourcery.com>
4024 Julian Brown <julian@codesourcery.com>
4025
4026 PR libgomp/92116
4027 PR libgomp/92877
4028
4029 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
4030 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
4031 Adjust all users.
4032 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4033 Remove XFAIL.
4034 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4035 Likewise.
4036 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
4037
b5859e40
TS
40382019-12-09 Thomas Schwinge <thomas@codesourcery.com>
4039
cec41816
TS
4040 PR libgomp/92503
4041 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
4042 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
4043 file.
4044 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
4045 Likewise.
4046 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
4047 Likewise.
4048 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
4049 Likewise.
4050 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4051 Likewise.
4052 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4053 Likewise.
4054 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4055 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4056 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4057 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4058 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4059 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4060 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4061 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4062 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4063 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4064
e103542b
TS
4065 PR libgomp/92840
4066 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
4067 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
4068 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
4069 New file.
4070 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
4071 Likewise.
4072 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
4073 Likewise.
4074 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4075 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
4076
41f36f22
TS
4077 PR libgomp/92511
4078 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
4079 this file...
4080 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
4081 this file...
4082 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
4083 file...
4084 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
4085 file...
4086 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4087 ... with their content moved into, and extended in this new file.
4088 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
4089 New file.
4090 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
4091 Likewise.
4092 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
4093 Likewise.
4094 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
4095 Likewise.
4096
6effebe1
TS
4097 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
4098
7d020473
TS
4099 PR libgomp/92854
4100 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
4101
1e1fb715
TS
4102 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
4103
b5859e40
TS
4104 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
4105
11586ed9
TB
41062019-12-09 Tobias Burnus <tobias@codesourcery.com>
4107
4108 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
4109 unique.
4110 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
4111 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4112 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
4113 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
4114 Ditto.
4115 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
4116 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
4117
3ad4a03a
KCY
41182019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
4119
4120 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
4121
6e4d01d6
TB
41222019-12-06 Tobias Burnus <tobias@codesourcery.com>
4123 Kwok Cheung Yeung <kcy@codesourcery.com>
4124
4125 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
4126 if input it a NULL pointer.
4127 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
4128 diagnostic of NULL pointer.
4129 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
4130 * testsuite/libgomp.fortran/optional-map.f90: New.
4131 * testsuite/libgomp.fortran/use_device_addr-1.f90
4132 (test_dummy_opt_callee_1_absent): New.
4133 (test_dummy_opt_call_1): Call it.
4134 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
4135 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
4136 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
4137 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
4138 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
4139 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
4140 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
4141 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
4142 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
4143 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
4144 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
4145 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
4146 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
4147 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
4148 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
4149 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
4150
ad80ec46
TB
41512019-12-05 Tobias Burnus <tobias@codesourcery.com>
4152
4153 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
4154 expect dg-output of 'Error termination.' for GCN.
4155 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4156 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4157
a8a5f4cc
JJ
41582019-12-04 Jakub Jelinek <jakub@redhat.com>
4159
4160 PR fortran/92756
4161 * testsuite/libgomp.fortran/teams1.f90: New test.
4162 * testsuite/libgomp.fortran/teams2.f90: New test.
4163
d8f0024b
FH
41642019-12-03 Frederik Harwath <frederik@codesourcery.com>
4165
4166 * oacc-init.c (acc_known_device_type): Add function.
4167 (unknown_device_type_error): Add function.
4168 (name_of_acc_device_t): Change to call unknown_device_type_error
4169 on unknown type.
4170 (resolve_device): Use acc_known_device_type.
4171 (acc_init): Fail if acc_device_t argument is not valid.
4172 (acc_shutdown): Likewise.
4173 (acc_get_num_devices): Likewise.
4174 (acc_set_device_type): Likewise.
4175 (acc_get_device_num): Likewise.
4176 (acc_set_device_num): Likewise.
4177 (acc_on_device): Add comment that argument validity is not checked.
4178
83caa34e
AS
41792019-12-03 Andrew Stubbs <ams@codesourcery.com>
4180
4181 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
4182 Recognize amdgcn.
4183 (check_effective_target_openacc_amdgcn_accel_present): New proc.
4184 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
4185 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
4186 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4187 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4188
00484365
SN
41892019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
4190
4191 PR libgomp/91938
4192 * configure.tgt: Avoid IE tls on *-*-musl*.
4193
9909a059
TB
41942019-11-29 Tobias Burnus <tobias@codesourcery.com>
4195
4196 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
4197 adding a common-block test case.
4198
b3f44388
JJ
41992019-11-29 Jakub Jelinek <jakub@redhat.com>
4200
4201 PR c++/60228
4202 * testsuite/libgomp.c++/udr-20.C: New test.
4203 * testsuite/libgomp.c++/udr-21.C: New test.
4204
b1a73b48
TS
42052019-11-27 Thomas Schwinge <thomas@codesourcery.com>
4206
4207 * testsuite/lib/libgomp.exp
4208 (check_effective_target_offload_target_nvptx): New proc.
4209 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
4210 'dg-skip-if'.
4211 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
4212 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
4213 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
4214
b8e72446
RO
42152019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4216
4217 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
4218 * testsuite/libgomp.c/pr39591-2.c: Likewise.
4219 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4220 * testsuite/libgomp.c/private-1.c: Likewise.
4221 * testsuite/libgomp.c/task-1.c: Likewise.
4222 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
4223
d88b27da
JB
42242019-11-20 Julian Brown <julian@codesourcery.com>
4225
4226 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
4227 aq->mutex here.
4228 (queue_push_launch): Lock aq->mutex before calling
4229 wait_for_queue_nonfull.
4230 (queue_push_callback): Likewise.
4231 (queue_push_asyncwait): Likewise.
4232 (queue_push_placeholder): Likewise.
4233
8d2f4ddf
JB
42342019-11-20 Julian Brown <julian@codesourcery.com>
4235
4236 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
4237 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
4238 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
4239 return code.
4240
e307b05f
JB
42412019-11-20 Julian Brown <julian@codesourcery.com>
4242
4243 PR libgomp/92511
4244
4245 * oacc-mem.c (present_create_copy): Fix device pointer return value in
4246 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
4247 in non-present/create case.
4248 (delete_copyout): Change error condition to fail only on copies outside
4249 of mapped block. Adjust error message accordingly.
4250 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
4251 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
4252 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
4253 message.
4254 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4255 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
4256 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4257
83115e9e
MR
42582019-11-20 Maciej W. Rozycki <macro@wdc.com>
4259
4260 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
4261 libatomic in build-tree testing.
4262
a1289887
MR
42632019-11-18 Maciej W. Rozycki <macro@wdc.com>
4264
4265 * testsuite/Makefile.in: Regenerate.
4266
8916ba87
AS
42672019-11-15 Andrew Stubbs <ams@codesourcery.com>
4268
4269 * testsuite/libgomp.c/target-print-1.c: New file.
4270 * testsuite/libgomp.fortran/target-print-1.f90: New file.
4271 * testsuite/libgomp.oacc-c/print-1.c: New file.
4272 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
4273
237957cc
AS
42742019-11-13 Andrew Stubbs <ams@codesourcery.com>
4275 Kwok Cheung Yeung <kcy@codesourcery.com>
4276 Julian Brown <julian@codesourcery.com>
4277 Tom de Vries <tom@codesourcery.com>
4278
4279 * plugin/Makefrag.am: Add amdgcn plugin support.
4280 * plugin/configfrag.ac: Likewise.
4281 * plugin/plugin-gcn.c: New file.
4282 * configure: Regenerate.
4283 * Makefile.in: Regenerate.
4284 * testsuite/Makefile.in: Regenerate.
4285
cee16451
AS
42862019-11-13 Andrew Stubbs <ams@codesourcery.com>
4287
4288 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
4289 and use team_malloc variants.
4290 (gomp_gcn_exit_kernel): Use team_free.
4291 * libgomp.h (TEAM_ARENA_SIZE): Define.
4292 (TEAM_ARENA_START): Define.
4293 (TEAM_ARENA_FREE): Define.
4294 (TEAM_ARENA_END): Define.
4295 (team_malloc): New function.
4296 (team_malloc_cleared): New function.
4297 (team_free): New function.
4298 * team.c (gomp_new_team): Initialize and use team_malloc.
4299 (free_team): Use team_free.
4300 (gomp_free_thread): Use team_free.
4301 (gomp_pause_host): Use team_free.
4302 * work.c (gomp_init_work_share): Use team_malloc.
4303 (gomp_fini_work_share): Use team_free.
4304
fa499995
AS
43052019-11-13 Andrew Stubbs <ams@codesourcery.com>
4306 Kwok Cheung Yeung <kcy@codesourcery.com>
4307 Julian Brown <julian@codesourcery.com>
4308 Tom de Vries <tom@codesourcery.com>
4309
4310 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
4311 * Makefile.in: Regenerate.
4312 * config.h.in (PLUGIN_GCN): Add new undef.
4313 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
4314 * config/gcn/affinity-fmt.c: New file.
4315 * config/gcn/bar.c: New file.
4316 * config/gcn/bar.h: New file.
4317 * config/gcn/doacross.h: New file.
4318 * config/gcn/icv-device.c: New file.
4319 * config/gcn/oacc-target.c: New file.
4320 * config/gcn/simple-bar.h: New file.
4321 * config/gcn/target.c: New file.
4322 * config/gcn/task.c: New file.
4323 * config/gcn/team.c: New file.
4324 * config/gcn/time.c: New file.
4325 * configure.ac: Add amdgcn*-*-*.
4326 * configure: Regenerate.
4327 * configure.tgt: Add amdgcn*-*-*.
4328 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
4329 * libgomp.h (gcn_thrs): Add amdgcn variant.
4330 (set_gcn_thrs): Likewise.
4331 (gomp_thread): Likewise.
4332 * oacc-int.h (goacc_thread): Likewise.
4333 * oacc-target.c: New file.
4334 * openacc.f90 (acc_device_gcn): New parameter.
4335 * openacc.h (acc_device_t): Add acc_device_gcn.
4336 * team.c (gomp_free_pool_helper): Add amdgcn support.
4337
d2903ce0
AS
43382019-11-13 Andrew Stubbs <ams@codesourcery.com>
4339 Julian Brown <julian@codesourcery.com>
4340
4341 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
4342 parameter.
4343 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
4344 queue constructor.
4345 * oacc-host.c (host_openacc_async_construct): Add device parameter.
4346 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
4347 device parameter.
4348
b3d14b3a
AS
43492019-11-13 Andrew Stubbs <ams@codesourcery.com>
4350
4351 * configure.tgt (nvptx*-*-*): Add "accel" directory.
4352 * config/nvptx/libgomp-plugin.c: Move ...
4353 * config/accel/libgomp-plugin.c: ... to here.
4354 * config/nvptx/lock.c: Move ...
4355 * config/accel/lock.c: ... to here.
4356 * config/nvptx/mutex.c: Move ...
4357 * config/accel/mutex.c: ... to here.
4358 * config/nvptx/mutex.h: Move ...
4359 * config/accel/mutex.h: ... to here.
4360 * config/nvptx/oacc-async.c: Move ...
4361 * config/accel/oacc-async.c: ... to here.
4362 * config/nvptx/oacc-cuda.c: Move ...
4363 * config/accel/oacc-cuda.c: ... to here.
4364 * config/nvptx/oacc-host.c: Move ...
4365 * config/accel/oacc-host.c: ... to here.
4366 * config/nvptx/oacc-init.c: Move ...
4367 * config/accel/oacc-init.c: ... to here.
4368 * config/nvptx/oacc-mem.c: Move ...
4369 * config/accel/oacc-mem.c: ... to here.
4370 * config/nvptx/oacc-plugin.c: Move ...
4371 * config/accel/oacc-plugin.c: ... to here.
4372 * config/nvptx/omp-lock.h: Move ...
4373 * config/accel/omp-lock.h: ... to here.
4374 * config/nvptx/openacc.f90: Move ...
4375 * config/accel/openacc.f90: ... to here.
4376 * config/nvptx/pool.h: Move ...
4377 * config/accel/pool.h: ... to here.
4378 * config/nvptx/proc.c: Move ...
4379 * config/accel/proc.c: ... to here.
4380 * config/nvptx/ptrlock.c: Move ...
4381 * config/accel/ptrlock.c: ... to here.
4382 * config/nvptx/ptrlock.h: Move ...
4383 * config/accel/ptrlock.h: ... to here.
4384 * config/nvptx/sem.c: Move ...
4385 * config/accel/sem.c: ... to here.
4386 * config/nvptx/sem.h: Move ...
4387 * config/accel/sem.h: ... to here.
4388 * config/nvptx/thread-stacksize.h: Move ...
4389 * config/accel/thread-stacksize.h: ... to here.
4390
62aee289
MR
43912019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
4392 Tobias Burnus <tobias@codesourcery.com>
4393 Frederik Harwath <frederik@codesourcery.com>
4394 Thomas Schwinge <thomas@codesourcery.com>
4395
4396 libgomp/
4397 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
4398 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
4399 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
4400
a2c26c50
TB
44012019-11-11 Tobias Burnus <tobias@codesourcery.com>
4402 Kwok Cheung Yeung <kcy@codesourcery.com>
4403
4404 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
4405 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
4406
6d4868f3
TS
44072019-11-11 Thomas Schwinge <thomas@codesourcery.com>
4408
bfa1837b
TS
4409 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
4410
6d4868f3
TS
4411 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
4412 run'.
4413 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
4414 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
4415
5d183d17
FH
44162019-11-06 Thomas Schwinge <thomas@codesourcery.com>
4417
4418 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
4419 Add expected warnings about missing reduction clauses.
4420 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4421 Likewise.
4422 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
4423 Likewise.
4424 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4425 Likewise.
4426
d8f03b03
TB
44272019-11-04 Tobias Burnus <tobias@codesourcery.com>
4428
4429 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
4430 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
4431 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
4432 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
4433 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
4434 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
4435
12fd2ec5
TB
44362019-11-04 Tobias Burnus <tobias@codesourcery.com>
4437
4438 PR fortran/92305
4439 * testsuite/libgomp.fortran/allocatable2.f90: Use
4440 unique numbers with 'stop'.
4441 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
4442 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
4443 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
4444 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
4445 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
4446
92e63bd2
TB
44472019-11-01 Tobias Burnus <tobias@codesourcery.com>
4448
4449 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
4450 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
4451 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
4452 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
4453 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
4454 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
4455
91ae0a46
TB
44562019-10-30 Tobias Burnus <tobias@codesourcery.com>
4457
4458 * testsuite/libgomp.fortran/target9.f90: New.
4459
c425e66b
TB
44602019-10-30 Tobias Burnus <tobias@codesourcery.com>
4461
4462 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
4463 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
4464 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
4465 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
4466 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
4467 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
4468 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
4469 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
4470 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
4471 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
4472 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
4473 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
4474 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
4475 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
4476 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
4477 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
4478 * testsuite/libgomp.fortran/associate1.f90: Ditto.
4479 * testsuite/libgomp.fortran/associate2.f90: Ditto.
4480 * testsuite/libgomp.fortran/associate3.f90: Ditto.
4481 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
4482 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
4483 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
4484 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
4485 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
4486 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
4487 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
4488 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
4489 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
4490 * testsuite/libgomp.fortran/character1.f90: Ditto.
4491 * testsuite/libgomp.fortran/character2.f90: Ditto.
4492 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
4493 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
4494 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
4495 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
4496 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
4497 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
4498 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
4499 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
4500 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
4501 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
4502 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
4503 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
4504 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
4505 * testsuite/libgomp.fortran/do1.f90: Ditto.
4506 * testsuite/libgomp.fortran/do2.f90: Ditto.
4507 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
4508 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
4509 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
4510 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
4511 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
4512 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
4513 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
4514 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
4515 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
4516 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
4517 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
4518 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
4519 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
4520 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
4521 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
4522 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
4523 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
4524 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
4525 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
4526 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
4527 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
4528 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
4529 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
4530 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
4531 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
4532 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
4533 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
4534 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
4535 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
4536 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
4537 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
4538 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
4539 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
4540 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
4541 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
4542 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
4543 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
4544 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
4545 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
4546 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
4547 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
4548 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
4549 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
4550 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
4551 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
4552 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
4553 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
4554 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
4555 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
4556 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
4557 * testsuite/libgomp.fortran/lib1.f90: Ditto.
4558 * testsuite/libgomp.fortran/lib4.f90: Ditto.
4559 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
4560 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
4561 * testsuite/libgomp.fortran/nested1.f90: Ditto.
4562 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
4563 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
4564 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
4565 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
4566 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
4567 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
4568 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4569 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
4570 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
4571 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
4572 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
4573 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
4574 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
4575 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
4576 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4577 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
4578 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4579 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
4580 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
4581 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
4582 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
4583 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
4584 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
4585 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
4586 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
4587 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
4588 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
4589 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
4590 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
4591 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
4592 * testsuite/libgomp.fortran/pr28390.f: Ditto.
4593 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
4594 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
4595 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
4596 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
4597 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
4598 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
4599 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
4600 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
4601 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
4602 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
4603 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
4604 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
4605 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
4606 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
4607 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
4608 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
4609 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
4610 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
4611 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
4612 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
4613 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
4614 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
4615 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
4616 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
4617 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
4618 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
4619 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
4620 * testsuite/libgomp.fortran/reference1.f90: Ditto.
4621 * testsuite/libgomp.fortran/reference2.f90: Ditto.
4622 * testsuite/libgomp.fortran/retval1.f90: Ditto.
4623 * testsuite/libgomp.fortran/retval2.f90: Ditto.
4624 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
4625 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
4626 * testsuite/libgomp.fortran/simd1.f90: Ditto.
4627 * testsuite/libgomp.fortran/simd2.f90: Ditto.
4628 * testsuite/libgomp.fortran/simd3.f90: Ditto.
4629 * testsuite/libgomp.fortran/simd4.f90: Ditto.
4630 * testsuite/libgomp.fortran/simd5.f90: Ditto.
4631 * testsuite/libgomp.fortran/simd6.f90: Ditto.
4632 * testsuite/libgomp.fortran/simd7.f90: Ditto.
4633 * testsuite/libgomp.fortran/stack.f90: Ditto.
4634 * testsuite/libgomp.fortran/strassen.f90: Ditto.
4635 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
4636 * testsuite/libgomp.fortran/tabs2.f: Ditto.
4637 * testsuite/libgomp.fortran/target1.f90: Ditto.
4638 * testsuite/libgomp.fortran/target2.f90: Ditto.
4639 * testsuite/libgomp.fortran/target3.f90: Ditto.
4640 * testsuite/libgomp.fortran/target4.f90: Ditto.
4641 * testsuite/libgomp.fortran/target5.f90: Ditto.
4642 * testsuite/libgomp.fortran/target6.f90: Ditto.
4643 * testsuite/libgomp.fortran/target7.f90: Ditto.
4644 * testsuite/libgomp.fortran/target8.f90: Ditto.
4645 * testsuite/libgomp.fortran/task1.f90: Ditto.
4646 * testsuite/libgomp.fortran/task2.f90: Ditto.
4647 * testsuite/libgomp.fortran/task3.f90: Ditto.
4648 * testsuite/libgomp.fortran/task4.f90: Ditto.
4649 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
4650 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
4651 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
4652 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
4653 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
4654 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
4655 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
4656 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
4657 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
4658 * testsuite/libgomp.fortran/udr1.f90: Ditto.
4659 * testsuite/libgomp.fortran/udr10.f90: Ditto.
4660 * testsuite/libgomp.fortran/udr11.f90: Ditto.
4661 * testsuite/libgomp.fortran/udr12.f90: Ditto.
4662 * testsuite/libgomp.fortran/udr13.f90: Ditto.
4663 * testsuite/libgomp.fortran/udr14.f90: Ditto.
4664 * testsuite/libgomp.fortran/udr15.f90: Ditto.
4665 * testsuite/libgomp.fortran/udr2.f90: Ditto.
4666 * testsuite/libgomp.fortran/udr3.f90: Ditto.
4667 * testsuite/libgomp.fortran/udr4.f90: Ditto.
4668 * testsuite/libgomp.fortran/udr5.f90: Ditto.
4669 * testsuite/libgomp.fortran/udr6.f90: Ditto.
4670 * testsuite/libgomp.fortran/udr7.f90: Ditto.
4671 * testsuite/libgomp.fortran/udr8.f90: Ditto.
4672 * testsuite/libgomp.fortran/udr9.f90: Ditto.
4673 * testsuite/libgomp.fortran/vla1.f90: Ditto.
4674 * testsuite/libgomp.fortran/vla2.f90: Ditto.
4675 * testsuite/libgomp.fortran/vla3.f90: Ditto.
4676 * testsuite/libgomp.fortran/vla4.f90: Ditto.
4677 * testsuite/libgomp.fortran/vla5.f90: Ditto.
4678 * testsuite/libgomp.fortran/vla6.f90: Ditto.
4679 * testsuite/libgomp.fortran/vla7.f90: Ditto.
4680 * testsuite/libgomp.fortran/vla8.f90: Ditto.
4681 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
4682 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
4683
01509e2f
TB
46842019-10-30 Tobias Burnus <tobias@codesourcery.com>
4685
4686 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
4687 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
4688 Ditto; add 'dg-do run' for torture testing.
4689 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
4690 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
4691 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
4692 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
4693 * testsuite/libgomp.fortran/pr28390.f: Ditto.
4694 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
4695 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
4696 * testsuite/libgomp.fortran/task2.f90: Ditto.
4697 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
4698 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
4699 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
4700 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
4701 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
4702 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
4703
ffbdd78a
TB
47042019-10-28 Tobias Burnus <tobias@codesourcery.com>
4705
4706 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
4707 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
4708 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
4709 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
4710 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
4711 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
4712 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
4713 Use 'stop' not abort().
4714 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
4715 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
4716 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
4717 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
4718 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
4719 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
4720 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
4721 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
4722 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
4723 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
4724 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
4725 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
4726 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
4727 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
4728 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
4729 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
4730 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
4731 Ditto.
4732 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4733 Ditto.
4734 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4735 Ditto.
4736 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4737 Ditto.
4738 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4739 Ditto.
4740 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
4741 Ditto.
4742 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
4743 Ditto.
4744 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
4745 Ditto.
4746 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
4747 Ditto.
4748 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
4749 Ditto.
4750 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
4751 Ditto.
4752 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
4753 Ditto.
4754 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
4755 Ditto.
4756 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
4757 Ditto.
4758 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
4759 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
4760 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
4761 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
4762 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
4763 Likewise and also add 'dg-do run'.
4764 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
4765 Ditto.
4766
ec084613
CP
47672019-10-25 Cesar Philippidis <cesar@codesourcery.com>
4768 Tobias Burnus <tobias@codesourcery.com>
4769
4770 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
4771 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
4772 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
4773
77ef3394
JJ
47742019-10-14 Jakub Jelinek <jakub@redhat.com>
4775
4776 PR libgomp/92081
4777 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
4778 than 0.
4779
08c14aaa
TB
47802019-10-11 Tobias Burnus <tobias@codesourcery.com>
4781
4782 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
4783 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
4784
6bbead0c
TS
47852019-10-09 Thomas Schwinge <thomas@codesourcery.com>
4786
4787 PR middle-end/92036
4788 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
4789 file.
4790
eba3dee8
TB
47912019-10-09 Tobias Burnus <tobias@codesourcery.com>
4792
4793 PR testsuite/91884
4794 * testsuite/libgomp.fortran/fortran.exp: Conditionally
4795 add -lquadmath.
4796 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
4797
7d48e14f
JJ
47982019-10-09 Jakub Jelinek <jakub@redhat.com>
4799
4800 PR libgomp/92028
4801 * target.c (gomp_map_vars_internal): Readd the previous
4802 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
4803 though do that just in the !not_found_cnt case.
4804
65b67cf3
TB
48052019-10-08 Tobias Burnus <tobias@codesourcery.com>
4806
4807 * gfortran.dg/gomp/target-simd.f90: New.
4808
6c7e076b
JB
48092019-10-02 Julian Brown <julian@codesourcery.com>
4810 Cesar Philippidis <cesar@codesourcery.com>
4811
4812 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
4813 * target.c (FIELD_TGT_EMPTY): Define.
4814 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
4815 as switch instead of list of ifs.
4816 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
4817
d61bff85
AT
48182019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
4819
4820 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
4821 include. Replace alloca () with __builtin_alloca ().
4822 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
4823
810f316d
JJ
48242019-10-01 Jakub Jelinek <jakub@redhat.com>
4825
4826 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
4827 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
4828 * oacc-parallel.c: Don't include "libgomp_g.h".
4829 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
4830 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
4831 * aclocal.m4: Regenerated.
4832 * config.h.in: Regenerated.
4833 * configure: Regenerated.
4834 * Makefile.in: Regenerated.
4835
d7f9ee98
KCY
48362019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4837
4838 * libgomp_g.h: Include stdint.h instead of gstdint.h.
4839
e9085da5
MR
48402019-09-27 Maciej W. Rozycki <macro@wdc.com>
4841
4842 * configure: Regenerate.
4843
c28712be
TB
48442019-09-13 Tobias Burnus <tobias@codesourcery.com>
4845
4846 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
4847 string is initialized.
4848
3c086f8d
FW
48492019-09-06 Florian Weimer <fweimer@redhat.com>
4850
4851 * configure: Regenerate.
4852
c6c2d1bc
CLT
48532019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
4854
4855 PR other/79543
4856 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
4857 scanning to conform to the GNU Coding Standards.
4858 * configure: Regenerate.
4859
5cb72d83
JJ
48602019-08-28 Jakub Jelinek <jakub@redhat.com>
4861
4862 PR libgomp/91530
4863 * testsuite/libgomp.c/scan-21.c: New test.
4864 * testsuite/libgomp.c/scan-22.c: New test.
4865
0ad7981c
JJ
48662019-08-27 Jakub Jelinek <jakub@redhat.com>
4867
4868 PR libgomp/91530
4869 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
4870 targets.
4871 * testsuite/libgomp.c/scan-12.c: Likewise.
4872 * testsuite/libgomp.c/scan-13.c: Likewise.
4873 * testsuite/libgomp.c/scan-14.c: Likewise.
4874 * testsuite/libgomp.c/scan-15.c: Likewise.
4875 * testsuite/libgomp.c/scan-16.c: Likewise.
4876 * testsuite/libgomp.c/scan-17.c: Likewise.
4877 * testsuite/libgomp.c/scan-18.c: Likewise.
4878 * testsuite/libgomp.c/scan-19.c: Likewise.
4879 * testsuite/libgomp.c/scan-20.c: Likewise.
4880 * testsuite/libgomp.c++/scan-9.C: Likewise.
4881 * testsuite/libgomp.c++/scan-10.C: Likewise.
4882 * testsuite/libgomp.c++/scan-11.C: Likewise.
4883 * testsuite/libgomp.c++/scan-12.C: Likewise.
4884 * testsuite/libgomp.c++/scan-14.C: Likewise.
4885 * testsuite/libgomp.c++/scan-15.C: Likewise.
4886 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
4887 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
4888 * testsuite/libgomp.c++/scan-16.C: Likewise.
4889
1e67491a
TK
48902019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
4891
4892 PR fortran/91473
4893 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
4894 -std=legacy so invalid code in the test case is accepted.
4895
393fdeb1
TK
48962019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
4897
4898 PR fortran/91422
4899 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
4900 dimension.
4901
8860d270
JJ
49022019-08-08 Jakub Jelinek <jakub@redhat.com>
4903
4904 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
4905 perform the lookup in the first loop only if !not_found_cnt, otherwise
4906 perform lookups for it in the second loop guarded with
4907 if (not_found_cnt || has_firstprivate).
4908 * testsuite/libgomp.c/target-37.c: New test.
4909 * testsuite/libgomp.c++/target-22.C: New test.
4910
398e3feb
JJ
49112019-08-07 Jakub Jelinek <jakub@redhat.com>
4912
4913 * testsuite/libgomp.c/target-18.c (struct S): New type.
4914 (foo): Use use_device_addr clause instead of use_device_ptr clause
4915 where required by OpenMP 5.0, add further tests for both use_device_ptr
4916 and use_device_addr clauses.
4917 * testsuite/libgomp.c++/target-9.C (struct S): New type.
4918 (foo): Use use_device_addr clause instead of use_device_ptr clause
4919 where required by OpenMP 5.0, add further tests for both use_device_ptr
4920 and use_device_addr clauses. Add t and u arguments.
4921 (main): Adjust caller.
4922
d81ab49d
JJ
49232019-08-06 Jakub Jelinek <jakub@redhat.com>
4924
4925 * testsuite/libgomp.c++/loop-13.C: New test.
4926 * testsuite/libgomp.c++/loop-14.C: New test.
4927 * testsuite/libgomp.c++/loop-15.C: New test.
4928
c3ac76aa
JJ
49292019-07-31 Jakub Jelinek <jakub@redhat.com>
4930
4931 PR middle-end/91301
4932 * testsuite/libgomp.c++/for-27.C: New test.
4933
8dc63166
SK
49342019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
4935
393fdeb1 4936 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 4937 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 4938
554a530f
JJ
49392019-07-20 Jakub Jelinek <jakub@redhat.com>
4940
4941 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
4942
6cda84b5
JJ
49432019-07-08 Jakub Jelinek <jakub@redhat.com>
4944
4945 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
4946 * testsuite/libgomp.c++/scan-16.C: Likewise.
4947
1f52d1a8
JJ
49482019-07-06 Jakub Jelinek <jakub@redhat.com>
4949
6f67abcd
JJ
4950 * testsuite/libgomp.c/scan-19.c: New test.
4951 * testsuite/libgomp.c/scan-20.c: New test.
4952
1f52d1a8
JJ
4953 * testsuite/libgomp.c/scan-11.c: New test.
4954 * testsuite/libgomp.c/scan-12.c: New test.
4955 * testsuite/libgomp.c/scan-13.c: New test.
4956 * testsuite/libgomp.c/scan-14.c: New test.
4957 * testsuite/libgomp.c/scan-15.c: New test.
4958 * testsuite/libgomp.c/scan-16.c: New test.
4959 * testsuite/libgomp.c/scan-17.c: New test.
4960 * testsuite/libgomp.c/scan-18.c: New test.
4961 * testsuite/libgomp.c++/scan-9.C: New test.
4962 * testsuite/libgomp.c++/scan-10.C: New test.
4963 * testsuite/libgomp.c++/scan-11.C: New test.
4964 * testsuite/libgomp.c++/scan-12.C: New test.
4965 * testsuite/libgomp.c++/scan-13.C: New test.
4966 * testsuite/libgomp.c++/scan-14.C: New test.
4967 * testsuite/libgomp.c++/scan-15.C: New test.
4968 * testsuite/libgomp.c++/scan-16.C: New test.
4969
2f03073f
JJ
49702019-07-04 Jakub Jelinek <jakub@redhat.com>
4971
4972 * testsuite/libgomp.c/scan-9.c: New test.
4973 * testsuite/libgomp.c/scan-10.c: New test.
4974
2f6bb511
JJ
49752019-07-03 Jakub Jelinek <jakub@redhat.com>
4976
4977 * testsuite/libgomp.c++/scan-1.C: New test.
4978 * testsuite/libgomp.c++/scan-2.C: New test.
4979 * testsuite/libgomp.c++/scan-3.C: New test.
4980 * testsuite/libgomp.c++/scan-4.C: New test.
4981 * testsuite/libgomp.c++/scan-5.C: New test.
4982 * testsuite/libgomp.c++/scan-6.C: New test.
4983 * testsuite/libgomp.c++/scan-7.C: New test.
4984 * testsuite/libgomp.c++/scan-8.C: New test.
4985 * testsuite/libgomp.c/scan-1.c: New test.
4986 * testsuite/libgomp.c/scan-2.c: New test.
4987 * testsuite/libgomp.c/scan-3.c: New test.
4988 * testsuite/libgomp.c/scan-4.c: New test.
4989 * testsuite/libgomp.c/scan-5.c: New test.
4990 * testsuite/libgomp.c/scan-6.c: New test.
4991 * testsuite/libgomp.c/scan-7.c: New test.
4992 * testsuite/libgomp.c/scan-8.c: New test.
4993
bd194a51
TS
49942019-06-18 Thomas Schwinge <thomas@codesourcery.com>
4995
85fca03a
TS
4996 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
4997 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
4998 Likewise.
4999
bd194a51
TS
5000 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
5001 check.
5002
6652161e
CP
50032019-06-18 Cesar Philippidis <cesar@codesourcery.com>
5004
5005 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
5006 file.
5007
3a37d6f6
TS
50082019-06-18 Thomas Schwinge <thomas@codesourcery.com>
5009
4017da8d
TS
5010 PR fortran/90743
5011 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
5012 case.
5013 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
5014 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
5015 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
5016 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
5017
6f7c1f65
TS
5018 PR testsuite/90861
5019 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
5020
3a37d6f6
TS
5021 PR middle-end/90862
5022 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
5023
f45ce17d
TV
50242019-06-16 Tom de Vries <tdevries@suse.de>
5025
5026 PR tree-optimization/89376
5027 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
5028
00908992
TV
50292019-06-15 Tom de Vries <tdevries@suse.de>
5030
5031 PR tree-optimization/89713
5032 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
5033 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
5034
211b7533
JJ
50352019-06-15 Jakub Jelinek <jakub@redhat.com>
5036
5037 PR middle-end/90779
5038 * testsuite/libgomp.c/pr90779.c: New test.
5039 * testsuite/libgomp.fortran/pr90779.f90: New test.
5040
120a01d1
TV
50412019-06-15 Tom de Vries <tdevries@suse.de>
5042
5043 PR tree-optimization/90009
5044 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
5045
c29c92c7
FX
50462019-06-13 Feng Xue <fxue@os.amperecomputing.com>
5047
5048 PR tree-optimization/89713
5049 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
5050
ce9c4ec3
JJ
50512019-06-11 Jakub Jelinek <jakub@redhat.com>
5052
5053 PR target/90811
5054 * testsuite/libgomp.c/pr90811.c: New test.
5055
28b3a77c
JJ
50562019-06-05 Jakub Jelinek <jakub@redhat.com>
5057
5058 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
5059 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
5060
7855700e
JJ
50612019-06-04 Jakub Jelinek <jakub@redhat.com>
5062
5063 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
5064 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
5065 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
5066 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
5067
a7155c2e
RO
50682019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5069
5070 * configure.ac: Call AX_COUNT_CPUS.
5071 Substitute CPU_COUNT.
5072 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
5073 count fallback.
5074 * aclocal.m4: Regenerate.
5075 * configure: Regenerate.
5076 * Makefile.in, testsuite/Makefile.in: Regenerate.
5077
7e47198b
JJ
50782019-05-29 Jakub Jelinek <jakub@redhat.com>
5079
5080 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
5081 to ...
5082 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
5083 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
5084 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
5085
fcfb8032
JJ
50862019-05-27 Jakub Jelinek <jakub@redhat.com>
5087
8e7757ba
JJ
5088 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
5089
36c7a3ff
JJ
5090 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
5091
fcfb8032
JJ
5092 PR libgomp/90641
5093 * work.c (gomp_init_work_share): Instead of aligning final ordered
5094 value to multiples of long long alignment, align to that the
5095 first part (ordered team ids) and if inline_ordered_team_ids
5096 is not on a long long alignment boundary within the structure,
5097 use __alignof__ (long long) - 1 pad size always.
5098 * loop.c (GOMP_loop_start): Fix *mem computation if
5099 inline_ordered_team_ids is not aligned on long long alignment boundary
5100 within the structure.
5101 * loop-ull.c (GOMP_loop_ull_start): Likewise.
5102 * sections.c (GOMP_sections2_start): Likewise.
5103
b5c26449
JJ
51042019-05-24 Jakub Jelinek <jakub@redhat.com>
5105
6c7ae8c5
JJ
5106 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
5107 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
5108
b5c26449
JJ
5109 PR libgomp/90585
5110 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
5111 HAVE_INTTYPES_H is defined.
5112 (print_uint64_t): New typedef.
5113 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
5114 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
5115 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
5116 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
5117 before casting to void *.
5118 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
5119 * oacc-mem.c: Don't include config.h nor stdint.h.
5120 * target.c: Don't include config.h.
5121 * oacc-cuda.c: Likewise.
5122 * oacc-host.c: Don't include stdint.h.
5123
3e03ed66
JJ
51242019-05-20 Jakub Jelinek <jakub@redhat.com>
5125
5126 PR libgomp/90527
5127 * alloc.c (_GNU_SOURCE): Define.
5128
5fae049d
TS
51292019-05-17 Thomas Schwinge <thomas@codesourcery.com>
5130
5131 * acc_prof.h: New file.
5132 * oacc-profiling.c: Likewise.
5133 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
5134 Add these, respectively.
5135 * Makefile.in: Regenerate.
5136 * env.c (initialize_env): Call goacc_profiling_initialize.
5137 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
5138 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
5139 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
5140 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
5141 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
5142 acc_prof_register, acc_prof_unregister, and acc_register_library.
5143 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
5144 GOMP_PLUGIN_goacc_thread.
5145 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
5146 prof_callbacks_enabled members.
5147 (goacc_prof_enabled, goacc_profiling_initialize)
5148 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
5149 (goacc_profiling_dispatch): Declare.
5150 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
5151 (GOACC_PROFILING_SETUP_P): Define.
5152 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
5153 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
5154 OpenACC Profiling Interface.
5155 * oacc-cuda.c (acc_get_current_cuda_device)
5156 (acc_get_current_cuda_context, acc_get_cuda_stream)
5157 (acc_set_cuda_stream): Likewise.
5158 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
5159 (acc_init, acc_set_device_type, acc_get_device_type)
5160 (acc_get_device_num, goacc_lazy_initialize): Likewise.
5161 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
5162 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
5163 (acc_unmap_data, present_create_copy, delete_copyout)
5164 (update_dev_host): Likewise.
5165 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
5166 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
5167 Likewise.
5168 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
5169 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
5170 Likewise.
5171 * libgomp.texi: Update.
5172 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
5173 file.
5174 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
5175 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5176 Likewise.
5177 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5178 Likewise.
5179 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
5180 Likewise.
5181 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
5182 Likewise.
5183
1f4c5b9b
CLT
51842019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
5185
5186 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
5187 (struct goacc_asyncqueue_list): Likewise.
5188 (goacc_aq): Likewise.
5189 (goacc_aq_list): Likewise.
5190 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
5191 (GOMP_OFFLOAD_openacc_async_test): Remove.
5192 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
5193 (GOMP_OFFLOAD_openacc_async_wait): Remove.
5194 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
5195 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
5196 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
5197 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
5198 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
5199 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
5200 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
5201 (GOMP_OFFLOAD_openacc_async_exec): Declare.
5202 (GOMP_OFFLOAD_openacc_async_construct): Declare.
5203 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
5204 (GOMP_OFFLOAD_openacc_async_test): Declare.
5205 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
5206 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
5207 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
5208 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
5209 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
5210
5211 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
5212 (gomp_acc_insert_pointer): Adjust declaration.
5213 (gomp_copy_host2dev): New declaration.
5214 (gomp_copy_dev2host): Likewise.
5215 (gomp_map_vars_async): Likewise.
5216 (gomp_unmap_tgt): Likewise.
5217 (gomp_unmap_vars_async): Likewise.
5218 (gomp_fini_device): Likewise.
5219
5220 * oacc-async.c (get_goacc_thread): New function.
5221 (get_goacc_thread_device): New function.
5222 (lookup_goacc_asyncqueue): New function.
5223 (get_goacc_asyncqueue): New function.
5224 (acc_async_test): Adjust code to use new async design.
5225 (acc_async_test_all): Likewise.
5226 (acc_wait): Likewise.
5227 (acc_wait_async): Likewise.
5228 (acc_wait_all): Likewise.
5229 (acc_wait_all_async): Likewise.
5230 (goacc_async_free): New function.
5231 (goacc_init_asyncqueues): Likewise.
5232 (goacc_fini_asyncqueues): Likewise.
5233 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
5234 design.
5235 (acc_set_cuda_stream): Likewise.
5236 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
5237 (host_openacc_register_async_cleanup): Remove.
5238 (host_openacc_async_exec): New function.
5239 (host_openacc_async_test): Adjust parameters.
5240 (host_openacc_async_test_all): Remove.
5241 (host_openacc_async_wait): Remove.
5242 (host_openacc_async_wait_async): Remove.
5243 (host_openacc_async_wait_all): Remove.
5244 (host_openacc_async_wait_all_async): Remove.
5245 (host_openacc_async_set_async): Remove.
5246 (host_openacc_async_synchronize): New function.
5247 (host_openacc_async_serialize): New function.
5248 (host_openacc_async_host2dev): New function.
5249 (host_openacc_async_dev2host): New function.
5250 (host_openacc_async_queue_callback): New function.
5251 (host_openacc_async_construct): New function.
5252 (host_openacc_async_destruct): New function.
5253 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 5254 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
5255 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
5256 (goacc_attach_host_thread_to_device): Remove old async code usage.
5257 * oacc-int.h (goacc_init_asyncqueues): New declaration.
5258 (goacc_fini_asyncqueues): Likewise.
5259 (goacc_async_copyout_unmap_vars): Likewise.
5260 (goacc_async_free): Likewise.
5261 (get_goacc_asyncqueue): Likewise.
5262 (lookup_goacc_asyncqueue): Likewise.
5263 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
5264 design.
5265 (present_create_copy): Adjust code to use new async design.
5266 (delete_copyout): Likewise.
5267 (update_dev_host): Likewise.
5268 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
5269 async design.
5270 (gomp_acc_remove_pointer): Adjust code to use new async design.
5271 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
5272 design.
5273 (GOACC_enter_exit_data): Likewise.
5274 (goacc_wait): Likewise.
5275 (GOACC_update): Likewise.
5276 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
5277 when called, warn as obsolete in comment.
5278 * target.c (goacc_device_copy_async): New function.
5279 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
5280 add goacc_device_copy_async case.
5281 (gomp_copy_dev2host): Likewise.
5282 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
5283 (gomp_map_pointer): Likewise.
5284 (gomp_map_fields_existing): Likewise.
5285 (gomp_map_vars_internal): New always_inline function, renamed from
5286 gomp_map_vars.
5287 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
5288 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
5289 passing goacc_asyncqueue argument.
5290 (gomp_unmap_tgt): Remove static, add attribute_hidden.
5291 (gomp_unref_tgt): New function.
5292 (gomp_unmap_vars_internal): New always_inline function, renamed from
5293 gomp_unmap_vars.
5294 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
5295 (gomp_unmap_vars_async): Implement by calling
5296 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
5297 (gomp_fini_device): New function.
5298 (gomp_exit_data): Adjust gomp_copy_dev2host call.
5299 (gomp_load_plugin_for_device): Remove old interface, adjust to load
5300 new async interface.
5301 (gomp_target_fini): Adjust code to call gomp_fini_device.
5302
5303 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
5304 (struct ptx_stream): Remove.
5305 (struct nvptx_thread): Remove current_stream field.
5306 (cuda_map_create): Remove.
5307 (cuda_map_destroy): Remove.
5308 (map_init): Remove.
5309 (map_fini): Remove.
5310 (map_pop): Remove.
5311 (map_push): Remove.
5312 (struct goacc_asyncqueue): Define.
5313 (struct nvptx_callback): Define.
5314 (struct ptx_free_block): Define.
5315 (struct ptx_device): Remove null_stream, active_streams, async_streams,
5316 stream_lock, and next fields.
5317 (enum ptx_event_type): Remove.
5318 (struct ptx_event): Remove.
5319 (ptx_event_lock): Remove.
5320 (ptx_events): Remove.
5321 (init_streams_for_device): Remove.
5322 (fini_streams_for_device): Remove.
5323 (select_stream_for_async): Remove.
5324 (nvptx_init): Remove ptx_events and ptx_event_lock references.
5325 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
5326 case.
5327 (nvptx_open_device): Add free_blocks initialization, remove
5328 init_streams_for_device call.
5329 (nvptx_close_device): Remove fini_streams_for_device call, add
5330 free_blocks destruct code.
5331 (event_gc): Remove.
5332 (event_add): Remove.
5333 (nvptx_exec): Adjust parameters and code.
5334 (nvptx_free): Likewise.
5335 (nvptx_host2dev): Remove.
5336 (nvptx_dev2host): Remove.
5337 (nvptx_set_async): Remove.
5338 (nvptx_async_test): Remove.
5339 (nvptx_async_test_all): Remove.
5340 (nvptx_wait): Remove.
5341 (nvptx_wait_async): Remove.
5342 (nvptx_wait_all): Remove.
5343 (nvptx_wait_all_async): Remove.
5344 (nvptx_get_cuda_stream): Remove.
5345 (nvptx_set_cuda_stream): Remove.
5346 (GOMP_OFFLOAD_alloc): Adjust code.
5347 (GOMP_OFFLOAD_free): Likewise.
5348 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
5349 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
5350 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
5351 (GOMP_OFFLOAD_openacc_async_wait): Remove.
5352 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
5353 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
5354 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
5355 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
5356 (cuda_free_argmem): New function.
5357 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
5358 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
5359 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
5360 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
5361 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
5362 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
5363 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
5364 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
5365 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
5366 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
5367 (cuda_callback_wrapper): New function.
5368 (cuda_memcpy_sanity_check): New function.
5369 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
5370 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
5371 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
5372 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
5373
da2d30c1
TS
53742019-05-07 Thomas Schwinge <thomas@codesourcery.com>
5375
5376 PR target/87835
5377 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
5378
2bbbfa4e
TS
53792019-05-06 Thomas Schwinge <thomas@codesourcery.com>
5380
5381 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
5382
bbf1efe1
KB
53832019-03-27 Kevin Buettner <kevinb@redhat.com>
5384
5385 * team.c (gomp_team_start): Initialize pool->threads[0].
5386
1241136c
TS
53872019-02-22 Thomas Schwinge <thomas@codesourcery.com>
5388
b03d721a
TS
5389 * testsuite/libgomp.oacc-c++/c++.exp: Specify
5390 "-foffload=$offload_target".
5391 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5392 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5393 * testsuite/lib/libgomp.exp
5394 (check_effective_target_openacc_nvidia_accel_configured): Remove,
5395 as (conceptually) merged into
5396 check_effective_target_openacc_nvidia_accel_selected. Adjust all
5397 users.
5398
0a0384b4
TS
5399 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
5400 * testsuite/libgomp-test-support.exp.in: Adjust.
5401 * testsuite/lib/libgomp.exp: Likewise. Don't populate
5402 openacc_device_types_s.
5403 (offload_target_to_openacc_device_type): New proc.
5404 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
5405 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5406 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5407 * Makefile.in: Regenerate.
5408 * configure: Likewise.
5409 * testsuite/Makefile.in: Likewise.
5410
ee332b4a
TS
5411 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
5412 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
5413 instead of OFFLOAD_TARGETS.
5414 * target.c (gomp_target_init): Adjust.
5415 * testsuite/libgomp-test-support.exp.in: Likewise.
5416 * testsuite/lib/libgomp.exp: Likewise. Populate
5417 openacc_device_types_s instead of offload_targets_s_openacc.
5418 (check_effective_target_openacc_nvidia_accel_selected)
5419 (check_effective_target_openacc_host_selected): Adjust.
5420 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
5421 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5422 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5423 * Makefile.in: Regenerate.
5424 * config.h.in: Likewise.
5425 * configure: Likewise.
5426 * testsuite/Makefile.in: Likewise.
5427
1241136c
TS
5428 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
5429 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
5430 "offloading: supported, but hardware not accessible".
5431 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5432 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5433
19695f4d
CLT
54342019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
5435
5436 PR c/87924
5437 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
5438 goacc_wait().
5439 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
5440 and related adjustment.
5441
8b44f8ec
JJ
54422019-01-30 Jakub Jelinek <jakub@redhat.com>
5443
5444 PR c++/88988
5445 * testsuite/libgomp.c++/pr88988.C: New test.
5446
be3a87e7
JJ
54472019-01-28 Jakub Jelinek <jakub@redhat.com>
5448
5449 PR middle-end/89002
5450 * testsuite/libgomp.c/pr89002.c: New test.
5451
497ef4d7
RB
54522019-01-28 Richard Biener <rguenther@suse.de>
5453
5454 PR testsuite/89064
5455 PR tree-optimization/86865
5456 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
5457
738c56d4
TV
54582019-01-24 Tom de Vries <tdevries@suse.de>
5459
5460 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
5461 once instantiated_devices drops to 0.
5462
4a75460b
TV
54632019-01-23 Tom de Vries <tdevries@suse.de>
5464
5465 PR target/PR88946
5466 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
5467 cuMemFree.
5468 (nvptx_exec): Don't call map_push if mapnum == 0.
5469 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
5470
4fef8e4d
TV
54712019-01-23 Tom de Vries <tdevries@suse.de>
5472
5473 PR target/88941
5474 PR target/88939
5475 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
5476 (map_fini): Remove "assert (!s->map->active)".
5477 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
5478
2ee6cb22
TV
54792019-01-23 Tom de Vries <tdevries@suse.de>
5480
5481 PR target/87835
5482 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
5483 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
5484
d41d952c
TV
54852019-01-15 Tom de Vries <tdevries@suse.de>
5486
5487 PR target/80547
5488 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
5489 New test.
5490
efb56ae8
TV
54912019-01-12 Tom de Vries <tdevries@suse.de>
5492
5493 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
5494 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
5495 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
5496 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
5497
2c2ff168
TV
54982019-01-12 Tom de Vries <tdevries@suse.de>
5499
5500 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
5501
a1057758
TV
55022019-01-12 Tom de Vries <tdevries@suse.de>
5503
5504 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
5505 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
5506 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
5507
56314b77
TV
55082019-01-12 Tom de Vries <tdevries@suse.de>
5509
5510 PR target/85486
5511 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
5512 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
5513
b39e4366
TV
55142019-01-12 Tom de Vries <tdevries@suse.de>
5515
5516 PR target/85381
5517 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
5518 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
5519
2cb7a501
TV
55202019-01-12 Tom de Vries <tdevries@suse.de>
5521
5522 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
5523 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
5524 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
5525
8e77f71e
TV
55262019-01-12 Tom de Vries <tdevries@suse.de>
5527
5528 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
5529 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
5530 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
5531
52d22ece
TV
55322019-01-12 Tom de Vries <tdevries@suse.de>
5533
5534 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
5535 resources diagnostic.
5536
2b9d9e39
TV
55372019-01-12 Tom de Vries <tdevries@suse.de>
5538
5539 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
5540 vector length to be 128.
5541 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
5542 length 2097152 to be reduced to 1024 instead of 32.
5543
4102bda6
TS
55442019-01-11 Thomas Schwinge <thomas@codesourcery.com>
5545 James Norris <jnorris@codesourcery.com>
5546
5547 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
5548 Library Routines", and "Environment Variables".
5549
052aaace
TV
55502019-01-11 Tom de Vries <tdevries@suse.de>
5551
5552 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
5553 num_workers 16.
5554
9390f916
TV
55552019-01-11 Tom de Vries <tdevries@suse.de>
5556
5557 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
5558 -foffload=-w.
5559 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
5560 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
5561 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
5562 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
5563
2c3e7ad2
TV
55642019-01-11 Tom de Vries <tdevries@suse.de>
5565
5566 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
5567 test.
5568
e222497d
NS
55692019-01-10 Nathan Sidwell <nathan@acm.org>
5570 Julian Brown <julian@codesourcery.com>
5571
5572 PR lto/71959
5573 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
5574 * testsuite/libgomp.oacc-c++/pr71959.C: New.
5575
cb87fec3
SH
55762019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5577
5578 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
5579 and paste code.
5580
30b4d0d0
SH
55812019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5582
5583 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
5584 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
5585 write.
5586
5d0bc70a
TV
55872019-01-09 Tom de Vries <tdevries@suse.de>
5588
5589 PR target/88756
5590 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
5591 #define instead of "const int".
5592 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
5593 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
5594 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
5595 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
5596
2c372e81
TV
55972019-01-09 Tom de Vries <tdevries@suse.de>
5598
5599 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
5600 one worker.
5601
43493c97
TV
56022019-01-07 Tom de Vries <tdevries@suse.de>
5603
5604 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
5605 GOMP_OPENACC_DIM argument.
5606
5c571497
TV
56072019-01-03 Tom de Vries <tdevries@suse.de>
5608
5609 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
5610 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
5611
a5544970
JJ
56122019-01-01 Jakub Jelinek <jakub@redhat.com>
5613
5614 Update copyright years.
5615
3f27508c
JJ
56162019-01-01 Jakub Jelinek <jakub@redhat.com>
5617
5618 * libgomp.texi: Bump @copying's copyright year.
5619
59d5960c
TS
56202018-12-28 Thomas Schwinge <thomas@codesourcery.com>
5621
5622 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
5623 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
5624 (GOACC_declare): Redefine the "device" argument to "flags".
5625
a44c1790
TS
56262018-12-28 Thomas Schwinge <thomas@codesourcery.com>
5627 Cesar Philippidis <cesar@codesourcery.com>
5628
5629 * target.c (struct gomp_coalesce_chunk): New structure.
5630 (struct gomp_coalesce_buf): Update the chunks member to use that
5631 type. Adjust all users.
5632
a152954e
TV
56332018-12-19 Tom de Vries <tdevries@suse.de>
5634
5635 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
5636 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
5637 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
5638
49188cd1
TV
56392018-12-19 Tom de Vries <tdevries@suse.de>
5640
5641 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
5642 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
5643 gcc/testsuite/gcc.dg/goacc.
5644 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
5645
c759830b
TS
56462018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5647 Chung-Lin Tang <cltang@codesourcery.com>
5648
5649 * oacc-mem.c (acc_present_or_create): Remove definition and change
5650 to alias of acc_create.
5651 (acc_present_or_copyin): Remove definition and change to alias of
5652 acc_copyin.
5653 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
5654 of acc_present_or_create.
5655 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
5656 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5657 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5658 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5659 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5660 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5661 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5662 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5663 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5664 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5665 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5666 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5667 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5668 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5669 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5670 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5671
7de562ee
TS
56722018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5673
f847198e
TS
5674 PR libgomp/88495
5675 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
5676 "identical parameters".
5677 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
5678 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
5679
c8ab8aab
TS
5680 PR libgomp/88484
5681 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
5682 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
5683
1404af62
TS
5684 PR libgomp/88407
5685 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
5686 (nvptx_wait_async): Unseen async-argument is a no-op.
5687 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
5688 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
5689 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5690 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5691 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
5692 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
5693 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
5694 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
5695 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
5696
7de562ee
TS
5697 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
5698 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5699
17469af7
CLT
57002018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
5701
5702 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
5703 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5704 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5705
18c247cc
TS
57062018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5707
5708 PR libgomp/88370
5709 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
5710 (acc_set_cuda_stream): Clarify.
5711 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
5712 "async_valid_p".
5713 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
5714 acc_async_sync".
5715 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
5716 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
5717 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
5718 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5719
b0aba46c
TV
57202018-12-14 Tom de Vries <tdevries@suse.de>
5721
5722 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
5723 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
5724 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
5725 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
5726 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
5727
fe0827ee
TV
57282018-12-13 Tom de Vries <tdevries@suse.de>
5729
5730 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
5731 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
5732 * fortran.c (omp_display_affinity_): ... here.
5733 * libgomp.h (gomp_print_string): Declare.
5734 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
5735 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
5736 write.
5737
a51f8c92
JJ
57382018-12-13 Jakub Jelinek <jakub@redhat.com>
5739
5740 PR libgomp/88460
5741 * testsuite/libgomp.c++/for-24.C (results): Include it in
5742 omp declare target region.
5743 (main): Use map (always, tofrom: results) instead of
5744 map (tofrom: results).
5745
a6ef2ac9
JJ
57462018-12-12 Jakub Jelinek <jakub@redhat.com>
5747
7a289b7d
JJ
5748 PR fortran/88463
5749 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
5750 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
5751
a6ef2ac9
JJ
5752 * testsuite/libgomp.c-c++-common/for-16.c: New test.
5753
9c47a019
AS
57542018-12-12 Andreas Schwab <schwab@suse.de>
5755
5756 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
5757 clobbered.
5758
d0cbb206
TK
57592018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
5760
5761 PR fortran/88411
5762 * testsuite/libgomp.fortran/async_io_8.f90: New test.
5763
84ca08d2
TS
57642018-12-09 Thomas Schwinge <thomas@codesourcery.com>
5765 Jakub Jelinek <jakub@redhat.com>
5766
5767 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
5768 devicep->host2dev_func.
5769
6997628d
JJ
57702018-12-08 Jakub Jelinek <jakub@redhat.com>
5771
5772 PR libgomp/87995
5773 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
5774 tls_runtime effective target.
5775 (t): New threadprivate variable.
5776 (main): Set t in threads which execute iterations of the worksharing
5777 loop. Propagate that to the task after the loop and don't abort
5778 if the current taskgroup hasn't been cancelled.
5779
daa8c1d7
JJ
57802018-12-02 Jakub Jelinek <jakub@redhat.com>
5781
4a82df9a
JJ
5782 * testsuite/libgomp.c/task-reduction-3.c: New test.
5783
daa8c1d7
JJ
5784 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
5785
fe570ff8
CP
57862018-11-30 Cesar Philippidis <cesar@codesourcery.com>
5787
5788 PR libgomp/88288
5789 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
5790 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
5791
c223608f
TS
57922018-11-30 Thomas Schwinge <thomas@codesourcery.com>
5793
5794 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
5795
fc60283c
RB
57962018-10-19 Richard Biener <rguenther@suse.de>
5797
5798 PR tree-optimization/88182
5799 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
5800
ffcf3b79
JJ
58012018-11-26 Jakub Jelinek <jakub@redhat.com>
5802
5803 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
5804 (RUNTEST): Don't define.
5805 (RUNTESTDEFAULTFLAGS): Add.
5806 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
5807 (distclean-am): Depend on distclean-DEJAGNU.
5808 (check-am): If -j% option is present in MFLAGS and if
5809 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
5810 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
5811 * testsuite/Makefile.in: Regenerated.
5812
ef6e6914
RB
58132018-11-26 Richard Biener <rguenther@suse.de>
5814
5815 PR tree-optimization/88182
5816 * testsuite/libgomp.c++/pr88182.C: New testcase.
5817
72d3bb76
JJ
58182018-11-20 Jakub Jelinek <jakub@redhat.com>
5819
5820 PR bootstrap/88106
5821 * config/mingw32/affinity-fmt.c: New file.
5822
207286c3
JJ
58232018-11-09 Jakub Jelinek <jakub@redhat.com>
5824
9666c522
JJ
5825 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
5826 (gomp_display_affinity): Use __builtin_choose_expr to handle
5827 properly handle argument having integral, or pointer or some other
5828 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
5829 with uint64_t type instead of %llx and unsigned long long.
5830
207286c3
JJ
5831 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
5832 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
5833
2033f45b
RO
58342018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5835
5836 * affinity.c: Include <string.h>, <stdio.h>.
5837 (gomp_display_affinity_place): Remove cpusetp.
5838 * teams.c: Include <limits.h>.
5839
28567c40
JJ
58402018-11-08 Jakub Jelinek <jakub@redhat.com>
5841
8991d779
JJ
5842 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
5843 in_reduction clause for s[0].
5844
28567c40
JJ
5845 * affinity.c (gomp_display_affinity_place): New function.
5846 * affinity-fmt.c: New file.
5847 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
5848 * config/linux/affinity.c (gomp_display_affinity_place): New function.
5849 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
5850 Move these functions to ...
5851 * config/nvptx/teams.c: ... here. New file.
5852 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
5853 New functions.
5854 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
5855 functions.
5856 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
5857 and _aligned_malloc.
5858 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
5859 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
5860 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
5861 gomp_affinity_format_len): New variables.
5862 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
5863 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
5864 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
5865 modifiers. Display (non-default) chunk sizes. Print
5866 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
5867 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
5868 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
5869 * fortran.c: Include stdio.h and string.h.
5870 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
5871 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
5872 (omp_set_affinity_format_, omp_get_affinity_format_,
5873 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
5874 omp_pause_resource_all_): New functions.
5875 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
5876 switch.
5877 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
5878 functions to ...
5879 * teams.c: ... here. New file.
5880 * libgomp_g.h: Include gstdint.h.
5881 (GOMP_loop_nonmonotonic_runtime_start,
5882 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
5883 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
5884 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
5885 GOMP_parallel_loop_nonmonotonic_runtime,
5886 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5887 GOMP_loop_ull_nonmonotonic_runtime_start,
5888 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
5889 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
5890 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5891 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
5892 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
5893 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5894 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
5895 GOMP_teams_reg): Declare.
5896 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
5897 gomp_aligned_alloc uses fallback implementation.
5898 (gomp_aligned_alloc, gomp_aligned_free): Declare.
5899 (enum gomp_schedule_type): Add GFS_MONOTONIC.
5900 (struct gomp_doacross_work_share): Add extra field.
5901 (struct gomp_work_share): Add task_reductions field.
5902 (struct gomp_taskgroup): Add workshare and reductions fields.
5903 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
5904 (gomp_thread_handle): New typedef.
5905 (gomp_display_affinity_place, gomp_set_affinity_format,
5906 gomp_display_string, gomp_display_affinity,
5907 gomp_display_affinity_thread): Declare.
5908 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
5909 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
5910 gomp_workshare_task_reduction_register): Declare.
5911 (gomp_team_start): Add taskgroup argument.
5912 (gomp_pause_host): Declare.
5913 (gomp_init_work_share, gomp_work_share_start): Change bool argument
5914 to size_t.
5915 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
5916 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
5917 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
5918 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
5919 GOMP_loop_ull_doacross_start,
5920 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
5921 GOMP_loop_maybe_nonmonotonic_runtime_next,
5922 GOMP_loop_maybe_nonmonotonic_runtime_start,
5923 GOMP_loop_nonmonotonic_runtime_next,
5924 GOMP_loop_nonmonotonic_runtime_start,
5925 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5926 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
5927 GOMP_loop_ull_nonmonotonic_runtime_next,
5928 GOMP_loop_ull_nonmonotonic_runtime_start,
5929 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5930 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
5931 GOMP_taskgroup_reduction_register,
5932 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5933 GOMP_teams_reg and GOMP_taskwait_depend.
5934 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
5935 omp_{capture,display}_affinity{,_}, and
5936 omp_[gs]et_affinity_format{,_}.
5937 * loop.c: Include string.h.
5938 (GOMP_loop_runtime_next): Add ialias.
5939 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
5940 (gomp_loop_static_start, gomp_loop_dynamic_start,
5941 gomp_loop_guided_start, gomp_loop_ordered_static_start,
5942 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
5943 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
5944 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
5945 or gomp_doacross_init callers.
5946 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
5947 GOMP_loop_doacross_start): New functions.
5948 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
5949 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
5950 Mask off GFS_MONOTONIC bit.
5951 (GOMP_loop_maybe_nonmonotonic_runtime_next,
5952 GOMP_loop_maybe_nonmonotonic_runtime_start,
5953 GOMP_loop_nonmonotonic_runtime_next,
5954 GOMP_loop_nonmonotonic_runtime_start,
5955 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5956 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
5957 functions.
5958 (gomp_parallel_loop_start): Pass NULL as taskgroup to
5959 gomp_team_start.
5960 * loop_ull.c: Include string.h.
5961 (GOMP_loop_ull_runtime_next): Add ialias.
5962 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
5963 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
5964 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
5965 gomp_loop_ull_ordered_dynamic_start,
5966 gomp_loop_ull_ordered_guided_start,
5967 gomp_loop_ull_doacross_static_start,
5968 gomp_loop_ull_doacross_dynamic_start,
5969 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
5970 and gomp_doacross_ull_init callers.
5971 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
5972 GOMP_loop_ull_doacross_start): New functions.
5973 (GOMP_loop_ull_runtime_start,
5974 GOMP_loop_ull_ordered_runtime_start,
5975 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
5976 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5977 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
5978 GOMP_loop_ull_nonmonotonic_runtime_next,
5979 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
5980 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
5981 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
5982 (omp_pause_resource_t, omp_depend_t): New typedefs.
5983 (enum omp_lock_hint_t): Renamed to ...
5984 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
5985 enumerators using numbers and omp_lock_hint_* as their aliases.
5986 (omp_lock_hint_t): New typedef. Rename to ...
5987 (omp_sync_hint_t): ... this.
5988 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
5989 omp_sync_hint_t instead of omp_lock_hint_t.
5990 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5991 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5992 Declare.
5993 (omp_target_is_present, omp_target_disassociate_ptr):
5994 Change first argument from void * to const void *.
5995 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
5996 from void * to const void *.
5997 (omp_target_associate_ptr): Change first and second arguments from
5998 void * to const void *.
5999 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
6000 omp_pause_hard): New parameters.
6001 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6002 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6003 New interfaces.
6004 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
6005 omp_pause_hard): New parameters.
6006 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6007 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6008 New externals.
6009 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
6010 EXTRA argument. If not needed to prepare array, if extra is 0,
6011 clear ws->doacross, otherwise allocate just doacross structure and
6012 extra payload. If array is needed, allocate also extra payload.
6013 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
6014 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
6015 doacross == NULL.
6016 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
6017 gomp_team_start.
6018 (GOMP_parallel): Likewise. Formatting fix.
6019 (GOMP_parallel_reductions): New function.
6020 (GOMP_cancellation_point): If taskgroup has workshare
6021 flag set, check cancelled of prev taskgroup if any.
6022 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
6023 on prev taskgroup if any.
6024 * sections.c: Include string.h.
6025 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6026 (GOMP_sections_start): Adjust gomp_work_share_start caller.
6027 (GOMP_sections2_start): New function.
6028 (GOMP_parallel_sections_start, GOMP_parallel_sections):
6029 Pass NULL as taskgroup to gomp_team_start.
6030 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
6031 gomp_work_share_start callers.
6032 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
6033 If taskgroup has workshare flag set, check cancelled on prev
6034 taskgroup if any. Guard all cancellation tests with
6035 gomp_cancel_var test.
6036 (omp_target_is_present, omp_target_disassociate_ptr):
6037 Change ptr argument from void * to const void *.
6038 (omp_target_memcpy): Change src argument from void * to const void *.
6039 (omp_target_memcpy_rect): Likewise.
6040 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
6041 instead of char * where needed.
6042 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
6043 from void * to const void *.
6044 (omp_pause_resource, omp_pause_resource_all): New functions.
6045 * task.c (gomp_task_handle_depend): Handle new depend array format
6046 in addition to the old. Handle mutexinoutset kinds the same as
6047 inout for now, handle unspecified kinds.
6048 (gomp_create_target_task): If taskgroup has workshare flag set, check
6049 cancelled on prev taskgroup if any. Guard all cancellation tests with
6050 gomp_cancel_var test. Handle new depend array format count in
6051 addition to the old.
6052 (GOMP_task): Likewise. Adjust function comment.
6053 (gomp_task_run_pre): If taskgroup has workshare flag set, check
6054 cancelled on prev taskgroup if any. Guard all cancellation tests with
6055 gomp_cancel_var test.
6056 (GOMP_taskwait_depend): New function.
6057 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
6058 format in addition to the old. Handle mutexinoutset kinds the same as
6059 inout for now, handle unspecified kinds. Fix a function comment typo.
6060 (gomp_taskgroup_init): New function.
6061 (GOMP_taskgroup_start): Use it.
6062 (gomp_reduction_register, gomp_create_artificial_team,
6063 GOMP_taskgroup_reduction_register,
6064 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6065 gomp_parallel_reduction_register,
6066 gomp_workshare_task_reduction_register,
6067 gomp_workshare_taskgroup_start,
6068 GOMP_workshare_task_reduction_unregister): New functions.
6069 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
6070 check cancelled on prev taskgroup if any. Guard all cancellation
6071 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
6072 by calling GOMP_taskgroup_reduction_register.
6073 * team.c (gomp_thread_attr): Remove comment.
6074 (struct gomp_thread_start_data): Add handle field.
6075 (gomp_thread_start): Call pthread_detach.
6076 (gomp_new_team): Adjust gomp_init_work_share caller.
6077 (gomp_free_pool_helper): Call pthread_detach.
6078 (gomp_team_start): Add taskgroup argument, initialize implicit
6079 tasks' taskgroup field to that. Don't call
6080 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
6081 (gomp_team_end): Determine nesting by thr->ts.level != 0
6082 rather than thr->ts.team != NULL.
6083 (gomp_pause_pool_helper, gomp_pause_host): New functions.
6084 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
6085 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
6086 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
6087 if more than 1 allocate also extra payload at the end of array. Never
6088 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
6089 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
6090 return true instead of ws.
6091 * Makefile.in: Regenerated.
6092 * configure: Regenerated.
6093 * config.h.in: Regenerated.
6094 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
6095 in some cases.
6096 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
6097 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
6098 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
6099 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
6100 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
6101 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
6102 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
6103 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
6104 * testsuite/libgomp.c-c++-common/for-10.c: New test.
6105 * testsuite/libgomp.c-c++-common/for-11.c: New test.
6106 * testsuite/libgomp.c-c++-common/for-12.c: New test.
6107 * testsuite/libgomp.c-c++-common/for-13.c: New test.
6108 * testsuite/libgomp.c-c++-common/for-14.c: New test.
6109 * testsuite/libgomp.c-c++-common/for-15.c: New test.
6110 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
6111 define a different N(test), don't define N(f0) to N(f14), but instead
6112 define N(f20) to N(f34) using != comparisons.
6113 * testsuite/libgomp.c-c++-common/for-7.c: New test.
6114 * testsuite/libgomp.c-c++-common/for-8.c: New test.
6115 * testsuite/libgomp.c-c++-common/for-9.c: New test.
6116 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
6117 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
6118 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
6119 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
6120 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
6121 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
6122 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
6123 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
6124 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
6125 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
6126 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
6127 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
6128 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
6129 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
6130 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
6131 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
6132 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
6133 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
6134 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
6135 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
6136 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
6137 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
6138 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
6139 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
6140 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
6141 * testsuite/libgomp.c++/depend-1.C: New test.
6142 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
6143 * testsuite/libgomp.c++/depobj-1.C: New test.
6144 * testsuite/libgomp.c++/for-16.C: New test.
6145 * testsuite/libgomp.c++/for-21.C: New test.
6146 * testsuite/libgomp.c++/for-22.C: New test.
6147 * testsuite/libgomp.c++/for-23.C: New test.
6148 * testsuite/libgomp.c++/for-24.C: New test.
6149 * testsuite/libgomp.c++/for-25.C: New test.
6150 * testsuite/libgomp.c++/for-26.C: New test.
6151 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
6152 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
6153 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
6154 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
6155 * testsuite/libgomp.c++/task-reduction-10.C: New test.
6156 * testsuite/libgomp.c++/task-reduction-11.C: New test.
6157 * testsuite/libgomp.c++/task-reduction-12.C: New test.
6158 * testsuite/libgomp.c++/task-reduction-13.C: New test.
6159 * testsuite/libgomp.c++/task-reduction-14.C: New test.
6160 * testsuite/libgomp.c++/task-reduction-15.C: New test.
6161 * testsuite/libgomp.c++/task-reduction-16.C: New test.
6162 * testsuite/libgomp.c++/task-reduction-17.C: New test.
6163 * testsuite/libgomp.c++/task-reduction-18.C: New test.
6164 * testsuite/libgomp.c++/task-reduction-19.C: New test.
6165 * testsuite/libgomp.c/task-reduction-1.c: New test.
6166 * testsuite/libgomp.c++/task-reduction-1.C: New test.
6167 * testsuite/libgomp.c/task-reduction-2.c: New test.
6168 * testsuite/libgomp.c++/task-reduction-2.C: New test.
6169 * testsuite/libgomp.c++/task-reduction-3.C: New test.
6170 * testsuite/libgomp.c++/task-reduction-4.C: New test.
6171 * testsuite/libgomp.c++/task-reduction-5.C: New test.
6172 * testsuite/libgomp.c++/task-reduction-6.C: New test.
6173 * testsuite/libgomp.c++/task-reduction-7.C: New test.
6174 * testsuite/libgomp.c++/task-reduction-8.C: New test.
6175 * testsuite/libgomp.c++/task-reduction-9.C: New test.
6176 * testsuite/libgomp.c/teams-1.c: New test.
6177 * testsuite/libgomp.c/teams-2.c: New test.
6178 * testsuite/libgomp.c/thread-limit-4.c: New test.
6179 * testsuite/libgomp.c/thread-limit-5.c: New test.
6180 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
6181
58168bbf
CLT
61822018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
6183
6184 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
6185 acc_memcpy_to/from_device functions, now with async parameter.
6186 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
6187 (acc_memcpy_from_device): Likewise.
6188 (acc_memcpy_to_device_async): New API function.
6189 (acc_memcpy_from_device_async): Likewise.
6190 (present_create_copy): Add async parameter and async setting/unsetting.
6191 (acc_create): Adjust present_create_copy call.
6192 (acc_copyin): Likewise.
6193 (acc_present_or_create): Likewise.
6194 (acc_present_or_copyin): Likewise.
6195 (acc_create_async): New API function.
6196 (acc_copyin_async): New API function.
6197 (delete_copyout): Add async parameter and async setting/unsetting.
6198 (acc_delete): Adjust delete_copyout call.
6199 (acc_copyout): Likewise.
6200 (acc_delete_async): New API function.
6201 (acc_copyout_async): Likewise.
6202 (update_dev_host): Add async parameter and async setting/unsetting.
6203 (acc_update_device): Adjust update_dev_host call.
6204 (acc_update_self): Likewise.
6205 (acc_update_device_async): New API function.
6206 (acc_update_self_async): Likewise.
6207 * openacc.h (acc_copyin_async): Declare new API function.
6208 (acc_create_async): Likewise.
6209 (acc_copyout_async): Likewise.
6210 (acc_delete_async): Likewise.
6211 (acc_update_device_async): Likewise.
6212 (acc_update_self_async): Likewise.
6213 (acc_memcpy_to_device_async): Likewise.
6214 (acc_memcpy_from_device_async): Likewise.
6215 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
6216 (acc_copyin_async_64_h): New subroutine.
6217 (acc_copyin_async_array_h): New subroutine.
6218 (acc_create_async_32_h): New subroutine.
6219 (acc_create_async_64_h): New subroutine.
6220 (acc_create_async_array_h): New subroutine.
6221 (acc_copyout_async_32_h): New subroutine.
6222 (acc_copyout_async_64_h): New subroutine.
6223 (acc_copyout_async_array_h): New subroutine.
6224 (acc_delete_async_32_h): New subroutine.
6225 (acc_delete_async_64_h): New subroutine.
6226 (acc_delete_async_array_h): New subroutine.
6227 (acc_update_device_async_32_h): New subroutine.
6228 (acc_update_device_async_64_h): New subroutine.
6229 (acc_update_device_async_array_h): New subroutine.
6230 (acc_update_self_async_32_h): New subroutine.
6231 (acc_update_self_async_64_h): New subroutine.
6232 (acc_update_self_async_array_h): New subroutine.
6233 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
6234 (acc_copyin_async_64_h): New subroutine.
6235 (acc_copyin_async_array_h): New subroutine.
6236 (acc_create_async_32_h): New subroutine.
6237 (acc_create_async_64_h): New subroutine.
6238 (acc_create_async_array_h): New subroutine.
6239 (acc_copyout_async_32_h): New subroutine.
6240 (acc_copyout_async_64_h): New subroutine.
6241 (acc_copyout_async_array_h): New subroutine.
6242 (acc_delete_async_32_h): New subroutine.
6243 (acc_delete_async_64_h): New subroutine.
6244 (acc_delete_async_array_h): New subroutine.
6245 (acc_update_device_async_32_h): New subroutine.
6246 (acc_update_device_async_64_h): New subroutine.
6247 (acc_update_device_async_array_h): New subroutine.
6248 (acc_update_self_async_32_h): New subroutine.
6249 (acc_update_self_async_64_h): New subroutine.
6250 (acc_update_self_async_array_h): New subroutine.
6251 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
6252 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
6253 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
6254 acc_memcpy_to_device_async*, acc_update_device_async*, and
6255 acc_update_self_async* entries.
6256 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
6257 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
6258 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
6259
22e05272
JM
62602018-10-31 Joseph Myers <joseph@codesourcery.com>
6261
6262 PR bootstrap/82856
6263 * Makefile.am: Include multilib.am
6264 (AUTOMAKE_OPTIONS): Add info-in-builddir.
6265 (CLEANFILES): Remove libgomp.info.
6266 * configure.ac: Remove AC_PREREQ.
6267 * testsuite/Makefile.am (RUNTEST): Remove quotes.
6268 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
6269 Regenerate.
6270
87a5ccfb
JM
62712018-10-29 Joseph Myers <joseph@codesourcery.com>
6272 Julian Brown <julian@codesourcery.com>
6273
6274 * testsuite/libgomp.oacc-c++/this.C: New.
6275
2049befd
CP
62762018-09-18 Cesar Philippidis <cesar@codesourcery.com>
6277
6278 * plugin/plugin-nvptx.c (struct cuda_map): New.
6279 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
6280 h_tail with (cuda_map *) map.
6281 (cuda_map_create): New function.
6282 (cuda_map_destroy): New function.
6283 (map_init): Update to use a linked list of cuda_map objects.
6284 (map_fini): Likewise.
6285 (map_pop): Likewise.
6286 (map_push): Likewise. Return CUdeviceptr instead of void.
6287 (init_streams_for_device): Remove stales references to ptx_stream
6288 members.
6289 (select_stream_for_async): Likewise.
6290 (nvptx_exec): Update call to map_init.
6291
8e36332c
CP
62922018-09-09 Cesar Philippidis <cesar@codesourcery.com>
6293 Julian Brown <julian@codesourcery.com>
6294
6295 PR middle-end/86336
6296 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
6297
2b4c9065
NK
62982018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
6299 Thomas Koenig <tkoenig@gcc.gnu.org>
6300
6301 PR fortran/25829
6302 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6303 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6304 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6305 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6306 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6307 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6308 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6309
bd9b3d3d
CP
63102018-08-13 Cesar Philippidis <cesar@codesourcery.com>
6311 Tom de Vries <tdevries@suse.de>
6312
6313 PR target/85590
6314 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
6315 (cuOccupancyMaxPotentialBlockSize): Declare.
6316 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
6317 CUDA_ONE_CALL_MAYBE_NULL.
6318 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
6319 CUoccupancyB2DSize and declare
6320 cuOccupancyMaxPotentialBlockSize.
6321 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
6322 default num_gangs and num_workers when the driver supports it.
6323
8e09a12f
TV
63242018-08-08 Tom de Vries <tdevries@suse.de>
6325
6326 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
6327 CUDA_ONE_CALL_MAYBE_NULL.
6328 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
6329 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
6330 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
6331 are not found.
6332
cedd9bd0
TV
63332018-08-08 Tom de Vries <tdevries@suse.de>
6334
6335 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
6336 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
6337 present.
6338
b113af95
TV
63392018-08-08 Tom de Vries <tdevries@suse.de>
6340
6341 * plugin/plugin-nvptx.c
6342 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
6343 (nvptx_open_device): Use
6344 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
6345
94767dac
TV
63462018-08-08 Tom de Vries <tdevries@suse.de>
6347
6348 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
6349 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
6350
02150de8
TV
63512018-08-07 Tom de Vries <tdevries@suse.de>
6352
6353 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
6354 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
6355 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
6356 corresponding call in CUDA_ONE_CALL. Add def/undef of
6357 CUDA_ONE_CALL_MAYBE_NULL.
6358 (CUDA_CALL_EXISTS): Define.
6359
9e28b107
TV
63602018-08-07 Tom de Vries <tdevries@suse.de>
6361
6362 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
6363 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
6364 corresponding undefs right after.
6365
09940090
TV
63662018-08-04 Tom de Vries <tdevries@suse.de>
6367
6368 * plugin/configfrag.ac: For --without-cuda-driver, set
6369 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
6370 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
6371 * configure: Regenerate.
6372
77e0a97a
TV
63732018-08-02 Tom de Vries <tdevries@suse.de>
6374
6375 PR target/86660
6376 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
6377 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
6378 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
6379 Same.
6380 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
6381 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
6382 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
6383
701d080a
CP
63842018-08-01 Cesar Philippidis <cesar@codesourcery.com>
6385 Thomas Schwinge <thomas@codesourcery.com>
6386
6387 * config/nvptx/oacc-parallel.c: Truncate.
6388
094db6be
CP
63892018-08-01 Cesar Philippidis <cesar@codesourcery.com>
6390 James Norris <jnorris@codesourcery.com>
6391
6392 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
6393 (map_init, map_pop): Remove use of struct map.
6394 (map_push): Likewise and change argument list.
094db6be
CP
6395 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
6396
8c6310a2
TV
63972018-08-01 Tom de Vries <tdevries@suse.de>
6398
6399 * plugin/cuda-lib.def: New file. Factor out of ...
6400 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
6401 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
6402 using CUDA_CALLS.
6403
1d4a51cf
AV
64042018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
6405
6406 Revert 'AsyncI/O patch committed'.
6407 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
6408 Thomas Koenig <tkoenig@gcc.gnu.org>
6409
6410 PR fortran/25829
6411 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6412 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6413 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6414 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6415 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6416 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6417 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6418
4cdfee3f
TV
64192018-07-30 Tom de Vries <tdevries@suse.de>
6420
6421 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
6422 (nvptx_exec): Ensure worker and vector default dims don't exceed
6423 targ_fn->max_threads_per_block.
6424
0b210c43
TV
64252018-07-30 Tom de Vries <tdevries@suse.de>
6426
6427 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
6428 (nvptx_open_device): Init default_dims for device.
6429 (nvptx_exec): Use default_dims from device.
6430
5883c5cc
JJ
64312018-07-26 Jakub Jelinek <jakub@redhat.com>
6432
5d36384c
JJ
6433 PR testsuite/86660
6434 * testsuite/libgomp.c++/for-15.C (results): Include it in
6435 omp declare target region.
6436 (main): Use map (always, tofrom: results) instead of
6437 map (tofrom: results).
6438
5883c5cc
JJ
6439 PR middle-end/86660
6440 * testsuite/libgomp.c/pr86660.c: New test.
6441
88a4654d
CP
64422018-07-26 Cesar Philippidis <cesar@codesourcery.com>
6443 Tom de Vries <tdevries@suse.de>
6444
6445 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
6446 sufficient resources to launch a kernel, and give a hint on how to fix
6447 it.
6448
0c6c2f5f
CP
64492018-07-26 Cesar Philippidis <cesar@codesourcery.com>
6450 Tom de Vries <tdevries@suse.de>
6451
6452 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
6453 max_threads_per_block and max_threads_per_multiprocessor fields.
6454 (nvptx_open_device): Initialize new fields.
6455 (nvptx_exec): Use num_sms, and new fields.
6456
6dd58010
TV
64572018-07-26 Tom de Vries <tdevries@suse.de>
6458
6459 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
6460 to correct locations. Remove xfail.
6461
b2eb1779
TV
64622018-07-26 Tom de Vries <tdevries@suse.de>
6463
6464 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
6465 acc_wait. Move acc_async_test calls to correct locations. Remove
6466 xfail.
6467
b1f45884
NK
64682018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
6469 Thomas Koenig <tkoenig@gcc.gnu.org>
6470
6471 PR fortran/25829
6472 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6473 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6474 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6475 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6476 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6477 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6478 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6479
3a106211
JJ
64802018-07-17 Jakub Jelinek <jakub@redhat.com>
6481
a3bccfa1
JJ
6482 PR middle-end/86542
6483 * testsuite/libgomp.c++/pr86542.C: New test.
6484
3a106211
JJ
6485 PR middle-end/86539
6486 * testsuite/libgomp.c++/pr86539.C: New test.
6487
2bae8b2f
JJ
64882018-07-11 Jakub Jelinek <jakub@redhat.com>
6489
6490 PR c++/86443
6491 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
6492 (results): Make sure the variable is not inside declare target region.
6493 (qux): Remove unused function.
6494
0b27c3ed
JJ
64952018-07-10 Jakub Jelinek <jakub@redhat.com>
6496
6497 PR c++/86443
6498 * testsuite/libgomp.c++/for-15.C: New test.
6499
f0391511
JJ
65002018-06-26 Jakub Jelinek <jakub@redhat.com>
6501
6502 PR c++/86291
6503 * testsuite/libgomp.c++/pr86291.C: New test.
6504
1a6d1d24
GP
65052018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
6506
6507 * libgomp.texi (Top): Move www.openmp.org to https.
6508 (Enabling OpenMP): Ditto.
6509 (omp_get_active_level): Ditto.
6510 (omp_get_ancestor_thread_num): Ditto.
6511 (omp_get_cancellation): Ditto.
6512 (omp_get_default_device): Ditto.
6513 (omp_get_dynamic): Ditto.
6514 (omp_get_level): Ditto.
6515 (omp_get_max_active_levels): Ditto.
6516 (omp_get_max_task_priority): Ditto.
6517 (omp_get_max_threads): Ditto.
6518 (omp_get_nested): Ditto.
6519 (omp_get_num_devices): Ditto.
6520 (omp_get_num_procs): Ditto.
6521 (omp_get_num_teams): Ditto.
6522 (omp_get_num_threads): Ditto.
6523 (omp_get_proc_bind): Ditto.
6524 (omp_get_schedule): Ditto.
6525 (omp_get_team_num): Ditto.
6526 (omp_get_team_size): Ditto.
6527 (omp_get_thread_limit): Ditto.
6528 (omp_get_thread_num): Ditto.
6529 (omp_in_parallel): Ditto.
6530 (omp_in_final): Ditto.
6531 (omp_is_initial_device): Ditto.
6532 (omp_set_default_device): Ditto.
6533 (omp_set_dynamic): Ditto.
6534 (omp_set_max_active_levels): Ditto.
6535 (omp_set_nested): Ditto.
6536 (omp_set_num_threads): Ditto.
6537 (omp_set_schedule): Ditto.
6538 (omp_init_lock): Ditto.
6539 (omp_set_lock): Ditto.
6540 (omp_test_lock): Ditto.
6541 (omp_unset_lock): Ditto.
6542 (omp_destroy_lock): Ditto.
6543 (omp_init_nest_lock): Ditto.
6544 (omp_set_nest_lock): Ditto.
6545 (omp_test_nest_lock): Ditto.
6546 (omp_unset_nest_lock): Ditto.
6547 (omp_destroy_nest_lock): Ditto.
6548 (omp_get_wtick): Ditto.
6549 (omp_get_wtime): Ditto.
6550 (OMP_CANCELLATION): Ditto.
6551 (OMP_DISPLAY_ENV): Ditto.
6552 (OMP_DEFAULT_DEVICE): Ditto.
6553 (OMP_DYNAMIC): Ditto.
6554 (OMP_MAX_ACTIVE_LEVELS): Ditto.
6555 (OMP_MAX_TASK_PRIORITY): Ditto.
6556 (OMP_NESTED): Ditto.
6557 (OMP_NUM_THREADS): Ditto.
6558 (OMP_PROC_BIND): Ditto.
6559 (OMP_PLACES): Ditto.
6560 (OMP_STACKSIZE): Ditto.
6561 (OMP_SCHEDULE): Ditto.
6562 (OMP_THREAD_LIMIT): Ditto.
6563 (OMP_WAIT_POLICY): Ditto.
6564
31dd69b7
CP
65652018-06-22 Cesar Philippidis <cesar@codesourcery.com>
6566 James Norris <jnorris@codesourcery.com>
6567 Julian Brown <julian@codesourcery.com>
6568 Thomas Schwinge <thomas@codesourcery.com>
6569 Tom de Vries <tom@codesourcery.com>
6570
6571 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
6572 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
6573 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
6574 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
6575 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6576 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6577 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
6578 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
6579 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
6580 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
6581 Likewise.
6582 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6583 Likewise.
6584 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6585 Likewise.
6586 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
6587 Likewise.
6588 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
6589 Likewise.
6590 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6591 Likewise.
6592 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
6593 Likewise.
6594 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
6595 Likewise.
6596 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
6597 Likewise.
6598 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
6599 Likewise.
6600 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
6601 Likewise.
6602 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
6603 Likewise.
6604 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
6605 Likewise.
6606 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
6607 Likewise.
6608 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
6609 Likewise.
6610 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
6611 Likewise.
6612 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
6613 Likewise.
6614 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
6615 Likewise.
6616 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
6617 Likewise.
6618 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
6619 Likewise.
6620 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
6621 Likewise.
6622 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
6623 Likewise.
6624 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
6625 Likewise.
6626 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
6627 Likewise.
6628 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
6629 Likewise.
6630 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
6631 Likewise.
6632 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
6633 Likewise.
6634 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
6635 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
6636 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
6637 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
6638 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
6639 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
6640 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
6641 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
6642 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
6643 Likewise.
6644 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
6645 Likewise.
6646 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
6647 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
6648 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
6649 Likewise.
6650 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
6651 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
6652 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
6653 Likewise.
6654 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6655 Likewise.
6656 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6657 Likewise.
6658 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6659 Likewise.
6660 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6661 Likewise.
6662 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
6663 Likewise.
6664 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
6665 Likewise.
6666 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
6667 Likewise.
6668 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
6669 Likewise.
6670 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
6671 Likewise.
6672 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
6673 Likewise.
6674 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
6675 Likewise.
6676 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
6677 Likewise.
6678 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
6679 Likewise.
6680 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
6681 Likewise.
6682 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6683 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
6684 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
6685 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
6686 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
6687 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
6688 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
6689
829c6349
CLT
66902018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
6691 Thomas Schwinge <thomas@codesourcery.com>
6692 Cesar Philippidis <cesar@codesourcery.com>
6693
6694 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
6695 (gomp_acc_remove_pointer): Update declaration.
6696 (gomp_acc_declare_allocate): Declare.
6697 (gomp_remove_var): Declare.
6698 * libgomp.map (OACC_2.5): Define.
6699 * oacc-mem.c (acc_map_data): Update refcount.
6700 (acc_unmap_data): Likewise.
6701 (present_create_copy): Likewise.
6702 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
6703 (acc_copyin): Likewise.
6704 (FLAG_FINALIZE): Define.
6705 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
6706 (acc_delete_finalize): New function.
6707 (acc_delete_finalize_async): New function.
6708 (acc_copyout_finalize): New function.
6709 (acc_copyout_finalize_async): New function.
6710 (gomp_acc_insert_pointer): Update refcounts.
6711 (gomp_acc_remove_pointer): Return if data is not present on the
6712 accelerator.
6713 * oacc-parallel.c (find_pset): Rename to find_pointer.
6714 (find_pointer): Add support for GOMP_MAP_POINTER.
6715 (handle_ftn_pointers): New function.
6716 (GOACC_parallel_keyed): Update refcounts of variables.
6717 (GOACC_enter_exit_data): Add support for finalized data mappings.
6718 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
6719 of fortran arrays.
6720 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
6721 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
6722 for GOMP_MAP_FORCE_FROM.
6723 * openacc.f90 (module openacc_internal): Add
6724 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
6725 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
6726 acc_copyout_finalize and acc_delete_finalize.
6727 (acc_copyout_finalize_32_h): New subroutine.
6728 (acc_copyout_finalize_64_h): New subroutine.
6729 (acc_copyout_finalize_array_h): New subroutine.
6730 (acc_delete_finalize_32_h): New subroutine.
6731 (acc_delete_finalize_64_h): New subroutine.
6732 (acc_delete_finalize_array_h): New subroutine.
6733 * openacc.h (acc_copyout_finalize): Declare.
6734 (acc_copyout_finalize_async): Declare.
6735 (acc_delete_finalize): Declare.
6736 (acc_delete_finalize_async): Declare.
6737 * openacc_lib.h (acc_copyout_finalize): New interface.
6738 (acc_delete_finalize): New interface.
6739 * target.c (gomp_map_vars): Update dynamic_refcount.
6740 (gomp_remove_var): New function.
6741 (gomp_unmap_vars): Use it.
6742 (gomp_unload_image_from_device): Likewise.
6743 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
6744 case to utilize OpenACC 2.5 data clause semantics.
6745 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6746 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6747 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6748 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6749 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6750 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6751 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6752 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6753 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6754 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6755 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6756 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
6757 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
6758 utilize OpenACC 2.5 data clause semantics.
6759 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6760 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6761 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6762 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6763 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6764 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6765 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6766 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
6767 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
6768
4358400b
JW
67692018-05-21 Janus Weil <janus@gcc.gnu.org>
6770
6771 PR fortran/85841
6772 PR testsuite/85865
6773 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
6774 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
6775 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
6776 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
6777 * testsuite/libgomp.fortran/task2.f90: Ditto.
6778 * testsuite/libgomp.fortran/vla1.f90: Ditto.
6779 * testsuite/libgomp.fortran/vla2.f90: Ditto.
6780 * testsuite/libgomp.fortran/vla3.f90: Ditto.
6781 * testsuite/libgomp.fortran/vla4.f90: Ditto.
6782 * testsuite/libgomp.fortran/vla5.f90: Ditto.
6783 * testsuite/libgomp.fortran/vla6.f90: Ditto.
6784 * testsuite/libgomp.fortran/vla8.f90: Ditto.
6785 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
6786 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
6787
950ad0ba
CP
67882018-05-18 Cesar Philippidis <cesar@codesourcery.com>
6789
6790 PR c++/85782
6791 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
6792
f5ad16f1
TV
67932018-05-09 Tom de Vries <tom@codesourcery.com>
6794
6795 PR libgomp/82901
6796 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
6797 to GOACC_enter_exit_data.
6798
edbd038a
TV
67992018-05-09 Tom de Vries <tom@codesourcery.com>
6800
6801 PR libgomp/83792
6802 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
6803 (async_synchronous_p): New function.
6804 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
6805 async_valid_p.
6806 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6807 async_valid_stream_id_p.
6808 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
6809 * oacc-parallel.c (GOACC_parallel_keyed): Same.
6810
37d6c719
TV
68112018-05-07 Tom de Vries <tom@codesourcery.com>
6812
6813 PR testsuite/85677
6814 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
6815 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
6816
63f12215
TV
68172018-05-03 Tom de Vries <tom@codesourcery.com>
6818
6819 PR testsuite/85106
6820 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
6821 extra_tool_flags if it contains an -foffload=-fdump-* flag.
6822 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
6823 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
6824
ec00d3fa
TV
68252018-05-02 Tom de Vries <tom@codesourcery.com>
6826
6827 PR libgomp/85411
6828 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
6829 GOMP_OPENACC_DIM ...
6830 * env.c (parse_gomp_openacc_dim): ... here. New function.
6831 (initialize_env): Call parse_gomp_openacc_dim.
6832 (goacc_default_dims): Define.
6833 * libgomp.h (goacc_default_dims): Declare.
6834 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
6835 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
6836 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
6837 GOMP_PLUGIN_acc_default_dim.
6838 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
6839 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
6840
92243e7c
TV
68412018-05-02 Tom de Vries <tom@codesourcery.com>
6842
6843 PR testsuite/83791
6844 * testsuite/libgomp.c++/udr-9.C: Update.
6845 * testsuite/libgomp.c++/atomic-16.C: Remove.
6846 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
6847 * testsuite/libgomp.c++/loop-13.C: Remove.
6848 * testsuite/libgomp.c++/loop-14.C: Remove.
6849 * testsuite/libgomp.c++/loop-15.C: Remove.
6850 * testsuite/libgomp.c++/monotonic-1.C: Remove.
6851 * testsuite/libgomp.c++/monotonic-2.C: Remove.
6852 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
6853 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
6854 * testsuite/libgomp.c++/ordered-1.C: Remove.
6855 * testsuite/libgomp.c++/pr45784.C: Remove.
6856 * testsuite/libgomp.c++/pr64824.C: Remove.
6857 * testsuite/libgomp.c++/pr64868.C: Remove.
6858 * testsuite/libgomp.c++/pr66199-1.C: Remove.
6859 * testsuite/libgomp.c++/pr66199-2.C: Remove.
6860 * testsuite/libgomp.c++/pr66199-3.C: Remove.
6861 * testsuite/libgomp.c++/pr66199-4.C: Remove.
6862 * testsuite/libgomp.c++/pr66199-5.C: Remove.
6863 * testsuite/libgomp.c++/pr66199-6.C: Remove.
6864 * testsuite/libgomp.c++/pr66199-7.C: Remove.
6865 * testsuite/libgomp.c++/pr66199-8.C: Remove.
6866 * testsuite/libgomp.c++/pr66199-9.C: Remove.
6867 * testsuite/libgomp.c++/pr69389.C: Remove.
6868 * testsuite/libgomp.c++/simd10.C: Remove.
6869 * testsuite/libgomp.c++/simd11.C: Remove.
6870 * testsuite/libgomp.c++/simd12.C: Remove.
6871 * testsuite/libgomp.c++/simd13.C: Remove.
6872 * testsuite/libgomp.c++/target-1.C: Remove.
6873 * testsuite/libgomp.c++/target-3.C: Remove.
6874 * testsuite/libgomp.c++/target-4.C: Remove.
6875 * testsuite/libgomp.c++/target-5.C: Remove.
6876 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
6877 * testsuite/libgomp.c++/taskloop-1.C: Remove.
6878 * testsuite/libgomp.c++/taskloop-2.C: Remove.
6879 * testsuite/libgomp.c++/taskloop-3.C: Remove.
6880 * testsuite/libgomp.c++/taskloop-4.C: Remove.
6881 * testsuite/libgomp.c++/udr-9.C: Remove.
6882 * testsuite/libgomp.c++/for-10.C: Remove.
6883 * testsuite/libgomp.c++/for-11.C: Remove.
6884 * testsuite/libgomp.c++/for-12.C: Remove.
6885 * testsuite/libgomp.c++/for-13.C: Remove.
6886 * testsuite/libgomp.c++/for-14.C: Remove.
6887 * testsuite/libgomp.c++/for-9.C: Remove.
6888 * testsuite/libgomp.c/atomic-18.c: Move ...
6889 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
6890 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
6891 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
6892 * testsuite/libgomp.c/loop-13.c: Move ...
6893 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
6894 * testsuite/libgomp.c/loop-14.c: Move ...
6895 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
6896 * testsuite/libgomp.c/loop-15.c: Remove.
6897 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
6898 * testsuite/libgomp.c/monotonic-1.c: Move ...
6899 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
6900 * testsuite/libgomp.c/monotonic-2.c: Move ...
6901 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
6902 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
6903 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
6904 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
6905 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
6906 * testsuite/libgomp.c/ordered-4.c: Move ...
6907 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
6908 * testsuite/libgomp.c/pr45784.c: Move ...
6909 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
6910 * testsuite/libgomp.c/pr64824.c: Move ...
6911 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
6912 * testsuite/libgomp.c/pr64868.c: Move ...
6913 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
6914 * testsuite/libgomp.c/pr66199-1.c: Move ...
6915 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
6916 * testsuite/libgomp.c/pr66199-2.c: Move ...
6917 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
6918 * testsuite/libgomp.c/pr66199-3.c: Move ...
6919 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
6920 * testsuite/libgomp.c/pr66199-4.c: Move ...
6921 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
6922 * testsuite/libgomp.c/pr66199-5.c: Move ...
6923 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
6924 * testsuite/libgomp.c/pr66199-6.c: Move ...
6925 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
6926 * testsuite/libgomp.c/pr66199-7.c: Move ...
6927 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
6928 * testsuite/libgomp.c/pr66199-8.c: Move ...
6929 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
6930 * testsuite/libgomp.c/pr66199-9.c: Move ...
6931 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
6932 * testsuite/libgomp.c/pr69389.c: Move ...
6933 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
6934 * testsuite/libgomp.c/simd-14.c: Move ...
6935 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
6936 * testsuite/libgomp.c/simd-15.c: Move ...
6937 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
6938 * testsuite/libgomp.c/simd-16.c: Move ...
6939 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
6940 * testsuite/libgomp.c/simd-17.c: Move ...
6941 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
6942 * testsuite/libgomp.c/target-1.c: Move ...
6943 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
6944 * testsuite/libgomp.c/target-10.c: Move ...
6945 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
6946 * testsuite/libgomp.c/target-13.c: Move ...
6947 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
6948 * testsuite/libgomp.c/target-2.c: Move ...
6949 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
6950 * testsuite/libgomp.c/taskgroup-1.c: Move ...
6951 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
6952 * testsuite/libgomp.c/taskloop-1.c: Move ...
6953 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
6954 * testsuite/libgomp.c/taskloop-2.c: Move ...
6955 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
6956 * testsuite/libgomp.c/taskloop-3.c: Move ...
6957 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
6958 * testsuite/libgomp.c/taskloop-4.c: Move ...
6959 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
6960 * testsuite/libgomp.c/udr-1.c: Move ...
6961 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
6962 * testsuite/libgomp.c/for-1.c: Move ...
6963 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
6964 * testsuite/libgomp.c/for-1.h: Move ...
6965 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
6966 * testsuite/libgomp.c/for-2.c: Move ...
6967 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
6968 * testsuite/libgomp.c/for-2.h: Move ...
6969 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
6970 * testsuite/libgomp.c/for-3.c: Move ...
6971 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
6972 * testsuite/libgomp.c/for-4.c: Move ...
6973 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
6974 * testsuite/libgomp.c/for-5.c: Move ...
6975 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
6976 * testsuite/libgomp.c/for-6.c: Move ...
6977 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
6978
1f62d637
TV
69792018-05-02 Tom de Vries <tom@codesourcery.com>
6980
6981 PR libgomp/82428
6982 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
6983 __builtin_goacc_parlevel_{id,size}.
6984 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
6985 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
6986 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
6987 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
6988 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
6989 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
6990 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
6991 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
6992 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
6993 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
6994 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
6995 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
6996 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
6997 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
6998 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
6999 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
7000 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
7001 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
7002 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
7003 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
7004 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
7005 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
7006 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
7007
9220b511
TV
70082018-05-02 Tom de Vries <tom@codesourcery.com>
7009
7010 PR testsuite/85106
7011 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
7012
6c3c13c1
TV
70132018-05-02 Tom de Vries <tom@codesourcery.com>
7014
7015 PR testsuite/85106
7016 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
7017
8d70b61e
JB
70182018-04-29 Julian Brown <julian@codesourcery.com>
7019 Tom de Vries <tom@codesourcery.com>
7020
7021 PR testsuite/85527
7022 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
7023 arbitrary order for iterations of atomic subtract check.
7024
4a57a4b6
TV
70252018-04-28 Tom de Vries <tom@codesourcery.com>
7026
7027 PR testsuite/85527
7028 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
7029 atomic capture results obtained in parallel loop to an array, instead of
7030 to a scalar.
7031
df36a3d3
TV
70322018-04-26 Tom de Vries <tom@codesourcery.com>
7033
7034 PR libgomp/84020
7035 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
7036 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
7037 (process_GOMP_NVPTX_JIT): New function.
7038 (link_ptx): Use process_GOMP_NVPTX_JIT.
7039
d160ae78
RB
70402018-04-26 Richard Biener <rguenther@suse.de>
7041 Tom de Vries <tom@codesourcery.com>
7042
7043 PR lto/85422
7044 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
7045
ca9dc642
TV
70462018-04-26 Tom de Vries <tom@codesourcery.com>
7047
7048 PR target/85519
7049 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
7050 recursion depth from 25 to 23.
7051 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
7052
7b47ecf2
L
70532018-04-24 H.J. Lu <hongjiu.lu@intel.com>
7054
7055 * configure: Regenerated.
7056
e91eba31
NS
70572018-04-20 Nathan Sidwell <nathan@codesourcery.com>
7058 Tom de Vries <tom@codesourcery.com>
7059
7060 PR target/85445
7061 * testsuite/libgomp.oacc-c++/ref-1.C: New.
7062
6e0d40b6
TS
70632018-04-19 Thomas Schwinge <thomas@codesourcery.com>
7064
7065 PR libgomp/85463
7066 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
7067 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7068 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7069 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7070 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7071 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7072
7073 PR libfortran/85166
7074 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
7075 abort".
7076 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7077
a0e1df88
JJ
70782018-04-19 Jakub Jelinek <jakub@redhat.com>
7079
7080 * configure: Regenerated.
7081
001ddaa8
DM
70822018-04-18 David Malcolm <dmalcolm@redhat.com>
7083
7084 PR jit/85384
7085 * configure: Regenerate.
7086
05e0af43
CP
70872018-04-16 Cesar Philippidis <cesar@codesourcery.com>
7088 Tom de Vries <tom@codesourcery.com>
7089
7090 PR middle-end/84955
7091 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7092 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7093
bc436e10
TK
70942018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
7095
7096 PR fortran/83064
7097 PR testsuite/85346
7098 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
7099 test from gfortran.dg to here.
7100
ffb164c7
JJ
71012018-04-12 Cesar Philippidis <cesar@codesourcery.com>
7102
7103 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
7104 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
7105
71062018-04-12 Cesar Philippidis <cesar@codesourcery.com>
7107
7108 PR middle-end/84955
7109 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7110 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7111
2ba16fd2
TV
71122018-04-05 Tom de Vries <tom@codesourcery.com>
7113
7114 PR target/85204
7115 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
7116
46dbeb40
TV
71172018-03-26 Tom de Vries <tom@codesourcery.com>
7118
7119 PR tree-optimization/85063
7120 * testsuite/libgomp.c/switch-conversion-2.c: New test.
7121 * testsuite/libgomp.c/switch-conversion.c: New test.
7122 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
7123 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
7124
bfc24e32
TK
71252018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
7126
7127 PR fortran/84381
7128 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
7129 call abort by STOP n.
7130 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
7131 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
7132 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
7133 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
7134 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
7135 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
7136 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
7137 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
7138 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
7139 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
7140 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
7141 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
7142 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
7143 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
7144 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
7145 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
7146 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
7147 * testsuite/libgomp.fortran/associate1.f90: Likewise.
7148 * testsuite/libgomp.fortran/associate2.f90: Likewise.
7149 * testsuite/libgomp.fortran/associate3.f90: Likewise.
7150 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
7151 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
7152 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
7153 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
7154 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
7155 * testsuite/libgomp.fortran/character1.f90: Likewise.
7156 * testsuite/libgomp.fortran/character2.f90: Likewise.
7157 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
7158 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
7159 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
7160 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
7161 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
7162 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
7163 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
7164 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
7165 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
7166 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
7167 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
7168 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
7169 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
7170 * testsuite/libgomp.fortran/do1.f90: Likewise.
7171 * testsuite/libgomp.fortran/do2.f90: Likewise.
7172 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
7173 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
7174 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
7175 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
7176 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
7177 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
7178 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
7179 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
7180 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
7181 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
7182 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
7183 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
7184 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
7185 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
7186 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
7187 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
7188 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
7189 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
7190 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
7191 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
7192 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
7193 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
7194 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
7195 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
7196 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
7197 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
7198 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
7199 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
7200 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
7201 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
7202 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
7203 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
7204 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
7205 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
7206 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
7207 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
7208 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
7209 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
7210 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
7211 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
7212 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
7213 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
7214 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
7215 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
7216 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
7217 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
7218 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
7219 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
7220 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
7221 * testsuite/libgomp.fortran/lib1.f90: Likewise.
7222 * testsuite/libgomp.fortran/lib2.f: Likewise.
7223 * testsuite/libgomp.fortran/lib3.f: Likewise.
7224 * testsuite/libgomp.fortran/lib4.f90: Likewise.
7225 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
7226 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
7227 * testsuite/libgomp.fortran/nested1.f90: Likewise.
7228 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
7229 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
7230 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
7231 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
7232 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
7233 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
7234 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
7235 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
7236 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
7237 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
7238 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
7239 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
7240 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
7241 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
7242 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
7243 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
7244 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
7245 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
7246 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
7247 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7248 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
7249 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
7250 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
7251 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
7252 * testsuite/libgomp.fortran/pr25162.f: Likewise.
7253 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
7254 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
7255 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
7256 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
7257 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
7258 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
7259 * testsuite/libgomp.fortran/pr28390.f: Likewise.
7260 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
7261 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
7262 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
7263 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
7264 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
7265 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
7266 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
7267 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
7268 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
7269 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
7270 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
7271 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
7272 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
7273 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
7274 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
7275 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
7276 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
7277 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
7278 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
7279 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
7280 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
7281 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
7282 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
7283 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
7284 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
7285 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
7286 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
7287 * testsuite/libgomp.fortran/reference1.f90: Likewise.
7288 * testsuite/libgomp.fortran/reference2.f90: Likewise.
7289 * testsuite/libgomp.fortran/retval1.f90: Likewise.
7290 * testsuite/libgomp.fortran/retval2.f90: Likewise.
7291 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
7292 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
7293 * testsuite/libgomp.fortran/simd1.f90: Likewise.
7294 * testsuite/libgomp.fortran/simd2.f90: Likewise.
7295 * testsuite/libgomp.fortran/simd3.f90: Likewise.
7296 * testsuite/libgomp.fortran/simd4.f90: Likewise.
7297 * testsuite/libgomp.fortran/simd5.f90: Likewise.
7298 * testsuite/libgomp.fortran/simd6.f90: Likewise.
7299 * testsuite/libgomp.fortran/simd7.f90: Likewise.
7300 * testsuite/libgomp.fortran/stack.f90: Likewise.
7301 * testsuite/libgomp.fortran/strassen.f90: Likewise.
7302 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
7303 * testsuite/libgomp.fortran/tabs2.f: Likewise.
7304 * testsuite/libgomp.fortran/target1.f90: Likewise.
7305 * testsuite/libgomp.fortran/target2.f90: Likewise.
7306 * testsuite/libgomp.fortran/target3.f90: Likewise.
7307 * testsuite/libgomp.fortran/target4.f90: Likewise.
7308 * testsuite/libgomp.fortran/target5.f90: Likewise.
7309 * testsuite/libgomp.fortran/target6.f90: Likewise.
7310 * testsuite/libgomp.fortran/target7.f90: Likewise.
7311 * testsuite/libgomp.fortran/target8.f90: Likewise.
7312 * testsuite/libgomp.fortran/task1.f90: Likewise.
7313 * testsuite/libgomp.fortran/task2.f90: Likewise.
7314 * testsuite/libgomp.fortran/task3.f90: Likewise.
7315 * testsuite/libgomp.fortran/task4.f90: Likewise.
7316 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
7317 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
7318 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
7319 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
7320 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
7321 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
7322 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
7323 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
7324 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
7325 * testsuite/libgomp.fortran/udr1.f90: Likewise.
7326 * testsuite/libgomp.fortran/udr10.f90: Likewise.
7327 * testsuite/libgomp.fortran/udr11.f90: Likewise.
7328 * testsuite/libgomp.fortran/udr12.f90: Likewise.
7329 * testsuite/libgomp.fortran/udr13.f90: Likewise.
7330 * testsuite/libgomp.fortran/udr14.f90: Likewise.
7331 * testsuite/libgomp.fortran/udr15.f90: Likewise.
7332 * testsuite/libgomp.fortran/udr2.f90: Likewise.
7333 * testsuite/libgomp.fortran/udr3.f90: Likewise.
7334 * testsuite/libgomp.fortran/udr4.f90: Likewise.
7335 * testsuite/libgomp.fortran/udr5.f90: Likewise.
7336 * testsuite/libgomp.fortran/udr6.f90: Likewise.
7337 * testsuite/libgomp.fortran/udr7.f90: Likewise.
7338 * testsuite/libgomp.fortran/udr8.f90: Likewise.
7339 * testsuite/libgomp.fortran/udr9.f90: Likewise.
7340 * testsuite/libgomp.fortran/vla1.f90: Likewise.
7341 * testsuite/libgomp.fortran/vla2.f90: Likewise.
7342 * testsuite/libgomp.fortran/vla3.f90: Likewise.
7343 * testsuite/libgomp.fortran/vla4.f90: Likewise.
7344 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7345 * testsuite/libgomp.fortran/vla6.f90: Likewise.
7346 * testsuite/libgomp.fortran/vla7.f90: Likewise.
7347 * testsuite/libgomp.fortran/vla8.f90: Likewise.
7348 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
7349 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
7350 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7351 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7352 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7353 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7354 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7355 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7356 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7357 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7358 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7359 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
7360 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7361 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
7362 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
7363 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
7364 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7365 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
7366 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
7367 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
7368 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
7369 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
7370 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
7371 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
7372 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
7373 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7374 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7375 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
7376 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7377 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
7378 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
7379 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7380 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7381 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7382 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7383 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
7384 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
7385 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
7386 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
7387 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
7388 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
7389 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
7390 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
7391 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
7392 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
7393 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
7394 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
7395 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
7396 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
7397 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
7398 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
7399 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
7400 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7401 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7402 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
7403 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
7404 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
7405 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
7406 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
7407 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
7408 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
7409 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
7410 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
7411 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
7412 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
7413 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7414 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
7415 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
7416 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
7417 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7418 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
7419 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
7420 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
7421 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
7422 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
7423 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7424 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7425 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7426 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7427 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7428 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7429 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7430 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
7431 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
7432 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7433 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7434 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7435 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7436 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
7437 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
7438 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
7439 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7440 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7441 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
7442
79cf14ae
RB
74432018-03-20 Richard Biener <rguenther@suse.de>
7444
7445 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
7446 parallelizable loop.
7447
14e335ed
IT
74482018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
7449
7450 PR target/84148
7451 * configure: Regenerate.
7452
83d9be55
JJ
74532018-02-16 Jakub Jelinek <jakub@redhat.com>
7454
7455 PR fortran/84418
7456 * libgomp.fortran/pr84418-1.f90: New test.
7457 * libgomp.fortran/pr84418-2.f90: New test.
7458
d1fe6124
JJ
74592018-02-14 Jakub Jelinek <jakub@redhat.com>
7460
7461 PR fortran/84313
7462 * testsuite/libgomp.fortran/threadprivate4.f90: Add
7463 -std=f2003 -fall-intrinsics into dg-additional-options.
7464
3d224921
MJ
74652018-02-08 Martin Jambor <mjambor@suse.cz>
7466
7467 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
7468 clonable.
7469
c7c30edd
MJ
74702018-02-08 Martin Jambor <mjambor@suse.cz>
7471
7472 * testsuite/libgomp.hsa.c/staticvar.c: New test.
7473
f320fdfd
RO
74742018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7475
7476 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
7477 [__cplusplus]: Declare extern "C".
7478
c31bc4ac
TV
74792018-02-07 Tom de Vries <tom@codesourcery.com>
7480
7481 PR libgomp/84217
7482 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
7483
99ae7ce5
CS
74842018-01-29 Christoph Spiel <cspiel@freenet.de>
7485 Jakub Jelinek <jakub@redhat.com>
7486
7487 PR libgomp/84096
7488 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
7489 instead of omp_lock_t.
7490
e77a1236
TV
74912018-01-25 Tom de Vries <tom@codesourcery.com>
7492
7493 PR target/84028
7494 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
7495
3dede32b
TV
74962018-01-24 Tom de Vries <tom@codesourcery.com>
7497
7498 PR target/83589
7499 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
7500
be606483
TV
75012018-01-24 Tom de Vries <tom@codesourcery.com>
7502
7503 PR target/81352
7504 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
7505
8c8e9a6b
TV
75062018-01-19 Tom de Vries <tom@codesourcery.com>
7507 Cesar Philippidis <cesar@codesourcery.com>
7508
7509 PR target/83920
7510 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
7511 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
7512
65e6aea3
JJ
75132018-01-03 Jakub Jelinek <jakub@redhat.com>
7514
85ec4feb
JJ
7515 Update copyright years.
7516
65e6aea3
JJ
7517 * libgomp.texi: Bump @copying's copyright year.
7518
60bf575c
TV
75192017-12-30 Tom de Vries <tom@codesourcery.com>
7520
7521 PR libgomp/83046
7522 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
7523 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
7524
7ec16b79
TV
75252017-12-27 Tom de Vries <tom@codesourcery.com>
7526
7527 PR c++/83046
7528 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
7529 (test_nonstatic): Fix return type to workaround PR83046.
7530
ac550b9a
JJ
75312017-12-05 Jakub Jelinek <jakub@redhat.com>
7532
7533 PR testsuite/83281
7534 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
7535 j suffix instead of i.
7536 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
7537 Likewise.
7538
ebdc83f0
CP
75392017-12-01 Cesar Philippidis <cesar@codesourcery.com>
7540
7541 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
7542 call to acc_wait (1).
7543
3b3e6283
JJ
75442017-11-24 Jakub Jelinek <jakub@redhat.com>
7545
7546 PR fortran/81304
7547 * testsuite/libgomp.fortran/pr81304.f90: New test.
7548
3b575376
JJ
75492017-11-23 Jakub Jelinek <jakub@redhat.com>
7550
7551 PR fortran/81841
7552 * libgomp.fortran/pr81841.f90: New test.
7553
b13547d8
JJ
75542017-11-22 Jakub Jelinek <jakub@redhat.com>
7555
7556 PR libgomp/83106
7557 * target.c (gomp_target_init): Compute lengths just once and
7558 use them in both malloc size and subsequent copying.
7559
efe33ced
IT
75602017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
7561
7562 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
7563 * acinclude.m4: Add cet.m4.
7564 * configure: Regenerate.
7565 * Makefile.in: Likewise.
7566 * testsuite/Makefile.in: Likewise.
7567
a7cf2612
TV
75682017-11-15 Tom de Vries <tom@codesourcery.com>
7569
7570 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
7571 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
7572 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
7573 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
7574 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
7575 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
7576
dde76623
TV
75772017-11-14 Tom de Vries <tom@codesourcery.com>
7578
7579 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
7580 non-nvidia devices.
7581
4dbeb716
JJ
75822017-11-07 Jakub Jelinek <jakub@redhat.com>
7583
7584 PR c++/82835
7585 * testsuite/libgomp.c++/pr82835.C: New test.
7586
454f8b2b
ML
75872017-11-06 Martin Liska <mliska@suse.cz>
7588
7589 * testsuite/libgomp.c++/loop-2.C: Return a value
7590 for functions with non-void return type, or change type to void,
7591 or add -Wno-return-type for test.
7592 * testsuite/libgomp.c++/loop-4.C: Likewise.
7593 * testsuite/libgomp.c++/parallel-1.C: Likewise.
7594 * testsuite/libgomp.c++/shared-1.C: Likewise.
7595 * testsuite/libgomp.c++/single-1.C: Likewise.
7596 * testsuite/libgomp.c++/single-2.C: Likewise.
7597
12e9c8ce
TV
75982017-10-31 Tom de Vries <tom@codesourcery.com>
7599
7600 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
7601 "do {} while (false)".
7602 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
7603 after HSA_DEBUG call.
7604
7324369a
JJ
76052017-10-28 Jakub Jelinek <jakub@redhat.com>
7606
7607 * target.c (struct gomp_coalesce_buf): New type.
7608 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
7609 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
7610 (gomp_copy_host2dev): Add CBUF argument, if copying into
7611 the cached ranges, memcpy into buffer instead of copying
7612 into device.
7613 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
7614 Add CBUF argument, pass it through to other calls.
7615 (gomp_map_vars): Aggregate copies from host to device if small enough
7616 and with small enough gaps in between into memcpy into a buffer and
7617 fewer host to device copies from the buffer.
7618 (gomp_update): Adjust gomp_copy_host2dev caller.
7619
933ab0e6
TS
76202017-10-17 Thomas Schwinge <thomas@codesourcery.com>
7621
7622 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
7623 run" directive.
7624 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7625 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7626 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7627 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7628
92d5d01a
TV
76292017-10-16 Tom de Vries <tom@codesourcery.com>
7630
7631 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
7632 openacc_nvidia_accel_selected.
7633 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
7634 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
7635 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
7636 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
7637 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
7638 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
7639 openacc_nvidia_accel_selected. Skip for shared memory device.
7640 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
7641 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
7642
191411e4
MJ
76432017-10-09 Martin Jambor <mjambor@suse.cz>
7644
7645 PR hsa/82416
7646 * testsuite/libgomp.hsa.c/pr82416.c: New test.
7647
e923330e
TV
76482017-10-07 Tom de Vries <tom@codesourcery.com>
7649
7650 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
7651 Remove acc_device_nvidia references.
7652 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
7653 Same.
7654
8fe3ed4c
TV
76552017-10-05 Tom de Vries <tom@codesourcery.com>
7656
7657 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
7658 vector_length(32) clause from acc parallel directive.
7659 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
7660
26596ee5
TV
76612017-10-04 Tom de Vries <tom@codesourcery.com>
7662
7663 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
7664 (main): Reduce sum of arr elements. Assert that hres is exactly
7665 representable in 32-bit floating point.
7666 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
7667 (main): Reduce sum of arr elements. Assert that hres and hmres are
7668 exactly representable in 32-bit floating point.
7669 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
7670
5c561fa9
TV
76712017-09-28 Tom de Vries <tom@codesourcery.com>
7672
7673 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
7674 setting.
7675 * testsuite/libgomp.c++/pr69393.C: Same.
7676 * testsuite/libgomp.c++/taskloop-1.C: Same.
7677 * testsuite/libgomp.c++/taskloop-3.C: Same.
7678 * testsuite/libgomp.c++/taskloop-4.C: Same.
7679 * testsuite/libgomp.c/for-4.c: Same.
7680 * testsuite/libgomp.c/pr66199-3.c: Same.
7681 * testsuite/libgomp.c/pr66199-4.c: Same.
7682 * testsuite/libgomp.c/pr66199-6.c: Same.
7683 * testsuite/libgomp.c/taskloop-1.c: Same.
7684 * testsuite/libgomp.c/taskloop-3.c: Same.
7685 * testsuite/libgomp.c/taskloop-4.c: Same.
7686 * testsuite/libgomp.fortran/aligned1.f03: Same.
7687 * testsuite/libgomp.fortran/condinc1.f: Same.
7688 * testsuite/libgomp.fortran/condinc3.f90: Same.
7689 * testsuite/libgomp.fortran/crayptr1.f90: Same.
7690 * testsuite/libgomp.fortran/crayptr2.f90: Same.
7691 * testsuite/libgomp.fortran/crayptr3.f90: Same.
7692 * testsuite/libgomp.fortran/omp_cond1.f: Same.
7693 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
7694 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
7695 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
7696 * testsuite/libgomp.fortran/recursion1.f90: Same.
7697 * testsuite/libgomp.fortran/target2.f90: Same.
7698 * testsuite/libgomp.fortran/target5.f90: Same.
7699 * testsuite/libgomp.fortran/task3.f90: Same.
7700
7d6206fe
TV
77012017-09-28 Tom de Vries <tom@codesourcery.com>
7702
7703 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
7704 vector_length(32) clause from acc parallel directive.
7705 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
7706
84c8627c
TV
77072017-09-27 Tom de Vries <tom@codesourcery.com>
7708
7709 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
7710 Remove acc_device_nvidia references.
7711
ebc6a85e
TV
77122017-09-16 Tom de Vries <tom@codesourcery.com>
7713
7714 PR c/81875
7715 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
7716
82419efb
TV
77172017-09-14 Tom de Vries <tom@codesourcery.com>
7718
7719 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
7720 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
7721 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
7722 * testsuite/libgomp.c/c.exp: Include test-cases from
7723 libgomp.c-c++-common.
7724 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
7725 files.
7726
8b586510
JJ
77272017-09-14 Jakub Jelinek <jakub@redhat.com>
7728
7729 PR c++/81314
7730 * testsuite/libgomp.c++/pr81314.C: New test.
7731
9651fbaf
GP
77322017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
7733
7734 * libgomp.texi (Top): www.openacc.org now uses https.
7735 (Enabling OpenACC): Ditto.
7736 (acc_get_num_devices): Ditto.
7737 (acc_set_device_type): Ditto.
7738 (acc_get_device_type): Ditto.
7739 (acc_set_device_num): Ditto.
7740 (acc_get_device_num): Ditto.
7741 (acc_async_test): Ditto.
7742 (acc_async_test_all): Ditto.
7743 (acc_wait): Ditto.
7744 (acc_wait_all): Ditto.
7745 (acc_wait_all_async): Ditto.
7746 (acc_wait_async): Ditto.
7747 (acc_init): Ditto.
7748 (acc_shutdown): Ditto.
7749 (acc_on_device): Ditto.
7750 (acc_malloc): Ditto.
7751 (acc_free): Ditto.
7752 (acc_copyin): Ditto.
7753 (acc_present_or_copyin): Ditto.
7754 (acc_create): Ditto.
7755 (acc_present_or_create): Ditto.
7756 (acc_copyout): Ditto.
7757 (acc_delete): Ditto.
7758 (acc_update_device): Ditto.
7759 (acc_update_self): Ditto.
7760 (acc_map_data): Ditto.
7761 (acc_unmap_data): Ditto.
7762 (acc_deviceptr): Ditto.
7763 (acc_hostptr): Ditto.
7764 (acc_is_present): Ditto.
7765 (acc_memcpy_to_device): Ditto.
7766 (acc_memcpy_from_device): Ditto.
7767 (acc_get_current_cuda_device): Ditto.
7768 (acc_get_current_cuda_context): Ditto.
7769 (acc_get_cuda_stream): Ditto.
7770 (acc_set_cuda_stream): Ditto.
7771 (ACC_DEVICE_TYPE): Ditto.
7772 (ACC_DEVICE_NUM): Ditto.
7773 (OpenACC Library Interoperability): Ditto.
7774
50aa16c3
JJ
77752017-08-09 Jakub Jelinek <jakub@redhat.com>
7776
7777 PR c/81687
7778 * testsuite/libgomp.c/pr81687-1.c: New test.
7779 * testsuite/libgomp.c/pr81687-2.c: New test.
7780
56b5041c
JJ
77812017-08-07 Jakub Jelinek <jakub@redhat.com>
7782
7783 PR c/69389
7784 * testsuite/libgomp.c/pr69389.c: New test.
7785 * testsuite/libgomp.c++/pr69389.C: New test.
7786
f4c222c0
TV
77872017-08-07 Tom de Vries <tom@codesourcery.com>
7788
7789 PR middle-end/78266
7790 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
7791 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
7792
a40ff0ae
JJ
77932017-07-27 Jakub Jelinek <jakub@redhat.com>
7794
7795 PR c/45784
7796 * testsuite/libgomp.c/pr45784.c: New test.
7797 * testsuite/libgomp.c++/pr45784.C: New test.
7798
3717fbe3
TV
77992017-07-19 Tom de Vries <tom@codesourcery.com>
7800
7801 * testsuite/libgomp.oacc-c/vec.c: New test.
7802
9607b014
TV
78032017-07-03 Tom de Vries <tom@codesourcery.com>
7804
7805 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
7806
dfb15f6b
TV
78072017-06-27 Tom de Vries <tom@codesourcery.com>
7808
7809 * plugin/plugin-nvptx.c (notify_var): New function.
7810 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
7811
22f1a037
TV
78122017-06-27 Tom de Vries <tom@codesourcery.com>
7813
7814 * env.c (parse_unsigned_long_1): Factor out of ...
7815 (parse_unsigned_long): ... here.
7816 (parse_int_1): Factor out of ...
7817 (parse_int): ... here.
7818 (parse_int_secure): New function.
7819 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
7820 * secure_getenv.h: Factor out of ...
7821 * plugin/plugin-hsa.c: ... here.
7822 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
7823
d54d1fc3
JJ
78242017-06-21 Jakub Jelinek <jakub@redhat.com>
7825
7826 PR c++/81130
7827 * testsuite/libgomp.c++/pr81130.C: New test.
7828
4f4b0ab8
RO
78292017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7830
7831 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
7832 default args.
7833 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
7834 dg-xfail-run-if default args.
7835
40ffd95f
BE
78362017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
7837
7838 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
7839 * testsuite/libgomp.c/pr39591-3.c: Likewise.
7840
01275e1e
JJ
78412017-05-30 Jakub Jelinek <jakub@redhat.com>
7842
7843 PR libgomp/80822
7844 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
7845 (gomp_affinity_init_level): Use it. Always analyze the core and thread
7846 sibling lists, depending on level just pick up what CPUs to put
7847 together into a place vs. whether add multiple ordered places.
7848
78672bd8
TS
78492017-05-24 Thomas Schwinge <thomas@codesourcery.com>
7850
7ce64403
TS
7851 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
7852 * libgomp.map (OACC_2.0.1): Add these.
7853 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
7854 for "acc_wait", and "acc_wait_all", respectively.
7855 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
7856 for "acc_wait", and "acc_wait_all", respectively.
7857 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
7858 * libgomp.texi (acc_wait, acc_wait_all): Update.
7859 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
7860 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
7861 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
7862
318686c2
TS
7863 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
7864 acc_present_or_copyin and acc_present_or_create procedures,
7865 respectively.
7866 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
7867 generally different variants of OpenACC Runtime Library functions.
7868 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7869
a6745534
TS
7870 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
7871 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7872
9b94fbc7
TS
7873 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
7874 of preprocessor definitions.
7875 * libgomp.h (strong_alias): Guard by "#ifdef
7876 HAVE_ATTRIBUTE_ALIAS".
7877 * oacc-mem.c: Provide "acc_pcreate" as alias for
7878 "acc_present_or_create", and "acc_pcopyin" as alias for
7879 "acc_present_or_copyin".
7880 * libgomp.map: New version "OACC_2.0.1".
7881 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
7882 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
7883 its content into...
7884 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
7885 Extend testing.
7886
78672bd8
TS
7887 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
7888 when disabling nvptx offloading.
7889
0c36d0d5
TS
78902017-05-23 Thomas Schwinge <thomas@codesourcery.com>
7891
fd71a9a2
TS
7892 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
7893 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
7894 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
7895
0c36d0d5
TS
7896 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
7897 * testsuite/lib/libgomp.exp
7898 (check_effective_target_openacc_nvidia_accel_configured): New
7899 proc.
7900 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
7901 (check_effective_target_c++): New procs.
7902 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
7903 (check_effective_target_c++): Likewise.
7904
c24783c4
JJ
79052017-05-22 Jakub Jelinek <jakub@redhat.com>
7906
655e5265
JJ
7907 PR middle-end/80809
7908 * testsuite/libgomp.c/pr80809-2.c: New test.
7909 * testsuite/libgomp.c/pr80809-3.c: New test.
7910
e9e2ef9f
JJ
7911 PR middle-end/80809
7912 * testsuite/libgomp.c/pr80809-1.c: New test.
7913
c24783c4
JJ
7914 PR middle-end/80853
7915 * testsuite/libgomp.c/pr80853.c: New test.
7916
0da2f96a
TS
79172017-05-19 Thomas Schwinge <thomas@codesourcery.com>
7918
7fd549d2
TS
7919 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
7920 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
7921 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7922 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
7923 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
7924
0da2f96a
TS
7925 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
7926 Debug output for failure.
7927
62ffe920
RO
79282017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7929
7930 * testsuite/lib/libgomp.exp: Load scanlang.exp.
7931
f49215b1
JJ
79322017-04-27 Jakub Jelinek <jakub@redhat.com>
7933
7934 PR bootstrap/80531
7935 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
7936 bootstrap compare failures.
7937
2260d19d
AM
79382017-04-20 Alexander Monakov <amonakov@ispras.ru>
7939
7940 * testsuite/libgomp.c/target-36.c: New testcase.
7941
19929ba9
JJ
79422017-04-13 Jakub Jelinek <jakub@redhat.com>
7943
7944 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
7945 instead of char.
7946
fbc698e0
JJ
79472017-04-11 Jakub Jelinek <jakub@redhat.com>
7948
7949 PR libgomp/80394
7950 * testsuite/libgomp.c/pr80394.c: New test.
7951
c4060df4
JJ
79522017-04-04 Jakub Jelinek <jakub@redhat.com>
7953
7954 PR libgomp/79876
7955 * config/posix/thread-stacksize.h: New file.
7956 * config/darwin/thread-stacksize.h: New file.
7957 * config/nvptx/thread-stacksize.h: New file.
7958 * env.c: Include thread-stacksize.h.
7959 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
7960 instead of 0. Call pthread_attr_setstacksize even if
7961 GOMP_DEFAULT_STACKSIZE is non-zero.
7962
e02d868a
JJ
79632017-03-30 Jakub Jelinek <jakub@redhat.com>
7964
7965 * env.c (initialize_env): Initialize stacksize to 0.
7966
7ba8651e
CP
79672017-03-22 Cesar Philippidis <cesar@codesourcery.com>
7968
7969 PR c++/80029
7970 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
7971
eebc5e2d
JJ
79722017-03-08 Jakub Jelinek <jakub@redhat.com>
7973
7974 PR c/79940
7975 * testsuite/libgomp.c/pr79940.c: New test.
7976
1eb08f52
RO
79772017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7978
7979 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
7980 targets.
7981 Add __float128 options.
7982
b0f78ff3
JDA
79832017-02-11 John David Anglin <danglin@gcc.gnu.org>
7984
7985 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
7986 hppa*-*-* dg-skip-if directive.
7987
1bbe0d8f
JJ
79882017-02-09 Jakub Jelinek <jakub@redhat.com>
7989
7990 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
7991 dg-skip-if directive into a comment.
7992
02889d23
CLT
79932017-02-09 Nathan Sidwell <nathan@codesourcery.com>
7994 Chung-Lin Tang <cltang@codesourcery.com>
7995
7996 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
7997 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
7998 add additional case.
7999 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
8000 "openacc_nvidia_accel_selected".
8001 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
8002 Add num_workers(8) clause.
8003
5896a41d
JDA
80042017-02-08 John David Anglin <danglin@gcc.gnu.org>
8005
8006 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
8007 hppa*-*-*.
8008 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
8009 include complex.h on hppa*-*-hpux*.
8010 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8011
345a8c17
TS
80122017-02-02 Thomas Schwinge <thomas@codesourcery.com>
8013
e70ab10d
TS
8014 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
8015
345a8c17
TS
8016 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
8017 GOMP_OFFLOAD_openacc_exec. Adjust all users.
8018 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
8019 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
8020 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
8021 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
8022 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
8023 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
8024 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
8025 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
8026
dced339c
TS
80272017-01-31 Thomas Schwinge <thomas@codesourcery.com>
8028
8029 * libgomp-plugin.h: #include <stdbool.h>.
8030 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
8031 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
8032 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
8033 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
8034 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
8035 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
8036 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
8037 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
8038 (GOMP_OFFLOAD_openacc_register_async_cleanup)
8039 (GOMP_OFFLOAD_openacc_async_test)
8040 (GOMP_OFFLOAD_openacc_async_test_all)
8041 (GOMP_OFFLOAD_openacc_async_wait)
8042 (GOMP_OFFLOAD_openacc_async_wait_async)
8043 (GOMP_OFFLOAD_openacc_async_wait_all)
8044 (GOMP_OFFLOAD_openacc_async_wait_all_async)
8045 (GOMP_OFFLOAD_openacc_async_set_async)
8046 (GOMP_OFFLOAD_openacc_create_thread_data)
8047 (GOMP_OFFLOAD_openacc_destroy_thread_data)
8048 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
8049 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
8050 (GOMP_OFFLOAD_openacc_get_cuda_stream)
8051 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
8052 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
8053 these.
8054 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
8055 (GOMP_OFFLOAD_unload_image): Fix argument types.
8056
23749904
JJ
80572017-01-26 Jakub Jelinek <jakub@redhat.com>
8058
c1cadde1
JJ
8059 * testsuite/lib/libgomp.exp
8060 (check_effective_target_hsa_offloading_selected_nocache): Fix up
8061 check_compile invocation. Fix up removal of executable. Drop
8062 bogus "2>&1" argument.
8063
23749904
JJ
8064 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
8065 directive.
8066
80672017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
8068 Martin Jambor <mjambor@suse.cz>
8069
8070 * plugin/hsa.h: Moved to top level include.
8071 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
8072
73aa401e
JJ
80732017-01-21 Jakub Jelinek <jakub@redhat.com>
8074
8075 PR other/79046
8076 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
8077 of cat to get version from BASE-VER file.
8078 * testsuite/Makefile.in: Regenerated.
8079
b32e85fa
JJ
80802017-01-19 Jakub Jelinek <jakub@redhat.com>
8081
8082 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
8083 for _WIN64.
8084
3c36aa6b
JJ
80852017-01-17 Jakub Jelinek <jakub@redhat.com>
8086
d190d5c0
JJ
8087 * plugin/hsa.h: Add GCC runtime library exception.
8088 * plugin/hsa_ext_finalize.h: Likewise.
8089
2393d337
JJ
8090 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
8091 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
8092 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
8093 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
8094 plugin/include/cuda as include dir and -ldl instead of -lcuda as
8095 library to link ptx plugin against.
8096 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
8097 (CUDA_CALLS): Define.
8098 (cuda_lib, cuda_lib_inited): New variables.
8099 (init_cuda_lib): New function.
8100 (CUDA_CALL_PREFIX): Define.
8101 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
8102 (CUDA_CALL): Use FN instead of (FN).
8103 (CUDA_CALL_NOCHECK): Define.
8104 (cuda_error, fini_streams_for_device, select_stream_for_async,
8105 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
8106 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
8107 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
8108 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
8109 CUDA_CALL_NOCHECK.
8110 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
8111 CUDA_CALL_NOCHECK.
8112 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
8113 Use CUDA_CALL_NOCHECK.
8114 * plugin/cuda/cuda.h: New file.
8115 * config.h.in: Regenerated.
8116 * configure: Regenerated.
8117
3c36aa6b
JJ
8118 PR other/79046
8119 * configure.ac: Add GCC_BASE_VER.
8120 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
8121 get version from BASE-VER file.
8122 * testsuite/Makefile.in: Regenerated.
8123 * configure: Regenerated.
8124 * Makefile.in: Regenerated.
8125
c508bc2d
FXC
81262017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8127
8128 PR libgomp/60670
8129 * Makefile.am: Make fincludedir multilib-aware.
8130 * Makefile.in: Regenerate.
8131
c1a9c369
JJ
81322017-01-01 Jakub Jelinek <jakub@redhat.com>
8133
cbe34bb5
JJ
8134 Update copyright years.
8135
c1a9c369
JJ
8136 * libgomp.texi: Bump @copying's copyright year.
8137
e7a7f4be
SH
81382016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
8139
8140 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
8141 pthread_spinlock_t instead of gomp_mutex_t lock.
8142 (gomp_get_thread_pool): Likewise.
8143 (gomp_release_thread_pool): Likewise.
8144 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
8145 Likewise.
8146
d313d52c
SH
81472016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
8148
8149 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
8150 thread pool in case nthreads == 1.
8151
630e3c3a
AM
81522016-11-30 Alexander Monakov <amonakov@ispras.ru>
8153
8154 * config/nvptx/env.c: Delete.
8155 * icv.c: Move definitions of ICV variables back ...
8156 * env.c: ...here. Do not compile environment-related functionality if
8157 LIBGOMP_OFFLOADED_ONLY is set.
8158
9e38af5c
AM
81592016-11-30 Alexander Monakov <amonakov@ispras.ru>
8160
8161 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
8162 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
8163 * configure: Regenerate.
8164 * config.h.in: Likewise.
8165
f96b7f1f
AM
81662016-11-30 Alexander Monakov <amonakov@ispras.ru>
8167
8168 * Makefile.in: Regenerate with automake-1.11.6.
8169 * aclocal.m4: Likewise.
8170 * configure: Likewise.
8171 * testsuite/Makefile.in: Likewise.
8172
6a6951b1
AM
81732016-11-28 Alexander Monakov <amonakov@ispras.ru>
8174
8175 * config/nvptx/critical.c: Delete to use generic implementation.
8176
c7ac071f
JH
81772016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
8178
8179 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
8180 ../../affinity.c as fallback.
8181 * config/nvptx/affinity.c: Delete to use fallback implementation.
8182
6103184e 81832016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 8184 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
8185 Dmitry Melnik <dm@ispras.ru>
8186
8187 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
8188 * Makefile.in. Regenerate.
8189 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
8190 (LIBGOMP_USE_PTHREADS): ...here; new define.
8191 * configure: Regenerate.
8192 * config.h.in: Likewise.
8193 * config/posix/affinity.c: Move to...
8194 * affinity.c: ...here (new file). Guard use of Pthreads-specific
8195 interface by LIBGOMP_USE_PTHREADS.
8196 * critical.c: Split out GOMP_atomic_{start,end} into...
8197 * atomic.c: ...here (new file).
8198 * env.c: Split out ICV definitions into...
8199 * icv.c: ...here (new file) and...
8200 * icv-device.c: ...here. New file.
8201 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
8202 (gomp_destroy_lock_30): Ditto.
8203 (gomp_set_lock_30): Ditto.
8204 (gomp_unset_lock_30): Ditto.
8205 (gomp_test_lock_30): Ditto.
8206 (gomp_init_nest_lock_30): Ditto.
8207 (gomp_destroy_nest_lock_30): Ditto.
8208 (gomp_set_nest_lock_30): Ditto.
8209 (gomp_unset_nest_lock_30): Ditto.
8210 (gomp_test_nest_lock_30): Ditto.
8211 * lock.c: New.
8212 * config/nvptx/lock.c: New.
8213 * config/nvptx/bar.c: New.
8214 * config/nvptx/bar.h: New.
8215 * config/nvptx/doacross.h: New.
8216 * config/nvptx/error.c: New.
8217 * config/nvptx/icv-device.c: New.
8218 * config/nvptx/mutex.h: New.
8219 * config/nvptx/pool.h: New.
8220 * config/nvptx/proc.c: New.
8221 * config/nvptx/ptrlock.h: New.
8222 * config/nvptx/sem.h: New.
8223 * config/nvptx/simple-bar.h: New.
8224 * config/nvptx/target.c: New.
8225 * config/nvptx/task.c: New.
8226 * config/nvptx/team.c: New.
8227 * config/nvptx/time.c: New.
8228 * config/posix/simple-bar.h: New.
8229 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
8230 (gomp_num_teams_var): Declare.
8231 (struct gomp_thread_pool): Change threads_dock member to
8232 gomp_simple_barrier_t.
8233 [__nvptx__] (gomp_thread): New implementation.
8234 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
8235 (gomp_thread_destructor): Ditto.
8236 (gomp_init_thread_affinity): Ditto.
8237 * team.c: Guard uses of Pthreads-specific interfaces by
8238 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
8239 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
8240 * config/nvptx/alloc.c: Delete.
8241 * config/nvptx/barrier.c: Ditto.
8242 * config/nvptx/fortran.c: Ditto.
8243 * config/nvptx/iter.c: Ditto.
8244 * config/nvptx/iter_ull.c: Ditto.
8245 * config/nvptx/loop.c: Ditto.
8246 * config/nvptx/loop_ull.c: Ditto.
8247 * config/nvptx/ordered.c: Ditto.
8248 * config/nvptx/parallel.c: Ditto.
8249 * config/nvptx/priority_queue.c: Ditto.
8250 * config/nvptx/sections.c: Ditto.
8251 * config/nvptx/single.c: Ditto.
8252 * config/nvptx/splay-tree.c: Ditto.
8253 * config/nvptx/work.c: Ditto.
8254 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
8255 -foffload=-lgfortran in addition to -lgfortran.
8256 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
8257 * plugin/plugin-nvptx.c: Include <limits.h>.
8258 (struct targ_fn_descriptor): Add new fields.
8259 (struct ptx_device): Ditto. Set them...
8260 (nvptx_open_device): ...here.
8261 (nvptx_adjust_launch_bounds): New.
8262 (nvptx_host2dev): Allow NULL 'nvthd'.
8263 (nvptx_dev2host): Ditto.
8264 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
8265 (link_ptx): Adjust log sizes.
8266 (nvptx_host2dev): Allow NULL 'nvthd'.
8267 (nvptx_dev2host): Ditto.
8268 (nvptx_set_clocktick): New. Use it...
8269 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
8270 fields.
8271 (GOMP_OFFLOAD_dev2dev): New.
8272 (nvptx_adjust_launch_bounds): New.
8273 (nvptx_stacks_size): New.
8274 (nvptx_stacks_alloc): New.
8275 (nvptx_stacks_free): New.
8276 (GOMP_OFFLOAD_run): New.
8277 (GOMP_OFFLOAD_async_run): New (stub).
8278
56b1c60e
MJ
82792016-11-23 Martin Jambor <mjambor@suse.cz>
8280
8281 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
8282 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
8283 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8284
b8d89b03 82852016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 8286 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
8287
8288 * plugin/hsa.h: New file.
8289 * plugin/hsa_ext_finalize.h: New file.
8290 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
8291 header file unistd.h, and functions secure_getenv, __secure_getenv,
8292 getuid, geteuid, getgid and getegid.
8293 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
8294 -D_GNU_SOURCE.
8295 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
8296 Handle various cases of secure_getenv presence, add an implementation
8297 when we can test effective UID and GID.
8298 (struct hsa_runtime_fn_info): New structure.
8299 (hsa_runtime_fn_info hsa_fns): New variable.
8300 (hsa_runtime_lib): Likewise.
8301 (support_cpu_devices): Likewise.
8302 (init_enviroment_variables): Load newly introduced ENV
8303 variables.
8304 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
8305 (hsa_fatal): Likewise.
8306 (DLSYM_FN): New macro.
8307 (init_hsa_runtime_functions): New function.
8308 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
8309 structure. Depending on environment, also allow CPU devices.
8310 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
8311 (get_kernarg_memory_region): Likewise.
8312 (GOMP_OFFLOAD_init_device): Likewise.
8313 (destroy_hsa_program): Likewise.
8314 (init_basic_kernel_info): New function.
8315 (GOMP_OFFLOAD_load_image): Use it.
8316 (create_and_finalize_hsa_program): Call hsa run-time functions via
8317 hsa_fns structure.
8318 (create_single_kernel_dispatch): Likewise.
8319 (release_kernel_dispatch): Likewise.
8320 (init_single_kernel): Likewise.
8321 (parse_target_attributes): Allow up multiple HSA grid dimensions.
8322 (get_group_size): New function.
8323 (run_kernel): Likewise.
8324 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
8325 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
8326 structure.
8327 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
8328 * testsuite/libgomp-test-support.exp.in: Likewise.
8329 * Makefile.in: Regenerated.
8330 * aclocal.m4: Likewise.
8331 * config.h.in: Likewise.
8332 * configure: Likewise.
8333 * testsuite/Makefile.in: Likewise.
8334
18d2ada8 83352016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 8336 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
8337
8338 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
8339 mapping clauses to target constructs.
8340 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
8341
84c1b9d3
MK
83422016-11-15 Matthias Klose <doko@ubuntu.com>
8343
8344 * configure: Regenerate.
8345
b4c3a85b
JJ
83462016-11-10 Jakub Jelinek <jakub@redhat.com>
8347
8ebd1b31
JJ
8348 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
8349 * omp_lib.h.in (openmp_version): Likewise.
8350 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
8351 of 201307.
8352 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8353
b4c3a85b
JJ
8354 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
8355 (fib_wrapper): Add map(from: x) clause.
8356 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
8357 (e_53_2): Likewise.
8358 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
8359 (accum): Add map(tmp) clause.
8360 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
8361 (accum): Add map(tofrom: tmp) clause.
8362 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
8363 (gramSchmidt): Likewise.
8364 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
8365 map(tofrom: sum) clause.
8366 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
8367 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
8368 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
8369 only allowed on the loop iterator.
8370 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
8371 * testsuite/libgomp.fortran/taskloop2.f90: New test.
8372 * testsuite/libgomp.fortran/taskloop4.f90: New test.
8373 * testsuite/libgomp.fortran/doacross1.f90: New test.
8374 * testsuite/libgomp.fortran/doacross3.f90: New test.
8375 * testsuite/libgomp.fortran/taskloop1.f90: New test.
8376 * testsuite/libgomp.fortran/taskloop3.f90: New test.
8377 * testsuite/libgomp.fortran/doacross2.f90: New test.
8378 * testsuite/libgomp.c/doacross-1.c (main): Add missing
8379 #pragma omp atomic read.
8380 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
8381 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
8382
6668eb45
CP
83832016-11-02 Cesar Philippidis <cesar@codesourcery.com>
8384 Nathan Sidwell <nathan@acm.org>
8385
8386 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
8387 to determine default geometry.
8388 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
8389 dimension.
8390
f10e37a1
JJ
83912016-11-01 Jakub Jelinek <jakub@redhat.com>
8392
8393 * hashtab.h: Use standard GPLv3 with runtime exception
8394 boilerplate.
8395
015c7760
AH
83962016-10-27 Aldy Hernandez <aldyh@redhat.com>
8397
8398 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
8399 size when allocating new thread.
8400
20a1e5b8
MP
84012016-09-14 Marek Polacek <polacek@redhat.com>
8402
8403 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
8404
1cad9284
JJ
84052016-08-19 Jakub Jelinek <jakub@redhat.com>
8406
8407 PR fortran/71014
8408 * testsuite/libgomp.fortran/pr71014.f90: New test.
8409
2c71d454
CLT
84102016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
8411
8412 PR middle-end/70895
8413 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
8414 firstprivate clauses.
8415 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
8416 copy clauses.
8417 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
8418 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8419 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
8420 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8421 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
8422 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8423 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
8424 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
8425 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
8426 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
8427 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
8428 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
8429
7c713714
CLT
84302016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
8431
8432 PR fortran/70598
8433 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
8434
5c934396
JJ
84352016-08-08 Jakub Jelinek <jakub@redhat.com>
8436
8437 PR c++/58706
8438 * testsuite/libgomp.c++/pr58706.C: New test.
8439
9ef64248
TS
84402016-08-04 Thomas Schwinge <thomas@codesourcery.com>
8441
bbc79c0e
TS
8442 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
8443 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
8444 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
8445 Likewise.
8446 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
8447 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
8448 Likewise.
8449 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
8450
9ef64248
TS
8451 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
8452 test, and don't hardcode -O0.
8453
c1311c86
NS
84542016-08-03 Nathan Sidwell <nathan@codesourcery.com>
8455
8456 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
8457
b1c9c068
CP
84582016-07-15 Cesar Philippidis <cesar@codesourcery.com>
8459
8460 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
8461 test.
8462
b4410f63
L
84632016-07-03 H.J. Lu <hongjiu.lu@intel.com>
8464
8465 PR middle-end/71734
8466 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
8467 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
8468
a8dbab92
JJ
84692016-07-01 Jakub Jelinek <jakub@redhat.com>
8470
8471 PR fortran/71717
8472 * testsuite/libgomp.fortran/associate3.f90: New test.
8473
9b6a8d0f
JJ
84742016-06-17 Jakub Jelinek <jakub@redhat.com>
8475
8476 * testsuite/libgomp.c++/target-21.C: New test.
8477
283635f9
JJ
84782016-06-16 Jakub Jelinek <jakub@redhat.com>
8479
8480 * testsuite/libgomp.c++/target-20.C: New test.
8481
27d6ba88
TS
84822016-06-10 Thomas Schwinge <thomas@codesourcery.com>
8483 Cesar Philippidis <cesar@codesourcery.com>
8484
8485 PR middle-end/71373
8486 * libgomp.oacc-c/nested-function-1.c: New file.
8487 * libgomp.oacc-c/nested-function-2.c: Likewise.
8488 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8489 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8490 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8491
4b1ffdb1
TS
84922016-06-10 Thomas Schwinge <thomas@codesourcery.com>
8493
8494 PR c/71381
8495 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
8496 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
8497 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
8498
d821b794
CLT
84992016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
8500
8501 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
8502 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
8503
3616a8c5
CP
85042016-06-01 Cesar Philippidis <cesar@codesourcery.com>
8505
8506 PR c/70688
5eed9a88 8507 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 8508
7211a097
JJ
85092016-05-26 Jakub Jelinek <jakub@redhat.com>
8510
8511 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
8512 instead of invalid schedule(static, 0).
8513 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
8514
b4557008
CLT
85152016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
8516
8517 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
8518 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
8519 parameter, use to set async stream around call to gomp_unmap_vars,
8520 call gomp_unmap_vars() with 'do_copyfrom' set to true.
8521 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
8522 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
8523 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
8524 (event_add): Add int parameter, initialize 'val' field when
8525 adding new ptx_event struct.
8526 (nvptx_evec): Adjust event_add() call arguments.
8527 (nvptx_host2dev): Likewise.
8528 (nvptx_dev2host): Likewise.
8529 (nvptx_wait_async): Likewise.
8530 (nvptx_wait_all_async): Likewise.
8531 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
8532 pass to event_add() call.
8533 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
8534 parameter.
8535 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
8536 call openacc.register_async_cleanup_func() hook.
8537 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
8538 * target.c (gomp_copy_from_async): Delete function.
8539 (gomp_map_vars): Remove async_refcount.
8540 (gomp_unmap_vars): Likewise.
8541 (gomp_load_image_to_device): Likewise.
8542 (omp_target_associate_ptr): Likewise.
8543 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
8544 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
8545 (gomp_copy_from_async): Remove.
8546
6ce13072
CLT
85472016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
8548
8549 * target.c (gomp_device_copy): New function.
8550 (gomp_copy_host2dev): Likewise.
8551 (gomp_copy_dev2host): Likewise.
8552 (gomp_free_device_memory): Likewise.
8553 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
8554 (gomp_map_pointer): Likewise.
8555 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
8556 NULL value from alloc_func plugin hook.
8557 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
8558 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
8559 (gomp_unmap_vars): Likewise.
8560 (gomp_update): Adjust to call gomp_copy_dev2host and
8561 gomp_copy_host2dev functions.
8562 (gomp_unload_image_from_device): Handle false value from
8563 unload_image_func plugin hook.
8564 (gomp_init_device): Handle false value from init_device_func
8565 plugin hook.
8566 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
8567 (omp_target_free): Adjust to call gomp_free_device_memory.
8568 (omp_target_memcpy): Handle return values from host2dev_func,
8569 dev2host_func, and dev2dev_func plugin hooks.
8570 (omp_target_memcpy_rect_worker): Likewise.
8571 (gomp_target_fini): Handle false value from fini_device_func
8572 plugin hook.
8573 * libgomp.h (struct gomp_device_descr): Adjust return type of
8574 init_device_func, fini_device_func, unload_image_func, free_func,
8575 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
8576 * oacc-init.c (acc_shutdown_1): Handle false value from
8577 fini_device_func plugin hook.
8578 * oacc-host.c (host_init_device): Change return type to bool.
8579 (host_fini_device): Likewise.
8580 (host_unload_image): Likewise.
8581 (host_free): Likewise.
8582 (host_dev2host): Likewise.
8583 (host_host2dev): Likewise.
8584 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
8585 (acc_memcpy_to_device): Likewise.
8586 (acc_memcpy_from_device): Likewise.
8587 (delete_copyout): Add libfnname parameter, handle free_func
8588 hook fatal error case.
8589 (acc_delete): Adjust delete_copyout call.
8590 (acc_copyout): Likewise.
8591 (update_dev_host): Move gomp_mutex_unlock to after
8592 host2dev/dev2host hook calls.
8593
8594 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
8595 to 'hsa_error_msg', for clarity.
8596 (hsa_fatal): Likewise.
8597 (hsa_error): New function.
8598 (init_hsa_context): Change return type to bool, adjust to return
8599 false on error.
8600 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
8601 return value.
8602 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
8603 return false on error.
8604 (get_agent_info): Adjust to return NULL on error.
8605 (destroy_hsa_program): Change return type to bool, adjust to
8606 return false on error.
8607 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
8608 (destroy_module): Change return type to bool, adjust to
8609 return false on error.
8610 (GOMP_OFFLOAD_unload_image): Likewise.
8611 (GOMP_OFFLOAD_fini_device): Likewise.
8612 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
8613 (GOMP_OFFLOAD_free): Change to return false when called.
8614 (GOMP_OFFLOAD_dev2host): Likewise.
8615 (GOMP_OFFLOAD_host2dev): Likewise.
8616 (GOMP_OFFLOAD_dev2dev): Likewise.
8617
8618 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
8619 (CUDA_CALL): Likewise.
8620 (CUDA_CALL_ASSERT): Likewise.
8621 (map_init): Change return type to bool, use CUDA_CALL* macros.
8622 (map_fini): Likewise.
8623 (init_streams_for_device): Change return type to bool, adjust
8624 call to map_init.
8625 (fini_streams_for_device): Change return type to bool, adjust
8626 call to map_fini.
8627 (select_stream_for_async): Release stream_lock before calls to
8628 GOMP_PLUGIN_fatal, adjust call to map_init.
8629 (nvptx_init): Use CUDA_CALL* macros.
8630 (nvptx_attach_host_thread_to_device): Change return type to bool,
8631 use CUDA_CALL* macros.
8632 (nvptx_open_device): Use CUDA_CALL* macros.
8633 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
8634 macros.
8635 (nvptx_get_num_devices): Use CUDA_CALL* macros.
8636 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
8637 (nvptx_exec): Use CUDA_CALL* macros.
8638 (nvptx_alloc): Use CUDA_CALL* macros.
8639 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
8640 (nvptx_host2dev): Likewise.
8641 (nvptx_dev2host): Likewise.
8642 (nvptx_wait): Use CUDA_CALL* macros.
8643 (nvptx_wait_async): Likewise.
8644 (nvptx_wait_all): Likewise.
8645 (nvptx_wait_all_async): Likewise.
8646 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
8647 use CUDA_CALL* macros, adjust call to map_fini.
8648 (GOMP_OFFLOAD_init_device): Change return type to bool,
8649 adjust code accordingly.
8650 (GOMP_OFFLOAD_fini_device): Likewise.
8651 (GOMP_OFFLOAD_load_image): Adjust calls to
8652 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
8653 use CUDA_CALL* macros.
8654 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
8655 return code.
8656 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
8657 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
8658 handle error return.
8659 (GOMP_OFFLOAD_dev2host): Likewise.
8660 (GOMP_OFFLOAD_host2dev): Likewise.
8661 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
8662 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
8663
e46c7770
CP
86642016-05-24 Cesar Philippidis <cesar@codesourcery.com>
8665
8666 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
8667 (acc_free): Likewise.
8668 (acc_memcpy_to_device): Likewise.
8669 (acc_memcpy_from_device): Likewise.
8670 (acc_deviceptr): Likewise.
8671 (acc_hostptr): Likewise.
8672 (acc_is_present): Likewise.
8673 (acc_map_data): Likewise.
8674 (acc_unmap_data): Likewise.
8675 (present_create_copy): Likewise.
8676 (delete_copyout): Likewise.
8677 (update_dev_host): Likewise.
8678 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
8679 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
8680 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
8681 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8682 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
8683 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
8684 it only runs on nvptx targets.
8685 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8686 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8687 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8688 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8689 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8690 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8691 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8692 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8693 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8694 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8695 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8696 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8697 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8698 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8699 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8700 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8701 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8702 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8703 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8704 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8705 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8706 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8707 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8708
a5057543
MJ
87092016-05-23 Martin Jambor <mjambor@suse.cz>
8710
8711 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
8712
e37288a6
CLT
87132016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
8714
8715 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
8716 to gomp_init_targets_once.
8717 (acc_set_device_type): Remove !cached_base_dev condition on call to
8718 gomp_init_targets_once, move call to before acc_device_lock acquire,
8719 to avoid deadlock.
8720 (acc_get_device_num): Remove !cached_base_dev condition on call to
8721 gomp_init_targets_once.
8722 (acc_set_device_num): Likewise.
8723
51d9ed48
MJ
87242016-05-16 Martin Jambor <mjambor@suse.cz>
8725
92a285c1 8726 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 8727
5b37e866
NS
87282016-05-02 Nathan Sidwell <nathan@codesourcery.com>
8729
8730 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
8731 expected partitioning.
8732
e7ff0319
CP
87332016-04-29 Cesar Philippidis <cesar@codesourcery.com>
8734
8735 PR middle-end/70626
8736 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
8737 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
8738 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
8739
c2bd3b69
AM
87402016-04-21 Alexander Monakov <amonakov@ispras.ru>
8741
8742 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
8743 non-fatal.
8744
84311083
JJ
87452016-04-19 Jakub Jelinek <jakub@redhat.com>
8746
8747 PR middle-end/70680
8748 * testsuite/libgomp.c/pr70680-1.c: New test.
8749 * testsuite/libgomp.c/pr70680-2.c: New test.
8750
aadc043f
CP
87512016-04-14 Cesar Philippidis <cesar@codesourcery.com>
8752
8753 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
8754 pass parameter variables to subroutines.
8755
e387fc64
CP
87562016-04-14 Cesar Philippidis <cesar@codesourcery.com>
8757
8758 PR middle-end/70643
8759 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
8760
10c3c424
CP
87612016-04-13 Cesar Philippidis <cesar@codesourcery.com>
8762
8763 PR testsuite/68242
8764 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
8765 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8766
27f9add3
TS
87672016-04-12 Thomas Schwinge <thomas@codesourcery.com>
8768
58d32aeb
TS
8769 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
8770 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
8771 GOACC_declare prototype.
8772
d97633ef
TS
8773 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
8774 Merge this file, and...
8775 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
8776 ... this file, and...
8777 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
8778 ... this file, and...
8779 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
8780 ... this file, and...
8781 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
8782 ... this file, and...
8783 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
8784 ... this file, and...
8785 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
8786 ... this file, and...
8787 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
8788 ... this file, and...
8789 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
8790 ... this file, and...
8791 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
8792 ... this file, and...
8793 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
8794 ... this file, and...
8795 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
8796 ... this file, and...
8797 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
8798 ... this file into...
8799 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
8800 file.
8801
27f9add3
TS
8802 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8803 Make failure observable.
8804
21f3a236
JJ
88052016-04-12 Jakub Jelinek <jakub@redhat.com>
8806
8807 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
8808 field.
8809 * target.c (gomp_target_fallback_firstprivate,
8810 gomp_target_unshare_firstprivate): Removed.
8811 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
8812 before waiting for dependencies.
8813 (gomp_target_task_fn): Don't copy firstprivate vars here.
8814 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
8815 firstprivate_copies here.
8816 (gomp_create_target_task): Don't initialize firstprivate_copies field.
8817 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
8818 explicit/implicit firstprivate.
8819
c42cfb5c
CP
88202016-04-08 Cesar Philippidis <cesar@codesourcery.com>
8821
8822 PR lto/70289
8823 PR ipa/70348
8824 PR tree-optimization/70373
8825 PR middle-end/70533
8826 PR middle-end/70534
8827 PR middle-end/70535
8828 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
8829 test.
8830 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
8831 test.
8832 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
8833 test.
8834 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
8835 test.
8836 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
8837 test.
8838 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
8839 test.
8840 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
8841 test.
8842 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
8843 test.
8844 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
8845 test.
8846 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
8847 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
8848 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
8849 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
8850 test.
8851 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
8852 test.
8853 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
8854 test.
8855 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
8856 test.
8857 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
8858 coverage.
8859 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
8860 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8861 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
8862 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
8863 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
8864 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
8865 coverage.
8866 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8867 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8868 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8869 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8870 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
8871 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
8872 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
8873 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
8874 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
8875 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8876 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8877 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8878 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8879 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8880 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
8881
2620c80d
TS
88822016-03-30 Thomas Schwinge <thomas@codesourcery.com>
8883 James Norris <jnorris@codesourcery.com>
8884 Nathan Sidwell <nathan@codesourcery.com>
8885 Julian Brown <julian@codesourcery.com>
8886 Cesar Philippidis <cesar@codesourcery.com>
8887 Chung-Lin Tang <cltang@codesourcery.com>
8888 Tom de Vries <tom@codesourcery.com>
8889
8890 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
8891 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8892 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8893 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
8894 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8895 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8896 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8897 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8898 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8899 XFAIL.
8900 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
8901 Incorporate...
8902 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
8903 file.
8904 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
8905 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
8906 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
8907 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
8908 Likewise.
8909 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
8910 Likewise.
8911 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
8912 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
8913 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
8914 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
8915 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8916 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8917 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8918 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8919 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8920 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
8921 Likewise.
8922 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
8923 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8924 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
8925 file...
8926 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
8927 file into...
8928 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
8929 file. Update.
8930 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
8931 file.
8932 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
8933 Likewise.
8934 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
8935 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
8936 ... this new file. Update.
8937 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
8938 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
8939 ... this new file. Update.
8940 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
8941 file. Incorporate...
8942 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
8943 file, and...
8944 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
8945 file, and...
8946 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
8947 file.
8948 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
8949
ce83104b
TS
89502016-03-29 Thomas Schwinge <thomas@codesourcery.com>
8951
8952 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
8953 set-torture-options.
8954
6e0df3b7
TS
89552016-03-24 Thomas Schwinge <thomas@codesourcery.com>
8956
8957 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
8958 gcc-dg-runtest.
8959 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8960 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
8961 -fno-builtin-acc_on_device instead of -O0.
8962 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
8963 -O0.
8964 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
8965 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
8966 Likewise.
8967 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
8968 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
8969 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
8970 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
8971 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
8972 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
8973 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
8974 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
8975 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
8976 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
8977 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
8978 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
8979 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
8980 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
8981 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
8982 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
8983 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
8984 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
8985 Don't specify -O2.
8986 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
8987 Likewise.
8988 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
8989 Likewise.
8990
f9c8babb
ML
89912016-03-24 Martin Liska <mliska@suse.cz>
8992
8993 * plugin/plugin-hsa.c (packet_store_release): New function
8994 that is taken from the HSA runtime manual.
8995 (GOMP_OFFLOAD_run): Use the function.
8996
04833609
JJ
89972016-03-23 Jakub Jelinek <jakub@redhat.com>
8998
8999 PR c++/70376
9000 * testsuite/libgomp.c++/pr70376.C: New test.
9001
d79ee524
TV
90022016-03-23 Tom de Vries <tom@codesourcery.com>
9003
9004 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
9005 initialization of lresult and lvresult.
9006 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
9007
b6d1f2b5
JN
90082016-03-23 James Norris <jnorris@codesourcery.com>
9009 Daichi Fukuoka <dc-fukuoka@sgi.com>
9010
9011 PR libgomp/69414
9012 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
9013 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
9014 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9015 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
9016
7397fce2
ML
90172016-03-23 Martin Liska <mliska@suse.cz>
9018
9019 PR hsa/70337
9020 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
9021 argument just in case a dispatched kernel uses that argument.
9022
ee2e7d51
TS
90232016-03-16 Thomas Schwinge <thomas@codesourcery.com>
9024
9025 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
9026 -ftree-parallelize-loops/-fopenacc changes.
9027 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
9028 Likewise.
9029 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9030 Likewise.
9031 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
9032 Likewise.
9033 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
9034 Likewise.
9035 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
9036 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
9037
be9f7143
TS
90382016-03-13 Thomas Schwinge <thomas@codesourcery.com>
9039
9040 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
9041 always_ld_library_path the path to libgcc_s.
9042
f6c1032d
CP
90432016-03-10 Cesar Philippidis <cesar@codesourcery.com>
9044
9045 PR testsuite/70009
9046 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
9047
5a6452e6
TV
90482016-03-09 Tom de Vries <tom@codesourcery.com>
9049
9050 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
9051 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
9052 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9053 Same.
9054 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
9055 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
9056 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
9057 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
9058
96a71bd5
MJ
90592016-03-07 Martin Jambor <mjambor@suse.cz>
9060
9061 * testsuite/lib/libgomp.exp
9062 (check_effective_target_hsa_offloading_selected_nocache): New.
9063 (check_effective_target_hsa_offloading_selected): Likewise.
9064 * testsuite/libgomp.hsa.c/c.exp: Likewise.
9065 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
9066 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
9067 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
9068 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
9069 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
9070 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
9071 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
9072 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
9073 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
9074 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
9075 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
9076 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
9077 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
9078 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
9079 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
9080 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
9081
02e0b5b2
MJ
90822016-03-07 Martin Jambor <mjambor@suse.cz>
9083
9084 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
9085 non-shared memory accelerators.
9086 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
9087 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
9088 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
9089 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
9090 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
9091 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
9092 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
9093 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
9094 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
9095
45548f30
MJ
90962016-03-07 Martin Jambor <mjambor@suse.cz>
9097
9098 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
9099 ALWAYS_CFLAGS.
9100
da3d46cb
JJ
91012016-03-02 Jakub Jelinek <jakub@redhat.com>
9102
9103 PR libgomp/69555
9104 * testsuite/libgomp.c++/pr69555-1.C: New test.
9105 * testsuite/libgomp.c++/pr69555-2.C: New test.
9106
622174b2
KM
91072016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
9108 Martin Jambor <mjambor@suse.cz>
9109
9110 * testsuite/lib/libgomp.exp
9111 (check_effective_target_offload_device_shared_as): New proc.
9112 * testsuite/libgomp.c++/declare_target-1.C: New test.
9113
e6861a99
IV
91142016-02-25 Ilya Verbin <ilya.verbin@intel.com>
9115
9116 PR driver/68463
9117 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
9118
f99c3557
TS
91192016-02-23 Thomas Schwinge <thomas@codesourcery.com>
9120
9121 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
9122 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
9123 dims.
9124 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
9125 -ftree-parallelize-loops/-fopenacc changes.
9126 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
9127 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
9128 Likewise.
9129 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
9130 Likewise.
9131 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
9132 Likewise.
9133 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
9134 Likewise.
9135 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
9136 Likewise.
9137 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
9138 Likewise.
9139 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
9140 Likewise.
9141 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
9142 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
9143 Likewise.
9144 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
9145 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
9146 Likewise.
9147 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
9148 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
9149 Likewise.
9150
d5ace3b5
CP
91512016-02-22 Cesar Philippidis <cesar@codesourcery.com>
9152
9153 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
9154
f3609a89
JJ
91552016-02-19 Jakub Jelinek <jakub@redhat.com>
9156
9157 PR driver/69805
9158 * testsuite/libgomp.c/pr69805.c: New test.
9159
2175df99
TV
91602016-02-16 Tom de Vries <tom@codesourcery.com>
9161
9162 PR lto/67709
9163 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
9164
17b6426c
TV
91652016-02-09 Tom de Vries <tom@codesourcery.com>
9166
9167 PR tree-optimization/69599
9168 * testsuite/libgomp.c/omp-nested-3.c: New test.
9169 * testsuite/libgomp.c/pr46032-2.c: New test.
9170 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
9171 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
9172
34df756c
TV
91732016-02-09 Tom de Vries <tom@codesourcery.com>
9174
9175 PR lto/69707
9176 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
9177
5854ee30
AM
91782016-02-02 Alexander Monakov <amonakov@ispras.ru>
9179
9180 * testsuite/libgomp.c/target-31.c: Fix testcase.
9181
e70b6ad7
AM
91822016-02-02 Alexander Monakov <amonakov@ispras.ru>
9183
9184 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
9185 clause.
9186 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
9187 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
9188 reduction and map clauses.
9189 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
9190
bd78a45f
JN
91912016-02-02 James Norris <jnorris@codesourcery.com>
9192
9193 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
9194
41d809d3
TS
91952016-02-02 Thomas Schwinge <thomas@codesourcery.com>
9196
18f60146
TS
9197 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
9198 * oacc-parallel.c (GOACC_host_data): Remove function definition.
9199
1a06f5e6
TS
9200 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
9201 cases.
9202
033ff3d1
TS
9203 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
9204 variables.
9205 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
9206 (hsa_kmt_lib): Set variables.
9207 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
9208 always_ld_library_path.
9209 * Makefile.in: Regenerate.
9210 * configure: Likewise.
9211 * testsuite/Makefile.in: Likewise.
9212
4a88d9b7
TS
9213 * plugin/configfrag.ac (offload_additional_options)
9214 (offload_additional_lib_paths): Don't amend for hsa offloading.
9215 * configure: Regenerate.
9216
41d809d3
TS
9217 * plugin/configfrag.ac: Don't configure for offloading target if
9218 we don't build the corresponding plugin.
9219 * configure: Regenerate.
9220
b6adbb9f
NS
92212016-02-01 Nathan Sidwell <nathan@codesourcery.com>
9222
9223 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
9224 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
9225
8dfdb419
TV
92262016-01-26 Tom de Vries <tom@codesourcery.com>
9227
9228 PR tree-optimization/69110
9229 * testsuite/libgomp.c/pr69110.c: New test.
9230
02ef53f2
RB
92312016-01-25 Richard Biener <rguenther@suse.de>
9232
9233 PR lto/69393
9234 * testsuite/libgomp.c++/pr69393.C: New testcase.
9235
eb4048f2
IV
92362016-01-22 Ilya Verbin <ilya.verbin@intel.com>
9237
9238 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
9239 function wasn't mapped to the device with non-shared memory.
9240
b235cdd5
IV
92412016-01-20 Ilya Verbin <ilya.verbin@intel.com>
9242
9243 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
9244
b2b40051
MJ
92452016-01-19 Martin Jambor <mjambor@suse.cz>
9246 Martin Liska <mliska@suse.cz>
9247
9248 * plugin/Makefrag.am: Add HSA plugin requirements.
9249 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
9250 (HSA_RUNTIME_LIB): Likewise.
9251 (HSA_RUNTIME_CPPFLAGS): Likewise.
9252 (HSA_RUNTIME_INCLUDE): New substitution.
9253 (HSA_RUNTIME_LIB): Likewise.
9254 (HSA_RUNTIME_LDFLAGS): Likewise.
9255 (hsa-runtime): New configure option.
9256 (hsa-runtime-include): Likewise.
9257 (hsa-runtime-lib): Likewise.
9258 (PLUGIN_HSA): New substitution variable.
9259 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
9260 configure options.
9261 (PLUGIN_HSA_CPPFLAGS): Likewise.
9262 (PLUGIN_HSA_LDFLAGS): Likewise.
9263 (PLUGIN_HSA_LIBS): Likewise.
9264 Check that we have access to HSA run-time.
9265 * libgomp-plugin.h (offload_target_type): New element
9266 OFFLOAD_TARGET_TYPE_HSA.
9267 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
9268 args.
9269 (bool gomp_create_target_task): Updated.
9270 (gomp_device_descr): Extra parameter of run_func and async_run_func,
9271 new field can_run_func.
9272 * libgomp_g.h (GOMP_target_ext): Update prototype.
9273 * oacc-host.c (host_run): Added a new parameter args.
9274 * target.c (calculate_firstprivate_requirements): New function.
9275 (copy_firstprivate_data): Likewise.
9276 (gomp_target_fallback_firstprivate): Use them.
9277 (gomp_target_unshare_firstprivate): New function.
9278 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
9279 devices.
9280 (GOMP_target): Do host fallback for all shared memory devices. Do not
9281 pass any args to plugins.
9282 (GOMP_target_ext): Introduce device-specific argument parameter args.
9283 Allow host fallback if device shares memory. Do not remap data if
9284 device has shared memory.
9285 (gomp_target_task_fn): Likewise. Also treat shared memory devices
9286 like host fallback for mappings.
9287 (GOMP_target_data): Treat shared memory devices like host fallback.
9288 (GOMP_target_data_ext): Likewise.
9289 (GOMP_target_update): Likewise.
9290 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
9291 gomp_create_target_task.
9292 (GOMP_target_enter_exit_data): Likewise.
9293 (omp_target_alloc): Treat shared memory devices like host fallback.
9294 (omp_target_free): Likewise.
9295 (omp_target_is_present): Likewise.
9296 (omp_target_memcpy): Likewise.
9297 (omp_target_memcpy_rect): Likewise.
9298 (omp_target_associate_ptr): Likewise.
9299 (gomp_load_plugin_for_device): Also load can_run.
9300 * task.c (GOMP_PLUGIN_target_task_completion): Free
9301 firstprivate_copies.
9302 (gomp_create_target_task): Accept new argument args and store it to
9303 ttask.
9304 * plugin/plugin-hsa.c: New file.
9305
5d7804a9
TV
93062016-01-18 Tom de Vries <tom@codesourcery.com>
9307
9308 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
9309 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
9310 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
9311 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
9312 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
9313 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
9314 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
9315 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
9316 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
9317 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
9318 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
9319 Same.
9320 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
9321 Same.
9322 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
9323 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
9324 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
9325 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
9326 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
9327 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
9328 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
9329 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
9330 Same.
9331 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
9332
cb11f3cf
JJ
93332016-01-15 Jakub Jelinek <jakub@redhat.com>
9334
9335 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
9336
33a126a6
CP
93372016-01-15 Cesar Philippidis <cesar@codesourcery.com>
9338
9339 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
9340
cdf6119d
JN
93412016-01-12 James Norris <jnorris@codesourcery.com>
9342
9343 * libgomp.texi: Updates for OpenACC.
9344
0d58938e
AM
93452016-01-11 Alexander Monakov <amonakov@ispras.ru>
9346
9347 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
9348
95918b49
L
93492016-01-07 H.J. Lu <hongjiu.lu@intel.com>
9350
9351 PR fortran/66680
9352 * testsuite/libgomp.fortran/pr66680.f90: New test.
9353
8fc708b7
JJ
93542016-01-07 Jakub Jelinek <jakub@redhat.com>
9355
9356 PR middle-end/68960
9357 * testsuite/libgomp.c/pr68960.c: New test.
9358
e9b596c1
NS
93592016-01-06 Nathan Sidwell <nathan@acm.org>
9360
1a14faf2 9361 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
9362 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
9363
21fa2a29
JJ
93642016-01-04 Jakub Jelinek <jakub@redhat.com>
9365
818ab71a
JJ
9366 Update copyright years.
9367
21fa2a29
JJ
9368 * libgomp.texi: Bump @copying's copyright year.
9369
9310efbc
NS
93702015-12-31 Nathan Sidwell <nathan@acm.org>
9371
9372 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
9373 dg-additional-options syntax.
9374 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9375 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9376 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9377 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9378 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9379 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9380 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9381 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9382 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9383 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9384 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9385 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9386 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9387 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9388 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9389 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9390 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9391 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9392
4a38b02b
IV
93932015-12-15 Ilya Verbin <ilya.verbin@intel.com>
9394
9395 * libgomp.h (REFCOUNT_LINK): Define.
9396 (struct splay_tree_key_s): Add link_key.
9397 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
9398 Replace target address of the pointer with target address of newly
9399 mapped object in the splay tree. Set link pointer on target to the
9400 device address of the mapped object.
9401 (gomp_unmap_vars): Restore target address of the pointer in the splay
9402 tree for REFCOUNT_LINK objects after unmapping.
9403 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
9404 declare target link" objects.
9405 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
9406 "omp declare target link" objects, which were mapped for the image.
9407 (gomp_exit_data): Restore target address of the pointer in the splay
9408 tree for REFCOUNT_LINK objects after unmapping.
9409 * testsuite/libgomp.c/target-link-1.c: New file.
9410
d84ffc0a
IV
94112015-12-14 Ilya Verbin <ilya.verbin@intel.com>
9412
9413 * libgomp.h (gomp_device_state): New enum.
9414 (struct gomp_device_descr): Replace is_initialized with state.
9415 (gomp_fini_device): Remove declaration.
9416 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
9417 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
9418 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
9419 (acc_set_device_type): Use state instead of is_initialized.
9420 (acc_set_device_num): Likewise.
9421 * target.c (resolve_device): Use state instead of is_initialized.
9422 Do not initialize finalized device.
9423 (gomp_map_vars): Do nothing if device is finalized.
9424 (gomp_unmap_vars): Likewise.
9425 (gomp_update): Likewise.
9426 (GOMP_offload_register_ver): Use state instead of is_initialized.
9427 (GOMP_offload_unregister_ver): Likewise.
9428 (gomp_init_device): Likewise.
9429 (gomp_unload_device): Likewise.
9430 (gomp_fini_device): Remove.
9431 (gomp_get_target_fn_addr): Do nothing if device is finalized.
9432 (GOMP_target): Go to host fallback if device is finalized.
9433 (GOMP_target_ext): Likewise.
9434 (gomp_exit_data): Do nothing if device is finalized.
9435 (gomp_target_task_fn): Go to host fallback if device is finalized.
9436 (gomp_target_fini): New static function.
9437 (gomp_target_init): Use state instead of is_initialized.
9438 Call gomp_target_fini at exit.
9439
76680678
TV
94402015-12-09 Tom de Vries <tom@codesourcery.com>
9441
9442 PR tree-optimization/68716
9443 * testsuite/libgomp.c/omp-nested-2.c: New test.
9444
ff7a55bf
TS
94452015-12-02 Thomas Schwinge <thomas@codesourcery.com>
9446
9447 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
9448 target openacc_nvidia_accel_selected.
9449 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
9450 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
9451 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
9452 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
9453
37d5ad46
JB
94542015-12-01 Julian Brown <julian@codesourcery.com>
9455 James Norris <James_Norris@mentor.com>
9456
9457 * oacc-parallel.c (GOACC_host_data): New function.
9458 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
9459 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
9460 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
9461 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
9462 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
9463 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
9464 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
9465
db941d7e
CP
94662015-11-30 James Norris <jnorris@codesourcery.com>
9467 Cesar Philippidis <cesar@codesourcery.com>
9468
9469 libgomp/
9470 * libgomp.oacc-fortran/routine-5.f90: New test.
9471 * libgomp.oacc-fortran/routine-7.f90: New test.
9472 * libgomp.oacc-fortran/routine-9.f90: New test.
9473
e0ca27c5
TV
94742015-11-30 Tom de Vries <tom@codesourcery.com>
9475
9476 PR tree-optimization/46032
9477 * testsuite/libgomp.c/pr46032.c: New test.
9478
aec17bfe
JJ
94792015-11-27 Jakub Jelinek <jakub@redhat.com>
9480
8e4e4719
JJ
9481 PR libgomp/68579
9482 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
9483 (gomp_create_target_task): Call it before freeing
9484 GOMP_TARGET_TASK_DATA tasks.
9485
aec17bfe
JJ
9486 PR c/63326
9487 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
9488 in between case label and OpenMP standalone directives.
9489 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
9490
6cfe90e6
DE
94912015-11-26 David Edelsohn <dje.gcc@gmail.com>
9492
9493 * configure: Regenerate.
9494
0e65fd7d
JJ
94952015-11-26 Jakub Jelinek <jakub@redhat.com>
9496
9497 * testsuite/libgomp.c/target-35.c: New test.
9498
dc7a8b4b
JN
94992015-11-22 James Norris <jnorris@codesourcery.com>
9500 Cesar Philippidis <cesar@codesourcery.com>
9501
9502 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
9503 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
9504 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
9505 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
9506 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
9507
48a78aee
JJ
95082015-11-20 Jakub Jelinek <jakub@redhat.com>
9509
9510 PR middle-end/68221
9511 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
9512 * testsuite/libgomp.c/reduction-12.c: Likewise.
9513 * testsuite/libgomp.c++/reduction-11.C: Likewise.
9514 * testsuite/libgomp.c++/reduction-12.C: Likewise.
9515
2d256816
NS
95162015-11-19 Nathan Sidwell <nathan@codesourcery.com>
9517
9518 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
9519 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
9520 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
9521 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
9522 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
9523 and fix.
9524 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9525 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9526
33f47f42
NS
95272015-11-18 Nathan Sidwell <nathan@codesourcery.com>
9528
9529 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
9530 worker & gang cases.
9531 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9532
3d7bfee0
CP
95332015-11-17 Cesar Philippidis <cesar@codesourcery.com>
9534
9535 * config/nvptx/priority_queue.c: New file.
9536
00b9bd52
JJ
95372015-11-14 Jakub Jelinek <jakub@redhat.com>
9538
9539 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
9540 sections.
9541
e4606348
JJ
95422015-11-14 Jakub Jelinek <jakub@redhat.com>
9543 Aldy Hernandez <aldyh@redhat.com>
9544 Ilya Verbin <ilya.verbin@intel.com>
9545
9546 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
9547 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
9548 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
9549 iterators or IV by chunk size.
9550 * parallel.c (gomp_resolve_num_threads): Don't assume that
9551 if thr->ts.team is non-NULL, then pool must be non-NULL.
9552 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
9553 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
9554 GOMP_PLUGIN_target_task_completion.
9555 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
9556 * Makefile.in: Regenerate.
9557 * libgomp.h: Shuffle prototypes and forward definitions around so
9558 priority queues can be defined.
9559 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
9560 (enum gomp_target_task_state): New enum.
9561 (struct gomp_target_task): Add state, tgt, task and team fields.
9562 (gomp_create_target_task): Change return type to bool, add
9563 state argument.
9564 (gomp_target_task_fn): Change return type to bool.
9565 (struct gomp_device_descr): Add async_run_func.
9566 (struct gomp_task): Remove children, next_child, prev_child,
9567 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
9568 Add pnode field.
9569 (struct gomp_taskgroup): Remove children.
9570 Add taskgroup_queue.
9571 (struct gomp_team): Change task_queue type to a priority queue.
9572 (splay_compare): Define inline.
9573 (priority_queue_offset): New.
9574 (priority_node_to_task): New.
9575 (task_to_priority_node): New.
9576 * oacc-mem.c: Do not include splay-tree.h.
9577 * priority_queue.c: New file.
9578 * priority_queue.h: New file.
9579 * splay-tree.c: Do not include splay-tree.h.
9580 (splay_tree_foreach_internal): New.
9581 (splay_tree_foreach): New.
9582 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
9583 (splay_tree_callback): Define typedef.
9584 * target.c (splay_compare): Move to libgomp.h.
9585 (GOMP_target): Don't adjust *thr in any way around running offloaded
9586 task.
9587 (GOMP_target_ext): Likewise. Handle target nowait.
9588 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
9589 return value from gomp_create_target_task, if false, fallthrough
9590 as if no dependencies exist.
9591 (gomp_target_task_fn): Change return type to bool, return true
9592 if the task should have another part scheduled later. Handle
9593 target nowait.
9594 (gomp_load_plugin_for_device): Initialize async_run.
9595 * task.c (gomp_init_task): Initialize children_queue.
9596 (gomp_clear_parent_in_list): New.
9597 (gomp_clear_parent_in_tree): New.
9598 (gomp_clear_parent): Handle priorities.
9599 (GOMP_task): Likewise.
9600 (priority_queue_move_task_first,
9601 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
9602 New functions.
9603 (gomp_create_target_task): Use priority queues. Change return type
9604 to bool, add state argument, return false if for async
9605 {{enter,exit} data,update} constructs no dependencies need to be
9606 waited for, handle target nowait. Set task->fn to NULL instead of
9607 gomp_target_task_fn.
9608 (verify_children_queue): Remove.
9609 (priority_list_upgrade_task): New.
9610 (priority_queue_upgrade_task): New.
9611 (verify_task_queue): Remove.
9612 (priority_list_downgrade_task): New.
9613 (priority_queue_downgrade_task): New.
9614 (gomp_task_run_pre): Use priority queues.
9615 Abstract code out to priority_queue_downgrade_task.
9616 (gomp_task_run_post_handle_dependers): Use priority queues.
9617 (gomp_task_run_post_remove_parent): Likewise.
9618 (gomp_task_run_post_remove_taskgroup): Likewise.
9619 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
9620 tasks specially.
9621 (GOMP_taskwait): Likewise.
9622 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
9623 priority-queue_upgrade_task.
9624 (GOMP_taskgroup_start): Use priority queues.
9625 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
9626 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
9627 barrier.
9628 * taskloop.c (GOMP_taskloop): Handle priorities.
9629 * team.c (gomp_new_team): Call priority_queue_init.
9630 (free_team): Call priority_queue_free.
9631 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
9632 team created for target nowait in implicit parallel region.
9633 (gomp_team_start): For nested check, test thr->ts.level instead of
9634 thr->ts.team != NULL.
9635 * testsuite/libgomp.c/doacross-3.c: New test.
9636 * testsuite/libgomp.c/ordered-5.c: New test.
9637 * testsuite/libgomp.c/priority.c: New test.
9638 * testsuite/libgomp.c/target-31.c: New test.
9639 * testsuite/libgomp.c/target-32.c: New test.
9640 * testsuite/libgomp.c/target-33.c: New test.
9641 * testsuite/libgomp.c/target-34.c: New test.
9642
1d1ab74f
NS
96432015-11-13 Nathan Sidwell <nathan@codesourcery.com>
9644
c5a64cfe
NS
9645 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
9646
1d1ab74f
NS
9647 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
9648 loop is sequential.
9649
dd3c1b14
NS
96502015-11-13 Nathan Sidwell <nathan@codesourcery.com>
9651
9652 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
9653 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
9654
6e232ba4
JN
96552015-11-12 James Norris <jnorris@codesourcery.com>
9656 Joseph Myers <joseph@codesourcery.com>
9657
9658 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
9659 * oacc-parallel.c (GOACC_declare): New function.
9660 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
9661 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
9662 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
9663 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
9664 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
9665
fffeedeb
NS
96662015-11-12 Nathan Sidwell <nathan@codesourcery.com>
9667
9668 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
9669
182190f2
NS
96702015-11-1 Nathan Sidwell <nathan@codesourcery.com>
9671
9672 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
9673 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
9674
36fa0f5f
NS
96752015-11-09 Nathan Sidwell <nathan@codesourcery.com>
9676
d350c40c
NS
9677 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
9678 inadvertent commit.
9679
96802015-11-09 Nathan Sidwell <nathan@codesourcery.com>
9681
36fa0f5f
NS
9682 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
9683 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
9684 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
9685 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
9686 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
9687
66a5f0b4
TS
96882015-11-06 Thomas Schwinge <thomas@codesourcery.com>
9689
9690 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
9691 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9692
e01d41e5
JJ
96932015-11-05 Jakub Jelinek <jakub@redhat.com>
9694 Ilya Verbin <ilya.verbin@intel.com>
9695
9696 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
9697 GOMP_loop_nonmonotonic_dynamic_start,
9698 GOMP_loop_nonmonotonic_guided_next,
9699 GOMP_loop_nonmonotonic_guided_start,
9700 GOMP_loop_ull_nonmonotonic_dynamic_next,
9701 GOMP_loop_ull_nonmonotonic_dynamic_start,
9702 GOMP_loop_ull_nonmonotonic_guided_next,
9703 GOMP_loop_ull_nonmonotonic_guided_start,
9704 GOMP_parallel_loop_nonmonotonic_dynamic,
9705 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
9706 (GOMP_target_41): Renamed to ...
9707 (GOMP_target_ext): ... this. Add num_teams and thread_limit
9708 arguments.
9709 (GOMP_target_data_41): Renamed to ...
9710 (GOMP_target_data_ext): ... this.
9711 (GOMP_target_update_41): Renamed to ...
9712 (GOMP_target_update_ext): ... this.
9713 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
9714 GOMP_target_data_ext and GOMP_target_update_ext instead of
9715 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
9716 Export GOMP_loop_nonmonotonic_dynamic_next,
9717 GOMP_loop_nonmonotonic_dynamic_start,
9718 GOMP_loop_nonmonotonic_guided_next,
9719 GOMP_loop_nonmonotonic_guided_start,
9720 GOMP_loop_ull_nonmonotonic_dynamic_next,
9721 GOMP_loop_ull_nonmonotonic_dynamic_start,
9722 GOMP_loop_ull_nonmonotonic_guided_next,
9723 GOMP_loop_ull_nonmonotonic_guided_start,
9724 GOMP_parallel_loop_nonmonotonic_dynamic and
9725 GOMP_parallel_loop_nonmonotonic_guided.
9726 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
9727 GOMP_parallel_loop_nonmonotonic_guided,
9728 GOMP_loop_nonmonotonic_dynamic_start,
9729 GOMP_loop_nonmonotonic_guided_start,
9730 GOMP_loop_nonmonotonic_dynamic_next,
9731 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
9732 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
9733 GOMP_loop_ull_nonmonotonic_guided_start,
9734 GOMP_loop_ull_nonmonotonic_dynamic_next,
9735 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
9736 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
9737 functions.
9738 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
9739 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
9740 Use gomp_map_val function.
9741 (gomp_target_fallback_firstprivate): New static function.
9742 (GOMP_target_41): Renamed to ...
9743 (GOMP_target_ext): ... this. Add num_teams and thread_limit
9744 arguments. Move firstprivate fallback handling into a new
9745 function.
9746 (GOMP_target_data_41): Renamed to ...
9747 (GOMP_target_data_ext): ... this.
9748 (GOMP_target_update_41): Renamed to ...
9749 (GOMP_target_update_ext): ... this.
9750 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
9751 gomp_map_0len_lookup instead of gomp_map_lookup.
9752 (omp_target_is_present): Use gomp_map_0len_lookup instead of
9753 gomp_map_lookup.
9754 * testsuite/libgomp.c/target-28.c: Likewise.
9755 * testsuite/libgomp.c/monotonic-1.c: New test.
9756 * testsuite/libgomp.c/monotonic-2.c: New test.
9757 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
9758 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
9759 * testsuite/libgomp.c/pr66199-5.c: New test.
9760 * testsuite/libgomp.c/pr66199-6.c: New test.
9761 * testsuite/libgomp.c/pr66199-7.c: New test.
9762 * testsuite/libgomp.c/pr66199-8.c: New test.
9763 * testsuite/libgomp.c/pr66199-9.c: New test.
9764 * testsuite/libgomp.c/reduction-11.c: New test.
9765 * testsuite/libgomp.c/reduction-12.c: New test.
9766 * testsuite/libgomp.c/reduction-13.c: New test.
9767 * testsuite/libgomp.c/reduction-14.c: New test.
9768 * testsuite/libgomp.c/reduction-15.c: New test.
9769 * testsuite/libgomp.c/target-12.c (main): Adjust for
9770 omp_target_is_present change for one-past-last element.
9771 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
9772 the same var is both mapped and privatized.
9773 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
9774 handling of zero-length array sections.
9775 * testsuite/libgomp.c/target-28.c: New test.
9776 * testsuite/libgomp.c/target-29.c: New test.
9777 * testsuite/libgomp.c/target-30.c: New test.
9778 * testsuite/libgomp.c/target-teams-1.c: New test.
9779 * testsuite/libgomp.c++/member-6.C: New test.
9780 * testsuite/libgomp.c++/member-7.C: New test.
9781 * testsuite/libgomp.c++/monotonic-1.C: New test.
9782 * testsuite/libgomp.c++/monotonic-2.C: New test.
9783 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
9784 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
9785 * testsuite/libgomp.c++/pr66199-3.C: New test.
9786 * testsuite/libgomp.c++/pr66199-4.C: New test.
9787 * testsuite/libgomp.c++/pr66199-5.C: New test.
9788 * testsuite/libgomp.c++/pr66199-6.C: New test.
9789 * testsuite/libgomp.c++/pr66199-7.C: New test.
9790 * testsuite/libgomp.c++/pr66199-8.C: New test.
9791 * testsuite/libgomp.c++/pr66199-9.C: New test.
9792 * testsuite/libgomp.c++/reduction-11.C: New test.
9793 * testsuite/libgomp.c++/reduction-12.C: New test.
9794 * testsuite/libgomp.c++/target-13.C: New test.
9795 * testsuite/libgomp.c++/target-14.C: New test.
9796 * testsuite/libgomp.c++/target-15.C: New test.
9797 * testsuite/libgomp.c++/target-16.C: New test.
9798 * testsuite/libgomp.c++/target-17.C: New test.
9799 * testsuite/libgomp.c++/target-18.C: New test.
9800 * testsuite/libgomp.c++/target-19.C: New test.
9801
ccc8282b
NS
98022015-11-04 Nathan Sidwell <nathan@codesourcery.com>
9803
9804 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
9805 and reduction copy.
9806 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9807 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9808 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9809 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9810 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
9811 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9812 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9813 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9814 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9815 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
9816 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9817 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9818 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9819 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
9820
5d6823a2
NS
98212015-11-04 Nathan Sidwell <nathan@codesourcery.com>
9822
9823 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
9824 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
9825 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
9826 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
9827 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
9828 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
9829 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
9830 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
9831
5c06742f
NS
98322015-11-03 Nathan Sidwell <nathan@codesourcery.com>
9833
9834 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
9835 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
9836 (GOMP_OFFLOAD_openacc_parallel): Likewise.
9837 * oacc-host.c (host_openacc_exec): Likewise.
9838 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
9839
4bf9e5a8
TS
98402015-11-03 Julian Brown <julian@codesourcery.com>
9841 Thomas Schwinge <thomas@codesourcery.com>
9842
9843 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
9844 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9845 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
9846 Likewise.
9847 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
9848 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
9849
98502015-11-03 James Norris <jnorris@codesourcery.com>
9851
9852 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
9853 file.
9854 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
9855 Likewise.
9856 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
9857 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
9858 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
9859 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
9860 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
9861
a0e701d8
NS
98622015-10-29 Nathan Sidwell <nathan@codesourcery.com>
9863
9864 * openacc.h (enum acc_device_t): Reformat. Ensure layout
9865 compatibility.
9866 (enum acc_async_t): Reformat.
9867 (acc_on_device): Declare compatible with builtin and provide C++
9868 wrapper.
9869 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
9870
41e977ac
TS
98712015-10-29 Thomas Schwinge <thomas@codesourcery.com>
9872 Cesar Philippidis <cesar@codesourcery.com>
9873
9874 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
9875 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
9876 ... this. Add a description of the test at the top of the file.
9877 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
9878 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
9879 ... this. Add a description of the test at the top of the file.
9880
e3091406
NS
98812015-10-28 Nathan Sidwell <nathan@codesourcery.com>
9882
9883 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
9884 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
9885 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
9886 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
9887 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
9888 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
9889
a1c1908b
NS
98902015-10-27 Nathan Sidwell <nathan@codesourcery.com>
9891
9892 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
9893 dimensions.
9894
b3962a4a
TS
98952015-10-27 Thomas Schwinge <thomas@codesourcery.com>
9896
9897 PR testsuite/68063
9898 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
9899
88bae6f4
TS
99002015-10-27 James Norris <jnorris@codesourcery.com>
9901
9902 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
9903 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
9904
8baa7864
TS
99052015-10-26 Thomas Schwinge <thomas@codesourcery.com>
9906
bdeb752c
TS
9907 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
9908 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9909
ecd4fd43
TS
9910 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
9911 acc_device_nvidia usage.
9912 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9913 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9914 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9915
aa8b7d30
TS
9916 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
9917 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
9918
7c8f138d
TS
9919 PR libgomp/66518
9920 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
9921
8baa7864
TS
9922 PR libgomp/65437
9923 PR libgomp/66518
9924 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
9925 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
9926
88ebcde5
TV
99272015-10-23 Tom de Vries <tom@codesourcery.com>
9928
9929 PR testsuite/68063
9930 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
9931
9ef83c04
NS
99322015-10-20 Nathan Sidwell <nathan@codesourcery.com>
9933
9934 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
9935 vector_length.
9936 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9937
3837c6d6
IV
99382015-10-14 Ilya Verbin <ilya.verbin@intel.com>
9939 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
9940
9941 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
9942 to 0 when mapnum is 0.
9943
ac8a1965
SH
99442015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
9945
9946 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
9947 Cast to int from int32_t.
9948
d9a6bd32
JJ
99492015-10-13 Jakub Jelinek <jakub@redhat.com>
9950 Aldy Hernandez <aldyh@redhat.com>
9951 Ilya Verbin <ilya.verbin@intel.com>
9952
9953 * config/linux/affinity.c (omp_get_place_num_procs,
9954 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
9955 * config/linux/doacross.h: New file.
9956 * config/posix/affinity.c (omp_get_place_num_procs,
9957 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
9958 * config/posix/doacross.h: New file.
9959 * env.c: Include gomp-constants.h.
9960 (struct gomp_task_icv): Rename run_sched_modifier to
9961 run_sched_chunk_size.
9962 (gomp_max_task_priority_var): New variable.
9963 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
9964 (handle_omp_display_env): Change _OPENMP value from 201307 to
9965 201511. Print OMP_MAX_TASK_PRIORITY.
9966 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
9967 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
9968 chunk_size and run_sched_modifier to run_sched_chunk_size.
9969 (omp_get_max_task_priority, omp_get_initial_device,
9970 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
9971 omp_get_partition_place_nums): New functions.
9972 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
9973 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
9974 to chunk_size.
9975 (omp_get_num_places_, omp_get_place_num_procs_,
9976 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
9977 omp_get_place_proc_ids_8_, omp_get_place_num_,
9978 omp_get_partition_num_places_, omp_get_partition_place_nums_,
9979 omp_get_partition_place_nums_8_, omp_get_initial_device_,
9980 omp_get_max_task_priority_): New functions.
9981 * libgomp_g.h (GOMP_loop_doacross_static_start,
9982 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
9983 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
9984 GOMP_loop_ull_doacross_dynamic_start,
9985 GOMP_loop_ull_doacross_guided_start,
9986 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
9987 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
9988 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
9989 GOMP_target_data_41, GOMP_target_update_41,
9990 GOMP_target_enter_exit_data): New prototypes.
9991 (GOMP_task): Add prototype argument.
9992 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
9993 (struct gomp_doacross_work_share): New type.
9994 (struct gomp_work_share): Add doacross field.
9995 (struct gomp_task_icv): Rename run_sched_modifier to
9996 run_sched_chunk_size.
9997 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
9998 GOMP_TASK_UNDEFERRED. Add comments.
9999 (struct gomp_task_depend_entry): Add comments.
10000 (struct gomp_task): Likewise.
10001 (struct gomp_taskgroup): Likewise.
10002 (struct gomp_target_task): New type.
10003 (struct gomp_team): Add comment.
10004 (gomp_get_place_proc_ids_8, gomp_doacross_init,
10005 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
10006 gomp_create_target_task, gomp_target_task_fn): New prototypes.
10007 (struct target_var_desc): New type.
10008 (struct target_mem_desc): Adjust comment. Use struct
10009 target_var_desc instead of splay_tree_key for list.
10010 (REFCOUNT_INFINITY): Define.
10011 (struct splay_tree_key_s): Remove copy_from field.
10012 (struct gomp_device_descr): Add dev2dev_func field.
10013 (enum gomp_map_vars_kind): New enum.
10014 (gomp_map_vars): Add one argument.
10015 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
10016 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
10017 omp_get_place_num_procs, omp_get_place_num_procs_,
10018 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
10019 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
10020 omp_get_place_num_, omp_get_partition_num_places,
10021 omp_get_partition_num_places_, omp_get_partition_place_nums,
10022 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
10023 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
10024 omp_target_free, omp_target_is_present, omp_target_memcpy,
10025 omp_target_memcpy_rect, omp_target_associate_ptr and
10026 omp_target_disassociate_ptr.
10027 (GOMP_4.0.2): Renamed to ...
10028 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
10029 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
10030 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
10031 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10032 GOMP_loop_doacross_static_start, GOMP_doacross_post,
10033 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
10034 GOMP_loop_ull_doacross_guided_start,
10035 GOMP_loop_ull_doacross_runtime_start,
10036 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
10037 GOMP_doacross_ull_wait.
10038 * libgomp.texi: Document omp_get_max_task_priority.
10039 Rename modifier argument to chunk_size for omp_set_schedule and
10040 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
10041 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
10042 to run_sched_chunk_size renaming.
10043 (GOMP_loop_ordered_runtime_start): Likewise.
10044 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10045 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10046 GOMP_parallel_loop_runtime_start): New functions.
10047 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
10048 to run_sched_chunk_size renaming.
10049 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
10050 GOMP_loop_doacross_guided_start): New functions or aliases.
10051 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
10052 run_sched_modifier to run_sched_chunk_size renaming.
10053 (GOMP_loop_ull_ordered_runtime_start): Likewise.
10054 (gomp_loop_ull_doacross_static_start,
10055 gomp_loop_ull_doacross_dynamic_start,
10056 gomp_loop_ull_doacross_guided_start,
10057 GOMP_loop_ull_doacross_runtime_start): New functions.
10058 (GOMP_loop_ull_doacross_static_start,
10059 GOMP_loop_ull_doacross_dynamic_start,
10060 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
10061 * oacc-mem.c (acc_map_data, present_create_copy,
10062 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
10063 to gomp_map_vars.
10064 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
10065 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
10066 instead of false to gomp_map_vars.
10067 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
10068 * omp.h.in (omp_lock_hint_t): New type.
10069 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10070 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10071 omp_get_place_num, omp_get_partition_num_places,
10072 omp_get_partition_place_nums, omp_get_initial_device,
10073 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
10074 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
10075 omp_target_associate_ptr, omp_target_disassociate_ptr): New
10076 prototypes.
10077 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
10078 (omp_lock_hint_none, omp_lock_hint_uncontended,
10079 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10080 omp_lock_hint_speculative): New parameters.
10081 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10082 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10083 omp_get_place_num, omp_get_partition_num_places,
10084 omp_get_partition_place_nums, omp_get_initial_device,
10085 omp_get_max_task_priority): New interfaces.
10086 (omp_set_schedule, omp_get_schedule): Rename modifier argument
10087 to chunk_size.
10088 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
10089 (omp_lock_hint_none, omp_lock_hint_uncontended,
10090 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10091 omp_lock_hint_speculative): New parameters.
10092 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10093 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10094 omp_get_place_num, omp_get_partition_num_places,
10095 omp_get_partition_place_nums, omp_get_initial_device,
10096 omp_get_max_task_priority): New functions and subroutines.
10097 * ordered.c: Include stdarg.h and string.h.
10098 (MAX_COLLAPSED_BITS): Define.
10099 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
10100 gomp_doacross_ull_init, GOMP_doacross_ull_post,
10101 GOMP_doacross_ull_wait): New functions.
10102 * target.c: Include errno.h.
10103 (resolve_device): If device is not initialized, call
10104 gomp_init_device on it.
10105 (gomp_map_lookup): New function.
10106 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
10107 Don't bump refcount if REFCOUNT_INFINITY. Handle
10108 GOMP_MAP_ALWAYS_TO_P.
10109 (get_kind): Rename is_openacc argument to short_mapkind.
10110 (gomp_map_pointer): Use gomp_map_lookup.
10111 (gomp_map_fields_existing): New function.
10112 (gomp_map_vars): Rename is_openacc argument to short_mapkind
10113 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
10114 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
10115 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
10116 Adjust for tgt->list changed type and copy_from living in there.
10117 (gomp_copy_from_async): Adjust for tgt->list changed type and
10118 copy_from living in there.
10119 (gomp_unmap_vars): Likewise.
10120 (gomp_update): Likewise. Rename is_openacc argument to
10121 short_mapkind. Don't fail if object is not mapped.
10122 (gomp_load_image_to_device): Initialize refcount to
10123 REFCOUNT_INFINITY.
10124 (gomp_target_fallback): New function.
10125 (gomp_get_target_fn_addr): Likewise.
10126 (GOMP_target): Adjust gomp_map_vars caller, use
10127 gomp_get_target_fn_addr and gomp_target_fallback.
10128 (GOMP_target_41): New function.
10129 (gomp_target_data_fallback): New function.
10130 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
10131 (GOMP_target_data_41): New function.
10132 (GOMP_target_update): Adjust gomp_update caller.
10133 (GOMP_target_update_41): New function.
10134 (gomp_exit_data, GOMP_target_enter_exit_data,
10135 gomp_target_task_fn, omp_target_alloc, omp_target_free,
10136 omp_target_is_present, omp_target_memcpy,
10137 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
10138 omp_target_associate_ptr, omp_target_disassociate_ptr,
10139 gomp_load_plugin_for_device): New functions.
10140 * task.c: Include gomp-constants.h. Include taskloop.c
10141 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
10142 (gomp_task_handle_depend): New function.
10143 (GOMP_task): Use it. Add priority argument. Use
10144 gomp-constant.h constants instead of hardcoded numbers.
10145 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
10146 (gomp_create_target_task): New function.
10147 (verify_children_queue, verify_taskgroup_queue,
10148 verify_task_queue): New functions.
10149 (gomp_task_run_pre): Call verify_*_queue functions.
10150 If an upcoming tied task is about to leave the sibling or
10151 taskgroup queues in an invalid state, adjust appropriately.
10152 Remove taskgroup argument. Add comments.
10153 (gomp_task_run_post_handle_dependers): Add comments.
10154 (gomp_task_run_post_remove_parent): Likewise.
10155 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
10156 (GOMP_taskwait): Likewise. Add comments.
10157 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
10158 problem such that the first non parent_depends_on task does not
10159 end up at the end of the children queue.
10160 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
10161 GOMP_TASK_UNDEFERRED.
10162 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
10163 * taskloop.c: New file.
10164 * testsuite/lib/libgomp.exp
10165 (check_effective_target_offload_device_nonshared_as): New proc.
10166 * testsuite/libgomp.c/affinity-2.c: New test.
10167 * testsuite/libgomp.c/doacross-1.c: New test.
10168 * testsuite/libgomp.c/doacross-2.c: New test.
10169 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
10170 Add map clause to target.
10171 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
10172 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
10173 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
10174 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
10175 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
10176 Likewise.
10177 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
10178 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
10179 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
10180 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
10181 not defined. Use those where needed.
10182 * testsuite/libgomp.c/for-4.c: New test.
10183 * testsuite/libgomp.c/for-5.c: New test.
10184 * testsuite/libgomp.c/for-6.c: New test.
10185 * testsuite/libgomp.c/linear-1.c: New test.
10186 * testsuite/libgomp.c/ordered-4.c: New test.
10187 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
10188 only allowed on the loop iterator.
10189 * testsuite/libgomp.c/pr66199-3.c: New test.
10190 * testsuite/libgomp.c/pr66199-4.c: New test.
10191 * testsuite/libgomp.c/reduction-7.c: New test.
10192 * testsuite/libgomp.c/reduction-8.c: New test.
10193 * testsuite/libgomp.c/reduction-9.c: New test.
10194 * testsuite/libgomp.c/reduction-10.c: New test.
10195 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
10196 map(tofrom:s).
10197 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
10198 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
10199 * testsuite/libgomp.c/target-11.c: New test.
10200 * testsuite/libgomp.c/target-12.c: New test.
10201 * testsuite/libgomp.c/target-13.c: New test.
10202 * testsuite/libgomp.c/target-14.c: New test.
10203 * testsuite/libgomp.c/target-15.c: New test.
10204 * testsuite/libgomp.c/target-16.c: New test.
10205 * testsuite/libgomp.c/target-17.c: New test.
10206 * testsuite/libgomp.c/target-18.c: New test.
10207 * testsuite/libgomp.c/target-19.c: New test.
10208 * testsuite/libgomp.c/target-20.c: New test.
10209 * testsuite/libgomp.c/target-21.c: New test.
10210 * testsuite/libgomp.c/target-22.c: New test.
10211 * testsuite/libgomp.c/target-23.c: New test.
10212 * testsuite/libgomp.c/target-24.c: New test.
10213 * testsuite/libgomp.c/target-25.c: New test.
10214 * testsuite/libgomp.c/target-26.c: New test.
10215 * testsuite/libgomp.c/target-27.c: New test.
10216 * testsuite/libgomp.c/taskloop-1.c: New test.
10217 * testsuite/libgomp.c/taskloop-2.c: New test.
10218 * testsuite/libgomp.c/taskloop-3.c: New test.
10219 * testsuite/libgomp.c/taskloop-4.c: New test.
10220 * testsuite/libgomp.c++/ctor-13.C: New test.
10221 * testsuite/libgomp.c++/doacross-1.C: New test.
10222 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
10223 Replace offload_device with offload_device_nonshared_as.
10224 * testsuite/libgomp.c++/for-12.C: New test.
10225 * testsuite/libgomp.c++/for-13.C: New test.
10226 * testsuite/libgomp.c++/for-14.C: New test.
10227 * testsuite/libgomp.c++/linear-1.C: New test.
10228 * testsuite/libgomp.c++/member-1.C: New test.
10229 * testsuite/libgomp.c++/member-2.C: New test.
10230 * testsuite/libgomp.c++/member-3.C: New test.
10231 * testsuite/libgomp.c++/member-4.C: New test.
10232 * testsuite/libgomp.c++/member-5.C: New test.
10233 * testsuite/libgomp.c++/ordered-1.C: New test.
10234 * testsuite/libgomp.c++/reduction-5.C: New test.
10235 * testsuite/libgomp.c++/reduction-6.C: New test.
10236 * testsuite/libgomp.c++/reduction-7.C: New test.
10237 * testsuite/libgomp.c++/reduction-8.C: New test.
10238 * testsuite/libgomp.c++/reduction-9.C: New test.
10239 * testsuite/libgomp.c++/reduction-10.C: New test.
10240 * testsuite/libgomp.c++/reference-1.C: New test.
10241 * testsuite/libgomp.c++/simd14.C: New test.
10242 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
10243 * testsuite/libgomp.c++/target-5.C: New test.
10244 * testsuite/libgomp.c++/target-6.C: New test.
10245 * testsuite/libgomp.c++/target-7.C: New test.
10246 * testsuite/libgomp.c++/target-8.C: New test.
10247 * testsuite/libgomp.c++/target-9.C: New test.
10248 * testsuite/libgomp.c++/target-10.C: New test.
10249 * testsuite/libgomp.c++/target-11.C: New test.
10250 * testsuite/libgomp.c++/target-12.C: New test.
10251 * testsuite/libgomp.c++/taskloop-1.C: New test.
10252 * testsuite/libgomp.c++/taskloop-2.C: New test.
10253 * testsuite/libgomp.c++/taskloop-3.C: New test.
10254 * testsuite/libgomp.c++/taskloop-4.C: New test.
10255 * testsuite/libgomp.c++/taskloop-5.C: New test.
10256 * testsuite/libgomp.c++/taskloop-6.C: New test.
10257 * testsuite/libgomp.c++/taskloop-7.C: New test.
10258 * testsuite/libgomp.c++/taskloop-8.C: New test.
10259 * testsuite/libgomp.c++/taskloop-9.C: New test.
10260 * testsuite/libgomp.fortran/affinity1.f90: New test.
10261 * testsuite/libgomp.fortran/affinity2.f90: New test.
10262
1f600fea
TV
102632015-10-13 Tom de Vries <tom@codesourcery.com>
10264
10265 PR tree-optimization/67476
10266 * testsuite/libgomp.c/autopar-3.c: New test.
10267 * testsuite/libgomp.c/autopar-4.c: New test.
10268 * testsuite/libgomp.c/autopar-5.c: New test.
10269 * testsuite/libgomp.c/autopar-6.c: New test.
10270 * testsuite/libgomp.c/autopar-7.c: New test.
10271 * testsuite/libgomp.c/autopar-8.c: New test.
10272
058a654b
JN
102732015-10-12 James Norris <jnorris@codesourcery.com>
10274
10275 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
10276 initializer.
10277
9e531d37
DM
102782015-10-09 David Malcolm <dmalcolm@redhat.com>
10279
10280 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
10281 using load_gcc_lib.
10282
113020dc
TS
102832015-10-02 Thomas Schwinge <thomas@codesourcery.com>
10284
10285 * oacc-ptx.h: Remove file, moving its content into...
10286 * config/nvptx/fortran.c: ... here...
10287 * config/nvptx/oacc-init.c: ..., here...
10288 * config/nvptx/oacc-parallel.c: ..., and here.
10289 * config/nvptx/openacc.f90: New file.
10290 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
10291 (link_ptx): Don't link in predefined bits of PTX code.
10292
cc3cd79b
NS
102932015-09-30 Nathan Sidwell <nathan@codesourcery.com>
10294 Bernd Schmidt <bernds@codesourcery.com>
10295
10296 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
10297 (struct targ_ptx_obj): New.
10298 (nvptx_tdata): Move earlier, change data format.
10299 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
10300 objects.
10301 (GOMP_OFFLOAD_load_image): Adjust.
10302
4e2a5450
TS
103032015-09-30 Thomas Schwinge <thomas@codesourcery.com>
10304
10305 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
10306 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10307 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
10308 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
10309 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10310 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10311 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10312 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10313 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10314 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10315 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10316 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
10317 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
10318 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10319 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10320 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10321 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10322 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
10323 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
10324 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
10325 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
10326 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10327 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
10328 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
10329 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
10330 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
10331 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
10332 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
10333 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
10334 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
10335 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
10336 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
10337 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
10338 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
10339 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10340 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
10341 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
10342 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
10343 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
10344 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
10345 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
10346 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
10347 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
10348 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
10349 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
10350 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
10351 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
10352 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
10353 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
10354 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
10355 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
10356 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
10357 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
10358 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
10359 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
10360 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10361 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10362 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10363 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10364 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10365 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10366 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10367 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10368
164453bb
NS
103692015-09-29 Nathan Sidwell <nathan@codesourcery.com>
10370
10371 * oacc-init.c (acc_on_device): Force optimization level.
10372
a12a0437
NS
103732015-09-29 Nathan Sidwell <nathan@codesourcery.com>
10374
10375 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
10376 (cuda_errlist): Delete.
10377 (cuda_error): Reimplement.
10378
3e32ee19
NS
103792015-09-28 Nathan Sidwell <nathan@codesourcery.com>
10380
10381 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
10382 array.
10383 * libgomp.map (GOACC_parallel_keyed): New.
10384 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
10385 all callers.
10386 (GOACC_parallel_keyed): New interface. Lose geometry arguments
10387 and take keyed varargs list. Adjust call to exec_func.
10388 (GOACC_parallel): Force host fallback.
10389 * libgomp_g.h (GOACC_parallel): Remove.
10390 (GOACC_parallel_keyed): Declare.
10391 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 10392 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
10393 (nvptx_exec): Lose separate geometry args, take array. Process
10394 dynamic dimensions and adjust.
10395 (struct nvptx_tdata): Replace fn_names field with fn_descs.
10396 (GOMP_OFFLOAD_load_image): Adjust for change in function table
10397 data.
10398 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
10399 passing.
10400 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
10401 passing.
10402
6bb4c3e2
CLT
104032015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
10404
10405 PR libgomp/67141
10406 * oacc-int.h (goacc_host_init): Add declaration.
10407 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
10408 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
10409
74032f47 104102015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 10411 Sebastian Pop <s.pop@samsung.com>
74032f47 10412
93d90219 10413 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
10414 match o/p.
10415 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
10416 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
10417 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
10418 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
10419 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
10420
97875f4a
JJ
104212015-09-03 Jakub Jelinek <jakub@redhat.com>
10422
10423 * configure.tgt: Add missing ;; in between nvptx and rtems
10424 snippets.
10425
06441dd5
SH
104262015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10427
10428 * config/posix/pool.h (gomp_adjust_thread_attr): New.
10429 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
10430 (gomp_thread_pool_reservoir): Add priority member.
10431 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
10432 priority.
10433 (parse_thread_pools): Likewise.
10434 * team.c (gomp_team_start): Call configuration provided
10435 gomp_adjust_thread_attr(). Destroy thread attributes if
10436 necessary.
10437 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
10438
66c59f92
SH
104392015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10440
10441 * config/posix/pool.h: New.
10442 * config/rtems/pool.h: Likewise.
10443 * config/rtems/proc.c: Likewise.
10444 * libgomp.h (gomp_thread_destructor): Declare.
10445 * team.c: Include configuration provided "pool.h".
10446 (gomp_get_thread_pool): Define in configuration.
10447 (gomp_team_end): Call configuration defined
10448 gomp_release_thread_pool().
10449
13c41b2e
SH
104502015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10451
10452 * config/rtems/bar.c: New.
10453 * config/rtems/bar.h: Likewise.
10454 * config/rtems/mutex.c: Likewise.
10455 * config/rtems/mutex.h: Likewise.
10456 * config/rtems/sem.c: Likewise.
10457 * config/rtems/sem.h: Likewise.
10458 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
10459 <sys/lock.h> header file.
10460 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
10461 supported by Newlib.
10462 * configure: Regenerate.
10463
7892ec67
SH
104642015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10465
10466 * team.c (gomp_new_thread_pool): Delete and move content to ...
10467 (gomp_get_thread_pool): ... new function. Allocate and
10468 initialize thread pool on demand.
10469 (get_last_team): Use gomp_get_thread_pool().
10470 (gomp_team_start): Delete thread pool initialization.
10471
1b96e9a4
TV
104722015-09-03 Tom de Vries <tom@codesourcery.com>
10473
10474 PR tree-optimization/65637
10475 * testsuite/libgomp.c/autopar-2.c: New test.
10476
3ff2d74e
TV
104772015-08-29 Tom de Vries <tom@codesourcery.com>
10478
10479 PR tree-optimization/46193
10480 * testsuite/libgomp.c/pr46193.c: New test.
10481
2a21ff19
NS
104822015-08-24 Nathan Sidwell <nathan@codesourcery.com>
10483
10484 libgomp/
10485 * libgomp.map: Add 4.0.2 version.
10486 * target.c (offload_image_descr): Add version field.
10487 (gomp_load_image_to_device): Add version argument. Adjust plugin
10488 call. Improve load mismatch diagnostic.
10489 (gomp_unload_image_from_device): Add version argument. Adjust plugin
10490 call.
10491 (GOMP_offload_regster): Make stub function, move bulk to ...
10492 (GOMP_offload_register_ver): ... here. Process version argument.
10493 (GOMP_offload_unregister): Make stub function, move bulk to ...
10494 (GOMP_offload_unregister_ver): ... here. Process version argument.
10495 (gomp_init_device): Process version field.
10496 (gomp_unload_device): Process version field.
10497 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
10498 macros. Check plugin version.
10499 * libgomp.h (gomp_device_descr): Add version function field. Adjust
10500 loader and unloader types.
10501 * oacc-host.c: Include gomp-constants.h.
10502 (host_version): New.
10503 (host_load_image, host_unload_image): Adjust.
10504 (host_dispatch): Add host_version.
10505 * plugin/plugin-nvptx.c: Include gomp-constants.h.
10506 (GOMP_OFFLOAD_version): New.
10507 (GOMP_OFFLOAD_load_image): Add version arg and check it.
10508 (GOMP_OFFLOAD_unload_image): Likewise.
10509 * plugin/plugin-host.c: Include gomp-constants.h.
10510 (GOMP_OFFLOAD_version): New.
10511 (GOMP_OFFLOAD_load_image): Add version arg.
10512 (GOMP_OFFLOAD_unload_image): Likewise.
10513
1358a747
TV
105142015-08-24 Tom de Vries <tom@codesourcery.com>
10515
10516 PR tree-optimization/65468
10517 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
10518
6be5c241
TV
105192015-08-24 Tom de Vries <tom@codesourcery.com>
10520
10521 PR tree-optimization/65468
10522 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
10523
bfe7ac89
JV
105242015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
10525
10526 PR libgomp/66761
10527 PR libgomp/67303
10528 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
10529 (gomp_iter_guided_next): Idem.
10530 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
10531 (gomp_iter_ull_guided_next): Idem.
10532 * config/linux/wait.h (do_spin): Idem.
10533
b97e78b7
TS
105342015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10535
10536 * libgomp-plugin.h (enum offload_target_type): Remove
10537 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
10538 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
10539 * openacc.h (enum acc_device_t): Likewise.
10540 * openacc_lib.h: Likewise.
10541 * oacc-init.c (name_of_acc_device_t): Don't handle it.
10542 (acc_on_device): Just use __builtin_acc_on_device.
10543 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
10544 of acc_on_device builtin.
10545 * plugin/plugin-host.h: Remove file.
10546 * plugin/plugin-host.c: Likewise, but salvage some content into...
10547 * oacc-host.c: ... this file.
10548 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
10549 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
10550 * Makefile.in: Regenerate.
10551 * configure: Likewise.
10552 * testsuite/lib/libgomp.exp
10553 (check_effective_target_openacc_host_nonshm_selected): Remove.
10554 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
10555 ACC_DEVICE_TYPE=host_nonshm.
10556 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10557 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10558 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
10559 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
10560 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
10561 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
10562
44a7d18d
TS
105632015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10564 Jakub Jelinek <jakub@redhat.com>
10565
10566 * config/nvptx/affinity.c: New file.
10567 * config/nvptx/alloc.c: Likewise.
10568 * config/nvptx/bar.c: Likewise.
10569 * config/nvptx/barrier.c: Likewise.
10570 * config/nvptx/critical.c: Likewise.
10571 * config/nvptx/env.c: Likewise.
10572 * config/nvptx/error.c: Likewise.
10573 * config/nvptx/fortran.c: Likewise.
10574 * config/nvptx/iter.c: Likewise.
10575 * config/nvptx/iter_ull.c: Likewise.
10576 * config/nvptx/libgomp-plugin.c: Likewise.
10577 * config/nvptx/lock.c: Likewise.
10578 * config/nvptx/loop.c: Likewise.
10579 * config/nvptx/loop_ull.c: Likewise.
10580 * config/nvptx/mutex.c: Likewise.
10581 * config/nvptx/oacc-async.c: Likewise.
10582 * config/nvptx/oacc-cuda.c: Likewise.
10583 * config/nvptx/oacc-host.c: Likewise.
10584 * config/nvptx/oacc-init.c: Likewise.
10585 * config/nvptx/oacc-mem.c: Likewise.
10586 * config/nvptx/oacc-parallel.c: Likewise.
10587 * config/nvptx/oacc-plugin.c: Likewise.
10588 * config/nvptx/omp-lock.h: Likewise.
10589 * config/nvptx/ordered.c: Likewise.
10590 * config/nvptx/parallel.c: Likewise.
10591 * config/nvptx/proc.c: Likewise.
10592 * config/nvptx/ptrlock.c: Likewise.
10593 * config/nvptx/sections.c: Likewise.
10594 * config/nvptx/sem.c: Likewise.
10595 * config/nvptx/single.c: Likewise.
10596 * config/nvptx/splay-tree.c: Likewise.
10597 * config/nvptx/target.c: Likewise.
10598 * config/nvptx/task.c: Likewise.
10599 * config/nvptx/team.c: Likewise.
10600 * config/nvptx/time.c: Likewise.
10601 * config/nvptx/work.c: Likewise.
10602 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
10603 * configure: Regenerate.
10604 * configure.tgt (config_path): Set to "nvptx" for target
10605 nvptx*-*-*.
10606
96a2d174
TS
106072015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10608
10609 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
10610
9ebddeb0
NS
106112015-08-03 Nathan Sidwell <nathan@codesourcery.com>
10612
10613 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
10614 (cuda_errlist): Constify.
10615 (errmsg): Move into ...
10616 (cuda_error): ... here. Make smaller.
10617 (_XSTR, _STR): Delete.
10618 (cuda_synames): Delete.
10619 (verify_device_library): Delete.
10620 (nvptx_init): Don't call it.
10621
12efb1d7
TV
106222015-07-28 Tom de Vries <tom@codesourcery.com>
10623
10624 * testsuite/libgomp.c/uns-outer-4.c: New test.
10625
710ee218
CP
106262015-07-24 Cesar Philippidis <cesar@codesourcery.com>
10627
10628 * testsuite/libgomp.c/pr66714.c: New test.
10629
27c4ac7d
MB
106302015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
10631
10632 PR libgomp/66950
10633 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
10634 (fib_ref): New function.
10635 (fib): Correct corner cases in the recursion.
10636 (main): Replace the non-simd loop with fib_ref call.
10637 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
10638 subroutine.
10639 (fibonacci): Lower the parameter N to 30. Correct accordingly check
10640 for the last array element value. Replace the non-simd loop with
10641 fib_ref call. Remove redundant b_ref array. Remove the comparison
10642 of the last array element with according Fibonacci sequence element.
10643 (fib): Correct corner cases in the recursion.
10644
22be2349
NS
106452015-07-21 Nathan Sidwell <nathan@codesourcery.com>
10646
10647 * target.c (gomp_offload_image_to_device): Rename to ...
10648 (gomp_load_image_to_device): ... here.
10649 (GOMP_offload_register): Adjust call.
10650 (gomp_init_device): Likewise.
10651 (gomp_unload_image_from_device): New. Broken out of ...
10652 (GOMP_offload_unregister): ... here. Call it.
10653 (gomp_unload_device): New.
10654 * libgomp.h (gomp_unload_device): Declare.
10655 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
10656 mem maps.
10657
f3e9a059
NS
106582015-07-20 Nathan Sidwell <nathan@codesourcery.com>
10659
a091118d
NS
10660 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
10661 wait=-specific if.
10662 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
10663 !=0 condition.
10664 (goacc_waits): Move !num_waits handling to ...
10665 (GOACC_wait): ... here, the only caller that might have zero waits.
10666
f3e9a059
NS
10667 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
10668 (struct ptx_image_data): Move earlier, add fns field.
10669 (struct ptx_device): Add images and image_lock fields.
10670 (ptx_images, ptx_image_lock): Delete.
10671 (nvptx_open_device): Initialize images and image_lock fields.
10672 (nvptx_close_device): Destroy image_lock.
10673 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
10674 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
10675 fields.
10676
afb2d80b
NS
106772015-07-17 Nathan Sidwell <nathan@codesourcery.com>
10678
896c28a7
NS
10679 * target.c (GOMP_offload_register): Use int for device type arg.
10680 (GOMP_offload_unregister): Likewise.
10681
ebe4a560
NS
10682 * target.c (struct_offload_image_descr): Constify host_table.
10683 (gomp_offload_image_to_device): Likewise.
10684 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
10685
afb2d80b
NS
10686 * libgomp.h (gomp_device_descr): Constify target data arguments.
10687 * target.c (struct offload_image_descr): Constify target_data.
10688 (gomp_offload_image_to_device): Likewise.
10689 (GOMP_offload_register): Likewise.
93d90219 10690 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
10691 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
10692 GOMP_OFFLOAD_unload_image): Constify target data.
10693 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
10694 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
10695
a4cb876d
NS
106962015-07-16 Nathan Sidwell <nathan@codesourcery.com>
10697
10698 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
10699 Workaround driver library const error.
10700 (struct nvptx_tdata, nvptx_tdata_t): New.
10701 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
10702 type.
10703
28ef6a27
MB
107042015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
10705
10706 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
10707 of EPS parameter from integer to real.
10708 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
10709 type of EPS parameter from integer to real.
10710
6dba0113
SH
107112015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
10712
10713 * team.c (get_last_team): New.
10714 (gomp_new_team): Recycle last non-nested team if possible.
10715 (gomp_team_end): Move team work share list free lock destruction
10716 to ...
10717 (free_team): ... here.
10718
4c1cb4da
MB
107192015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
10720
10721 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
10722 and ref from int to double. Replaced their comparison with
10723 an inequality of their difference and EPS.
10724 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
10725 comparison of pri and a reference number with an inequality of their
10726 difference and EPS.
10727 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
10728 the comparison of sum and sum_ref with an inequality of their
10729 difference and EPS.
10730 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
10731 the comparison of pri and a reference number with an inequality of
10732 their difference and EPS.
10733
343587dc
MB
107342015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
10735
10736 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
10737 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
10738 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
10739 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
10740 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
10741 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
10742 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
10743 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
10744 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
10745 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
10746 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
10747 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
10748 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
10749 variables.
10750 (vec_mult): Likewise. Add #pragma omp taskwait.
10751 (main): Adjust caller.
10752 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
10753 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
10754 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
10755 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
10756 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
10757 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
10758 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
10759 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
10760 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
10761 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
10762 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
10763 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
10764 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
10765 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
10766 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
10767 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
10768 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
10769 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
10770 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
10771 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
10772 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
10773 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
10774 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
10775 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
10776 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
10777 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
10778 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
10779 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
10780 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
10781 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
10782 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
10783 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
10784 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
10785 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
10786 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
10787 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
10788 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
10789 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
10790 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
10791 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
10792 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
10793 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
10794 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
10795 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
10796 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
10797 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
10798 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
10799 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
10800 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
10801 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
10802 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
10803 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
10804 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
10805 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
10806 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
10807 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
10808 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
10809 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
10810 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
10811 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
10812 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
10813 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
10814 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
10815 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
10816 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
10817 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
10818 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
10819 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
10820 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
10821 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
10822 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
10823 (vec_mult): Add !$omp taskwait.
10824 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
10825 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
10826 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
10827 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
10828 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
10829 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
10830 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
10831 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
10832 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
10833 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
10834 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
10835 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
10836 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
10837 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
10838 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
10839 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
10840 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
10841 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
10842 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
10843 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
10844 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
10845 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
10846 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
10847 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
10848 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
10849 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
10850 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
10851 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
10852 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
10853 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
10854 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
10855 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
10856 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
10857 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
10858 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
10859 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
10860 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
10861 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
10862 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
10863 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
10864 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
10865 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
10866 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
10867 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
10868 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
10869 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
10870 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
10871 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
10872 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
10873 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
10874 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
10875 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
10876 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
10877 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
10878 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
10879 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
10880 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
10881 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
10882 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
10883 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
10884 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
10885 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
10886 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
10887 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
10888 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
10889 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
10890 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
10891
9f620bf1
TV
108922015-07-10 Tom de Vries <tom@codesourcery.com>
10893
10894 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
10895 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
10896
a92defda
TS
108972015-07-08 Thomas Schwinge <thomas@codesourcery.com>
10898
10899 PR libgomp/65099
10900 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
10901 in a 64-bit configuration.
10902 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
10903 offloading testing if no such device is available.
10904 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10905 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10906
cadb53a5
TV
109072015-07-08 Tom de Vries <tom@codesourcery.com>
10908
10909 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
10910 second call to f.
10911 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10912
712cb0bb
TV
109132015-07-07 Tom de Vries <tom@codesourcery.com>
10914
10915 PR tree-optimization/66642
10916 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
10917 iteration count case.
10918 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
10919 function, factor out of ...
10920 (main): ... here. Test low iteration count case.
10921
e5210c77
SH
109222015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
10923
10924 * libgomp.h (gomp_thread_pool): Comment last_team field.
10925
f70360e7
UB
109262015-07-02 Uros Bizjak <ubizjak@gmail.com>
10927
10928 * testsuite/libgomp.c++/pr66702-1.C: Require
10929 vect_simd_clones effective target.
10930 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
10931
b451c271
TV
109322015-06-30 Tom de Vries <tom@codesourcery.com>
10933
10934 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
10935 already set. Use DEFAULT_CFLAGS in dg-runtest.
10936 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
10937 "-O2".
10938
f8e89d9f
TV
109392015-06-30 Tom de Vries <tom@codesourcery.com>
10940
10941 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
10942 already set. Use DEFAULT_CFLAGS in dg-runtest.
10943 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
10944 * testsuite/libgomp.c++/pr64824.C: Same.
10945 * testsuite/libgomp.c++/pr64868.C: Same.
10946 * testsuite/libgomp.c++/pr66199-1.C: Same.
10947 * testsuite/libgomp.c++/pr66199-2.C: Same.
10948 * testsuite/libgomp.c++/target-2.C: Same.
10949 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
10950 -std=<standard> option.
10951 * testsuite/libgomp.c++/udr-11.C: Same.
10952 * testsuite/libgomp.c++/udr-12.C: Same.
10953 * testsuite/libgomp.c++/udr-13.C: Same.
10954 * testsuite/libgomp.c++/udr-14.C: Same.
10955 * testsuite/libgomp.c++/udr-15.C: Same.
10956 * testsuite/libgomp.c++/udr-16.C: Same.
10957 * testsuite/libgomp.c++/udr-17.C: Same.
10958 * testsuite/libgomp.c++/udr-18.C: Same.
10959 * testsuite/libgomp.c++/udr-19.C: Same.
10960 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
10961 * testsuite/libgomp.c++/simd-1.C: Same.
10962 * testsuite/libgomp.c++/simd-2.C: Same.
10963 * testsuite/libgomp.c++/simd-3.C: Same.
10964 * testsuite/libgomp.c++/simd-4.C: Same.
10965 * testsuite/libgomp.c++/simd-5.C: Same.
10966 * testsuite/libgomp.c++/simd-6.C: Same.
10967 * testsuite/libgomp.c++/simd-7.C: Same.
10968 * testsuite/libgomp.c++/simd-8.C: Same.
10969 * testsuite/libgomp.c++/simd-9.C: Same.
10970 * testsuite/libgomp.c++/simd10.C: Same.
10971 * testsuite/libgomp.c++/simd11.C: Same.
10972 * testsuite/libgomp.c++/simd12.C: Same.
10973 * testsuite/libgomp.c++/simd13.C: Same.
10974
3446fe48
JJ
109752015-06-30 Jakub Jelinek <jakub@redhat.com>
10976
10977 PR middle-end/66702
10978 * testsuite/libgomp.c++/pr66702-1.C: New test.
10979 * testsuite/libgomp.c++/pr66702-2.C: New test.
10980
8a36714a
TV
109812015-06-30 Tom de Vries <tom@codesourcery.com>
10982
10983 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
10984 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
10985 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
10986 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
10987
4f75d608
TV
109882015-06-30 Tom de Vries <tom@codesourcery.com>
10989
10990 PR tree-optimization/66652
10991 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
10992 using restrict pointers.
10993 (main): Add arguments to calls to f.
10994 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10995
6d9d1eeb
AT
109962015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
10997
10998 * configure.ac: Fix check for header <sys/sysctl.h>.
10999 * configure: Regenerate.
11000 * config.h.in: Likewise.
11001
1222f22b
TV
110022015-06-23 Tom de Vries <tom@codesourcery.com>
11003
11004 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
11005 abort.
11006 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
11007
d7efbbf6
TS
110082015-06-19 Thomas Schwinge <thomas@codesourcery.com>
11009
bfcd036f
TS
11010 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
11011 acc_device_nvidia.
11012
d7efbbf6
TS
11013 PR libgomp/66518
11014 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
11015 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11016
d7bfc710
TV
110172015-06-15 Tom de Vries <tom@codesourcery.com>
11018
11019 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
11020 dg-additional-options for any remaining options.
11021 * testsuite/libgomp.c/atomic-2.c: Same.
11022 * testsuite/libgomp.c/atomic-4.c: Same.
11023 * testsuite/libgomp.c/atomic-5.c: Same.
11024 * testsuite/libgomp.c/atomic-6.c: Same.
11025 * testsuite/libgomp.c/autopar-1.c: Same.
11026 * testsuite/libgomp.c/copyin-1.c: Same.
11027 * testsuite/libgomp.c/copyin-2.c: Same.
11028 * testsuite/libgomp.c/copyin-3.c: Same.
11029 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
11030 * testsuite/libgomp.c/nestedfn-5.c: Same.
11031 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
11032 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
11033 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
11034 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11035 * testsuite/libgomp.c/pr32362-1.c: Same.
11036 * testsuite/libgomp.c/pr32362-2.c: Same.
11037 * testsuite/libgomp.c/pr32362-3.c: Same.
11038 * testsuite/libgomp.c/pr39591-1.c: Same.
11039 * testsuite/libgomp.c/pr39591-2.c: Same.
11040 * testsuite/libgomp.c/pr39591-3.c: Same.
11041 * testsuite/libgomp.c/pr58392.c: Same.
11042 * testsuite/libgomp.c/pr58756.c: Same.
11043 * testsuite/libgomp.c/simd-1.c: Same.
11044 * testsuite/libgomp.c/simd-10.c: Same.
11045 * testsuite/libgomp.c/simd-11.c: Same.
11046 * testsuite/libgomp.c/simd-12.c: Same.
11047 * testsuite/libgomp.c/simd-13.c: Same.
11048 * testsuite/libgomp.c/simd-14.c: Same.
11049 * testsuite/libgomp.c/simd-15.c: Same.
11050 * testsuite/libgomp.c/simd-2.c: Same.
11051 * testsuite/libgomp.c/simd-3.c: Same.
11052 * testsuite/libgomp.c/simd-4.c: Same.
11053 * testsuite/libgomp.c/simd-5.c: Same.
11054 * testsuite/libgomp.c/simd-6.c: Same.
11055 * testsuite/libgomp.c/simd-7.c: Same.
11056 * testsuite/libgomp.c/simd-8.c: Same.
11057 * testsuite/libgomp.c/simd-9.c: Same.
11058
fb5b5352
TV
110592015-06-15 Tom de Vries <tom@codesourcery.com>
11060
11061 * testsuite/libgomp.c/pr35625.c: Fix typo.
11062
ca431bef
TV
110632015-06-15 Tom de Vries <tom@codesourcery.com>
11064
11065 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
11066 in dg-options.
11067 * testsuite/libgomp.c/atomic-3.c: Same.
11068 * testsuite/libgomp.c/debug-1.c: Same.
11069 * testsuite/libgomp.c/nqueens-1.c: Same.
11070 * testsuite/libgomp.c/pr26171.c: Same.
11071 * testsuite/libgomp.c/pr48591.c: Same.
11072 * testsuite/libgomp.c/pr64824.c: Same.
11073 * testsuite/libgomp.c/pr64868.c: Same.
11074 * testsuite/libgomp.c/pr66133.c: Same.
11075 * testsuite/libgomp.c/pr66199-1.c: Same.
11076 * testsuite/libgomp.c/pr66199-2.c: Same.
11077 * testsuite/libgomp.c/target-8.c: Same.
11078
0d8a9e20
TV
110792015-06-15 Tom de Vries <tom@codesourcery.com>
11080
11081 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
11082 -std={gnu99,c99}.
11083 * testsuite/libgomp.c/for-1.c: Same.
11084 * testsuite/libgomp.c/for-2.c: Same.
11085 * testsuite/libgomp.c/for-3.c: Same.
11086 * testsuite/libgomp.c/pr35625.c: Same.
11087 * testsuite/libgomp.c/pr39154.c: Same.
11088 * testsuite/libgomp.c/simd-16.c: Same.
11089 * testsuite/libgomp.c/simd-17.c: Same.
11090
a6860be9
TV
110912015-06-13 Tom de Vries <tom@codesourcery.com>
11092
11093 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
11094
ab3306d2
TV
110952015-06-13 Tom de Vries <tom@codesourcery.com>
11096
11097 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
11098 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11099 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
11100 (N): Define.
11101 (main): Use N instead of hardcoded constants.
11102
7c82d827
TV
111032015-06-05 Tom de Vries <tom@codesourcery.com>
11104
11105 merge from gomp4 branch:
11106 2015-05-28 Tom de Vries <tom@codesourcery.com>
11107
11108 PR tree-optimization/65443
11109 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
11110 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
11111 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
11112
c469078d
BRF
111132015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
11114
11115 * testsuite/libgomp.graphite/bounds.c: Adjust for
11116 cleanup-tree-dump removal.
11117 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
11118 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
11119 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11120 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
11121 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11122 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
11123 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11124 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11125 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
11126 * testsuite/libgomp.graphite/pr41118.c: Likewise.
11127
bb3caa35
UB
111282015-05-28 Uros Bizjak <ubizjak@gmail.com>
11129
11130 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
11131 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
11132 (futex_wake) [!__x86_64__]: Ditto.
11133
9fb5fd44
JB
111342015-05-28 Julian Brown <julian@codesourcery.com>
11135
11136 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
11137 function comment. Only call gomp_fatal if new argument is true.
11138 (acc_dev_num_out_of_range): New function.
11139 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
11140 acc_dev_num_out_of_range as appropriate.
11141 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
11142 (acc_get_device_num, acc_set_device_num): Update calls to
11143 resolve_device.
9fb5fd44
JB
11144 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
11145 output.
11146
32eaed93
JB
111472015-05-28 Julian Brown <julian@codesourcery.com>
11148
11149 PR libgomp/65742
32eaed93
JB
11150 * oacc-init.c (plugin/plugin-host.h): Include.
11151 (acc_on_device): Check whether we're in an offloaded region for
11152 host_nonshm
11153 plugin. Don't use __builtin_acc_on_device.
11154 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
11155 nonshm_exec flag in thread-local data.
11156 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
11157 data for host_nonshm plugin.
11158 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
11159 for host_nonshm plugin.
11160 * plugin/plugin-host.h: New.
11161
ea023bcf
UB
111622015-05-27 Uros Bizjak <ubizjak@gmail.com>
11163
8ed501f1
UB
11164 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
11165
111662015-05-27 Uros Bizjak <ubizjak@gmail.com>
11167
11168 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
11169 Declare as int.
11170 (FUTEX_PRIVATE_FLAG): Remove L suffix.
11171 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
11172 Declare as int.
11173
111742015-05-27 Uros Bizjak <ubizjak@gmail.com>
11175
bb3caa35 11176 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 11177
1716efeb
CLT
111782015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
11179
11180 * target.c (gomp_map_pointer): New function abstracting out
11181 GOMP_MAP_POINTER handling.
11182 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
11183 gomp_map_pointer().
11184
41b37d5e
JJ
111852015-05-19 Jakub Jelinek <jakub@redhat.com>
11186
11187 PR middle-end/66199
11188 * testsuite/libgomp.c/pr66199-1.c: New test.
11189 * testsuite/libgomp.c/pr66199-2.c: New test.
11190 * testsuite/libgomp.c++/pr66199-1.C: New test.
11191 * testsuite/libgomp.c++/pr66199-2.C: New test.
11192 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
11193 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
11194
c8319826
JB
111952015-05-19 Julian Brown <julian@codesourcery.com>
11196
11197 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
11198 on cuInit failure.
11199
b37dddbc
JJ
112002015-05-13 Jakub Jelinek <jakub@redhat.com>
11201
11202 PR middle-end/66133
11203 * testsuite/libgomp.c/pr66133.c: New test.
11204
55fba601
MH
112052015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
11206
11207 * Makefile.in: Regenerated with automake-1.11.6.
11208 * aclocal.m4: Likewise.
11209 * config.h.in: Likewise.
11210 * configure: Likewise.
11211 * testsuite/Makefile.in: Likewise.
11212
1be0899d
JM
112132015-05-08 Jason Merrill <jason@redhat.com>
11214
11215 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
11216 _Complex.
11217
11218 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
11219
d2463960
JB
112202015-05-06 Julian Brown <julian@codesourcery.com>
11221
11222 * oacc-init.c (acc_device_lock): Add explanatory comment.
11223 (resolve_device): Add comment about locking requirement.
11224 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
11225 gomp_init_device and gomp_fini_device calls.
11226 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
11227 (acc_get_device_num, acc_set_device_num): Add locking around
11228 resolve_device and gomp_init_device calls.
11229
e38fdba4
JB
112302015-05-06 Julian Brown <julian@codesourcery.com>
11231
11232 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
11233 goacc_thread_lock on error paths.
11234 * oacc-mem.c (lookup_host): Remove locking from function. Note
11235 locking requirement for caller in function comment.
11236 (lookup_dev): Likewise.
11237 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
11238 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
11239 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
11240 Add locking.
11241
ae8ffbbb
TS
112422015-05-05 Thomas Schwinge <thomas@codesourcery.com>
11243
11244 PR testsuite/65205
11245 PR libgomp/65993
11246 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
11247 don't expect "0x" prefix for "%p" format specifier, don't expect
11248 "(nil)" for NULL pointer.
11249 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11250 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11251 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11252 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11253 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11254 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11255 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11256 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11257 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11258 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11259 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11260 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11261 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11262 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11263 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11264 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11265 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11266 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11267 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11268 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11269 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11270 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11271 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11272 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11273 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11274 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11275 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11276 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11277 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
11278 accurately specify what we're looking for.
11279 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11280 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11281 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11282 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11283 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11284
1309f1d2
JN
112852015-04-30 James Norris <jnorris@codesourcery.com>
11286
11287 PR testsuite/65205
11288 * testsuite/lib/libgomp.exp
11289 (check_effective_target_openacc_host_selected)
11290 (check_effective_target_openacc_host_nonshm_selected): New
11291 procedures.
11292 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
11293 dg-shouldfail.
11294 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11295 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11296 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11297 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11298 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11299 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11300 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11301 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11302 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11303 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11304 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11305 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11306 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11307 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11308 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11309 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11310 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11311 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11312 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11313 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11314 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11315 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11316 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11317 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11318 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11319 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11320 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11321 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11322 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11323 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11324 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11325 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11326 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11327 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11328 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11329 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11330 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11331 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11332 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11333 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11334 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11335 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11336 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11337
d93bdab5
JB
113382015-04-08 Julian Brown <julian@codesourcery.com>
11339
11340 * libgomp.h (target_mem_desc: Remove mem_map field.
11341 (acc_dispatch_t): Remove open_device_func, close_device_func,
11342 get_device_num_func, set_device_num_func, target_data members.
11343 Change create_thread_data_func argument to device number instead of
11344 generic pointer.
11345 * oacc-async.c (assert.h): Include.
11346 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
11347 (acc_wait_all, acc_wait_all_async): Use current host thread's
11348 active device, not base_dev.
11349 * oacc-cuda.c (acc_get_current_cuda_device)
11350 (acc_get_current_cuda_context, acc_get_cuda_stream)
11351 (acc_set_cuda_stream): Likewise.
11352 * oacc-host.c (host_dispatch): Don't set open_device_func,
11353 close_device_func, get_device_num_func or set_device_num_func.
11354 * oacc-init.c (base_dev, init_key): Remove.
11355 (cached_base_dev): New.
11356 (name_of_acc_device_t): New.
11357 (acc_init_1): Initialise default-numbered device, not zeroth.
11358 (acc_shutdown_1): Close all devices of a given type.
11359 (goacc_destroy_thread): Don't use base_dev.
11360 (lazy_open, lazy_init, lazy_init_and_open): Remove.
11361 (goacc_attach_host_thread_to_device): New.
11362 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
11363 (acc_get_num_devices): Don't use base_dev.
11364 (acc_set_device_type): Reimplement.
11365 (acc_get_device_type): Don't use base_dev.
11366 (acc_get_device_num): Tweak logic.
11367 (acc_set_device_num): Likewise.
11368 (acc_on_device): Use acc_get_device_type.
11369 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
11370 (goacc_lazy_initialize): Reimplement with acc_init and
11371 goacc_attach_host_thread_to_device.
11372 * oacc-int.h (goacc_thread): Add base_dev field.
11373 (base_dev): Remove extern declaration.
11374 (goacc_attach_host_thread_to_device): Add prototype.
11375 * oacc-mem.c (acc_malloc): Use current thread's device instead of
11376 base_dev.
11377 (acc_free): Likewise.
11378 (acc_memcpy_to_device): Likewise.
11379 (acc_memcpy_from_device): Likewise.
11380 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
11381 goacc_lazy_initialize (throughout).
11382 (GOACC_parallel): Use tgt_offset to locate target functions.
11383 * target.c (gomp_map_vars): Don't set tgt->mem_map.
11384 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
11385 (gomp_load_plugin_for_device): Remove open_device, close_device,
11386 get_device_num, set_device_num openacc hook initialisation. Don't set
11387 openacc.target_data.
11388 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
11389 (GOMP_OFFLOAD_openacc_close_device)
11390 (GOMP_OFFLOAD_openacc_get_device_num)
11391 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
11392 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
11393 to int.
11394 * plugin/plugin-nvptx.c (ptx_inited): Remove.
11395 (instantiated_devices, ptx_dev_lock): New.
11396 (struct ptx_image_data): New.
11397 (ptx_devices, ptx_images, ptx_image_lock): New.
11398 (fini_streams_for_device): Reorder cuStreamDestroy call.
11399 (nvptx_get_num_devices): Remove forward declaration.
11400 (nvptx_init): Change return type to bool.
11401 (nvptx_fini): Remove.
11402 (nvptx_attach_host_thread_to_device): New.
11403 (nvptx_open_device): Return struct ptx_device* instead of void*.
11404 (nvptx_close_device): Change argument type to struct ptx_device*,
11405 return type to void.
11406 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
11407 (kernel_target_data, kernel_host_table): Remove static globals.
11408 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
11409 (GOMP_OFFLOAD_init_device): Reimplement.
11410 (GOMP_OFFLOAD_fini_device): Likewise.
11411 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
11412 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
11413 (GOMP_OFFLOAD_host2dev): Use ORD argument.
11414 (GOMP_OFFLOAD_openacc_open_device)
11415 (GOMP_OFFLOAD_openacc_close_device)
11416 (GOMP_OFFLOAD_openacc_set_device_num)
11417 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
11418 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
11419 (device number).
11420
11421 testsuite/
11422 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
11423
a51df54e
IV
114242015-04-06 Ilya Verbin <ilya.verbin@intel.com>
11425
11426 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
11427 * libgomp.h (struct gomp_memory_mapping): Remove.
11428 (struct target_mem_desc): Change type of mem_map from
11429 gomp_memory_mapping * to splay_tree_s *.
11430 (struct gomp_device_descr): Remove register_image_func, get_table_func.
11431 Add load_image_func, unload_image_func.
11432 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
11433 Remove offload_regions_registered.
11434 (gomp_init_tables): Remove.
11435 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
11436 to splay_tree_s *.
11437 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
11438 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
11439 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
11440 offload_regions_registered.
11441 Initialize load_image_func, unload_image_func, mem_map.root.
11442 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
11443 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
11444 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
11445 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
11446 gomp_memory_mapping *. Use dev's lock and splay_tree.
11447 (lookup_dev): Use dev's lock.
11448 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
11449 (acc_is_present): Likewise.
11450 (acc_map_data): Likewise.
11451 (acc_unmap_data): Likewise. Use dev's lock.
11452 (present_create_copy): Likewise.
11453 (delete_copyout): Pass dev to lookup_host instead of mem_map.
11454 (update_dev_host): Likewise.
11455 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
11456 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
11457 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
11458 (GOMP_OFFLOAD_get_table): Remove
11459 (GOMP_OFFLOAD_load_image): New function.
11460 (GOMP_OFFLOAD_unload_image): New function.
11461 * target.c (register_lock): New mutex for offload image registration.
11462 (num_devices): Do not guard with PLUGIN_SUPPORT.
11463 (gomp_realloc_unlock): New static function.
11464 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
11465 before gomp_fatal.
11466 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
11467 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
11468 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
11469 mem_map's.
11470 (gomp_unmap_vars): Likewise.
11471 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
11472 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
11473 (gomp_offload_image_to_device): New static function.
11474 (GOMP_offload_register): Add mutex lock.
11475 Call gomp_offload_image_to_device for all initialized devices.
11476 Replace gomp_realloc with gomp_realloc_unlock.
11477 (GOMP_offload_unregister): New function.
11478 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
11479 get_table_func from the plugin with calls to init_device_func and
11480 gomp_offload_image_to_device.
11481 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
11482 to splay_tree_s *.
11483 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
11484 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
11485 (GOMP_target_data): Do not call gomp_init_tables.
11486 (GOMP_target_update): Likewise. Remove argument from gomp_update.
11487 (gomp_load_plugin_for_device): Replace register_image and get_table
11488 with load_image and unload_image in DLSYM ().
11489 (gomp_register_images_for_device): Remove function.
11490 (gomp_target_init): Do not initialize current_device.mem_map.*,
11491 current_device.offload_regions_registered.
11492 Remove call to gomp_register_images_for_device.
11493 Do not free offload_images and num_offload_images.
11494
6c384511
JJ
114952015-03-30 Jakub Jelinek <jakub@redhat.com>
11496
11497 PR fortran/65597
11498 * testsuite/libgomp.fortran/pr65597.f90: New test.
11499
3e8165a5
TV
115002015-03-27 Tom de Vries <tom@codesourcery.com>
11501
11502 PR testsuite/65594
11503 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
11504 (init, check): New function.
11505 (foo): Change return type to void.
11506 (main): Call init and check.
11507
4d688c9a
TV
115082015-03-27 Tom de Vries <tom@codesourcery.com>
11509
11510 PR testsuite/65594
11511 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
11512 (foo): Use M for non-inner loops to scale down test-case.
11513
01c0b3b0
KT
115142015-03-25 Kai Tietz <ktietz@redhat.com>
11515
11516 PR libgomp/64972
11517 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
11518 (GOACC_data_start): Likewise.
11519 * target.c (gomp_map_vars): Likewise.
11520
844d9a76
JDA
115212015-03-21 John David Anglin <danglin@gcc.gnu.org>
11522
11523 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
11524 hppa*-*-hpux*.
11525
9b65e171
JJ
115262015-03-19 Jakub Jelinek <jakub@redhat.com>
11527
11528 * testsuite/libgomp.c/target-10.c: New test.
11529 * testsuite/libgomp.c++/target-4.C: New test.
11530
db397e2e
IV
115312015-03-13 Ilya Verbin <ilya.verbin@intel.com>
11532
11533 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
11534 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
11535
cd93945d
SH
115362015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
11537
11538 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
11539 * configure.ac (*-*-rtems*): Assume Pthread is supported.
11540 (pthread.h): Check for this header file.
11541 * configure: Regenerate.
11542
05deba9f
TV
115432015-02-25 Tom de Vries <tom@codesourcery.com>
11544
11545 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
11546 (check_reduction_op, check_reduction_macro, max, min):
11547 Declare.
11548 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
11549 function.
11550 (main): Use new functions.
11551
196904d8
IT
115522015-02-18 Ilya Tocar <ilya.tocar@intel.com>
11553
11554 * target.c (gomp_load_plugin_for_device): Use const char * instead of
11555 char * for variables holding dlerror return values.
11556 (DLSYM_OPT): Ditto.
11557
a2818955
TS
115582015-02-17 Thomas Schwinge <thomas@codesourcery.com>
11559
11560 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
11561
26f93312
TS
115622015-02-17 Thomas Schwinge <thomas@codesourcery.com>
11563 Cesar Philippidis <cesar@codesourcery.com>
11564
11565 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
11566 GOACC_ctaid, and GOACC_nctaid routines.
11567
fa01ffcc
JJ
115682015-02-11 Jakub Jelinek <jakub@redhat.com>
11569
11570 PR c/64824
11571 * testsuite/libgomp.c/atomic-18.c: New test.
11572 * testsuite/libgomp.c++/atomic-16.C: New test.
11573
4886ec8e
JJ
115742015-02-04 Jakub Jelinek <jakub@redhat.com>
11575
11576 PR c/64824
11577 PR c/64868
11578 * testsuite/libgomp.c/pr64824.c: New test.
11579 * testsuite/libgomp.c/pr64868.c: New test.
11580 * testsuite/libgomp.c++/pr64824.C: New test.
11581 * testsuite/libgomp.c++/pr64868.C: New test.
11582
02d3e45e
DE
115832015-02-01 David Edelsohn <dje.gcc@gmail.com>
11584
11585 PR libgomp/64635
11586 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
11587 Link with -lpthread.
11588 * config/aix/plugin-suffix.h: Delete.
11589
b5f7a6ca
JH
115902015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
11591
11592 PR libgomp/64635
11593 * configure.tgt (*-*-aix*): Use config_path "aix posix".
11594 (*-*-darwin*): Use config_path "bsd darwin posix".
11595 (*-*-hpux*): Use config_path "hpux posix".
11596 * target.c: Add include of plugin-suffix.h and use
11597 SONAME_SUFFIX macro.
11598 * config/aix/plugin-suffix.h: New file.
11599 * config/darwin/plugin-suffix.h: New file.
11600 * config/hpux/plugin-suffix.h: New file.
11601 * config/posix/plugin-suffix.h: New file.
11602
b8910447
JJ
116032015-01-23 Jakub Jelinek <jakub@redhat.com>
11604
11605 PR middle-end/64734
11606 * libgomp.c/pr64734.c: New test.
11607
a0c88d06
TV
116082015-01-23 Tom de Vries <tom@codesourcery.com>
11609
11610 PR libgomp/64672
11611 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
11612
1506ae0e
TV
116132015-01-23 Tom de Vries <tom@codesourcery.com>
11614
11615 PR libgomp/64707
11616 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
11617 dg-options.
11618
128b26dc
TS
116192015-01-19 Thomas Schwinge <thomas@codesourcery.com>
11620
bed62c21 11621 PR libgomp/64625
128b26dc
TS
11622 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
11623 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
11624 formal parameter. Update all users.
11625 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
11626 Document unused formal parameter.
11627
6e36114c
TS
116282015-01-16 Thomas Schwinge <thomas@codesourcery.com>
11629
11630 * oacc-parallel.c: Don't include <alloca.h>.
11631 (GOACC_parallel): Use gomp_alloca instead of alloca.
11632
973e9808
GP
116332015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
11634
11635 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
11636
41dbbb37
TS
116372015-01-15 Thomas Schwinge <thomas@codesourcery.com>
11638 James Norris <jnorris@codesourcery.com>
11639 Tom de Vries <tom@codesourcery.com>
11640 Julian Brown <julian@codesourcery.com>
11641 Cesar Philippidis <cesar@codesourcery.com>
11642 Nathan Sidwell <nathan@codesourcery.com>
11643 Tobias Burnus <burnus@net-b.de>
11644
11645 * Makefile.am (search_path): Add $(top_srcdir)/../include.
11646 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
11647 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
11648 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
11649 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
11650 Include $(top_srcdir)/plugin/Makefrag.am.
11651 (nodist_libsubinclude_HEADERS): Add openacc.h.
11652 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
11653 openacc.f90, openacc.mod, openacc_kinds.mod.
11654 (omp_lib.mod): Generalize into...
11655 (%.mod): ... this new rule.
11656 (openacc_kinds.mod, openacc.mod): New rules.
11657 * plugin/configfrag.ac: New file.
11658 * configure.ac: Move plugin/offloading support into it. Include
11659 it. Instantiate testsuite/libgomp-test-support.pt.exp.
11660 * plugin/Makefrag.am: New file.
11661 * testsuite/Makefile.am (OFFLOAD_TARGETS)
11662 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
11663 export.
11664 (libgomp-test-support.exp): New rule.
11665 (all-local): Depend on it.
11666 * Makefile.in: Regenerate.
11667 * testsuite/Makefile.in: Regenerate.
11668 * config.h.in: Likewise.
11669 * configure: Likewise.
11670 * configure.tgt: Harden shell syntax.
11671 * env.c: Include "oacc-int.h".
11672 (parse_acc_device_type): New function.
11673 (gomp_debug_var, goacc_device_type, goacc_device_num): New
11674 variables.
11675 (initialize_env): Initialize those. Call
11676 goacc_runtime_initialize.
11677 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
11678 (gomp_fatal): Call gomp_vfatal.
11679 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
11680 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
11681 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
11682 (splay_tree_node, splay_tree, splay_tree_key)
11683 (struct target_mem_desc, struct splay_tree_key_s)
11684 (struct gomp_memory_mapping, struct acc_dispatch_t)
11685 (struct gomp_device_descr, gomp_acc_insert_pointer)
11686 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
11687 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
11688 (gomp_free_memmap, gomp_fini_device): New declarations.
11689 (gomp_vdebug, gomp_debug): New macros.
11690 Include "splay-tree.h".
11691 * libgomp.map (OACC_2.0): New symbol version. Use for
11692 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
11693 acc_set_device_type_h_, acc_get_device_type,
11694 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
11695 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
11696 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
11697 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
11698 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
11699 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
11700 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
11701 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
11702 acc_copyin_array_h_, acc_present_or_copyin,
11703 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
11704 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
11705 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
11706 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
11707 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
11708 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
11709 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
11710 acc_update_device, acc_update_device_32_h_,
11711 acc_update_device_64_h_, acc_update_device_array_h_,
11712 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
11713 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
11714 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
11715 acc_is_present_64_h_, acc_is_present_array_h_,
11716 acc_memcpy_to_device, acc_memcpy_from_device,
11717 acc_get_current_cuda_device, acc_get_current_cuda_context,
11718 acc_get_cuda_stream, acc_set_cuda_stream.
11719 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
11720 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
11721 GOACC_update, GOACC_wait, GOACC_get_thread_num,
11722 GOACC_get_num_threads.
11723 (GOMP_PLUGIN_1.0): New symbol version. Use for
11724 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
11725 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
11726 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
11727 GOMP_PLUGIN_acc_thread.
11728 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
11729 environment variable.
11730 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
11731 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
11732 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
11733 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
11734 (splay_tree_remove): New declarations.
11735 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
11736 (splay_tree_remove, splay_tree_lookup): Move into...
11737 * splay-tree.c: ... this new file.
11738 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
11739 (splay_tree_node, splay_tree, splay_tree_key)
11740 (struct target_mem_desc, struct splay_tree_key_s)
11741 (struct gomp_device_descr): Don't declare.
11742 (num_devices_openmp): New variable.
11743 (gomp_get_num_devices ): Use it.
11744 (gomp_init_targets_once): New function.
11745 (gomp_get_num_devices ): Use it.
11746 (get_kind, gomp_copy_from_async, gomp_free_memmap)
11747 (gomp_fini_device, gomp_register_image_for_device): New functions.
11748 (gomp_map_vars): Add devaddrs parameter.
11749 (gomp_update): Add mm parameter.
11750 (gomp_init_device): Move most of it into...
11751 (gomp_init_tables): ... this new function.
11752 (gomp_register_images_for_device): Remove function.
11753 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
11754 Make them hidden instead of static.
11755 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
11756 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
11757 (GOMP_target_end_data, GOMP_target_update)
11758 (gomp_load_plugin_for_device, gomp_target_init): Update for
11759 OpenACC changes.
11760 * oacc-async.c: New file.
11761 * oacc-cuda.c: Likewise.
11762 * oacc-host.c: Likewise.
11763 * oacc-init.c: Likewise.
11764 * oacc-int.h: Likewise.
11765 * oacc-mem.c: Likewise.
11766 * oacc-parallel.c: Likewise.
11767 * oacc-plugin.c: Likewise.
11768 * oacc-plugin.h: Likewise.
11769 * oacc-ptx.h: Likewise.
11770 * openacc.f90: Likewise.
11771 * openacc.h: Likewise.
11772 * openacc_lib.h: Likewise.
11773 * plugin/plugin-host.c: Likewise.
11774 * plugin/plugin-nvptx.c: Likewise.
11775 * libgomp-plugin.c: Likewise.
11776 * libgomp-plugin.h: Likewise.
11777 * libgomp_target.h: Remove file after merging content into the
11778 former file. Update all users.
11779 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
11780 (offload_targets_s, offload_targets_s_openacc): New variables.
11781 (check_effective_target_openacc_nvidia_accel_present)
11782 (check_effective_target_openacc_nvidia_accel_selected): New
11783 procedures.
11784 (libgomp_init): Update for OpenACC changes.
11785 * testsuite/libgomp-test-support.exp.in: New file.
11786 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
11787 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11788 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11789 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
11790 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
11791 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11792 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
11793 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11794 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
11795 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
11796 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
11797 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11798 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
11799 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
11800 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
11801 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
11802 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
11803 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
11804 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
11805 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
11806 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
11807 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
11808 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
11809 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11810 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11811 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11812 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11813 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11814 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11815 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11816 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11817 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
11818 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
11819 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
11820 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
11821 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11822 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
11823 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11824 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
11825 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
11826 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
11827 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
11828 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11829 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11830 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11831 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
11832 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11833 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11834 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11835 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11836 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11837 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
11838 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11839 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11840 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11841 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11842 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11843 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11844 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11845 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
11846 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11847 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
11848 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11849 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11850 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11851 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
11852 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
11853 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11854 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11855 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11856 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
11857 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11858 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11859 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11860 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
11861 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
11862 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11863 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11864 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
11865 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
11866 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
11867 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
11868 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11869 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11870 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11871 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
11872 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
11873 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11874 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11875 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
11876 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
11877 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
11878 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
11879 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11880 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11881 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11882 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11883 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
11884 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11885 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11886 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
11887 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
11888 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
11889 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11890 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
11891 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
11892 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
11893 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
11894 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
11895 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11896 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
11897 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
11898 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11899 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
11900 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
11901 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11902 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
11903 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
11904 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
11905 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
11906 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
11907 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
11908 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
11909 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
11910 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
11911 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
11912 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
11913 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
11914 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
11915 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
11916 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
11917 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
11918 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11919 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
11920 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
11921 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
11922 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
11923 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
11924 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
11925 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
11926 Likewise.
11927 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
11928 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
11929 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
11930 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
11931 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
11932 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11933 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11934 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11935 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11936 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11937 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11938 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11939 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11940 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11941 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11942 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11943 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11944 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11945 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11946 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11947 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11948 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11949 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11950 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11951 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11952 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11953 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11954 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11955 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11956 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11957 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11958 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11959 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11960 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11961 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11962 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11963 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11964 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11965 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11966 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11967 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11968 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11969 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11970 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11971 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11972 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11973 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11974 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
11975 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
11976 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11977 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11978 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11979 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
11980 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11981 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11982 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11983 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11984 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11985 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11986 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11987
f1f3453e
TS
119882015-01-10 Thomas Schwinge <thomas@codesourcery.com>
11989 Julian Brown <julian@codesourcery.com>
11990 David Malcolm <dmalcolm@redhat.com>
11991
11992 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
11993 to "GNU Offloading and Multi Processing Runtime Library". Change
11994 all users.
11995 * configure: Regenerate.
11996 * libgomp.texi: Update.
11997
f9a0eca4
TS
119982015-01-08 Thomas Schwinge <thomas@codesourcery.com>
11999
b335ef4e
TS
12000 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
12001 "$tgt_dir/lib32".
12002 * configure: Regenerate.
12003
f9a0eca4
TS
12004 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
12005 "intelmic" in $offload_targets.
12006
b67cd4e3
JJ
120072015-01-05 Jakub Jelinek <jakub@redhat.com>
12008
5624e564
JJ
12009 Update copyright years.
12010
b67cd4e3
JJ
12011 * libgomp.texi: Bump @copying's copyright year.
12012
3b41b583
KT
120132014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12014
12015 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 12016 Move load of target-supports.exp earlier.
3b41b583 12017
2354caec
IV
120182014-12-10 Ilya Verbin <ilya.verbin@intel.com>
12019
12020 * testsuite/libgomp.c/target-9.c: New test.
12021
f50eecba
VR
120222014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
12023
12024 * config.h.in: Regenerate.
12025 * configure: Regenerate.
12026 * configure.ac: Add GCC_CHECK_EMUTLS.
12027 * libgomp.h: Add check for USE_EMUTLS: this case
12028 is equal to HAVE_TLS.
12029 * team.c: Likewise.
12030
68bc9270
UB
120312014-12-03 Uros Bizjak <ubizjak@gmail.com>
12032
12033 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
12034
476ff787
AT
120352014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
12036 Ilya Verbin <ilya.verbin@intel.com>
12037
12038 * testsuite/libgomp.c/target-critical-1.c: New test.
12039
31a30e62
JJ
120402014-11-26 Jakub Jelinek <jakub@redhat.com>
12041
12042 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 12043 to dg-options unless expensive testing is on.
31a30e62
JJ
12044 (TESTITERS): Define to N if not defined.
12045 (main): Use TESTITERS instead of N.
12046 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
12047 dg-additional-options depending on whether expensive testing is on.
12048 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
12049 Decrease N to 100000 and CHUNKSZ to 10000.
12050
3f9e8f13
JJ
120512014-11-24 Jakub Jelinek <jakub@redhat.com>
12052
12053 PR fortran/63938
31a30e62
JJ
12054 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
12055 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 12056
c8451a46
SE
120572014-11-21 Steve Ellcey <sellcey@imgtec.com>
12058
12059 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
12060
a699d672
L
120612014-11-21 H.J. Lu <hongjiu.lu@intel.com>
12062
12063 PR bootstrap/63784
12064 * configure: Regenerated.
12065
4a19f719
UB
120662014-11-19 Uros Bizjak <ubizjak@gmail.com>
12067
12068 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
12069 vect_simd_clones effective target.
12070 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12071
b1bf6c52
JJ
120722014-11-14 Jakub Jelinek <jakub@redhat.com>
12073
12074 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
12075 of 32 as block_size.
12076 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
12077 instead of 32 as block_size.
12078
d64ae614
AT
120792014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
12080 Ilya Verbin <ilya.verbin@intel.com>
12081
12082 * Makefile.in: Regenerate.
12083 * configure: Regenerate.
12084 * configure.ac: Set up offload_additional_options,
12085 offload_additional_lib_paths and offload_targets.
12086 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
12087 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
12088 * testsuite/Makefile.in: Regenerate.
12089 * testsuite/lib/libgomp.exp (libgomp_init): Append
12090 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
12091 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
12092 build directory to LD_LIBRARY_PATH for intelmic offload targets.
12093
122d7303
AT
120942014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
12095 Ilya Verbin <ilya.verbin@intel.com>
12096 Kirill Yukhin <kirill.yukhin@intel.com>
12097 Ilya Tocar <ilya.tocar@intel.com>
12098
12099 * testsuite/lib/libgomp.exp
12100 (check_effective_target_offload_device): New.
12101 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
12102 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
12103 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
12104 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
12105 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
12106 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
12107 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
12108 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
12109 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
12110 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
12111 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
12112 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
12113 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
12114 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
12115 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
12116 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
12117 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
12118 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
12119 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
12120 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
12121 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
12122 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
12123 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
12124 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
12125 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
12126 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
12127 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
12128 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
12129 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
12130 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
12131 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
12132 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
12133 * testsuite/libgomp.c/target-7.c: Fix test.
12134 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
12135 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
12136 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
12137 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
12138 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
12139 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
12140 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
12141 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
12142 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
12143 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
12144 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
12145 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
12146 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
12147 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
12148 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
12149 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
12150 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
12151 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
12152 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12153 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
12154 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
12155 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
12156 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
12157 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
12158 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
12159 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
12160 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
12161 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
12162 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
12163 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
12164 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
12165
1df3f842
JJ
121662014-11-13 Jakub Jelinek <jakub@redhat.com>
12167 Ilya Verbin <ilya.verbin@intel.com>
12168 Thomas Schwinge <thomas@codesourcery.com>
12169 Andrey Turetskiy <andrey.turetskiy@intel.com>
12170
12171 * libgomp.map (GOMP_4.0.1): New symbol version.
12172 Add GOMP_offload_register.
12173 * libgomp_target.h: New file.
12174 * splay-tree.h: New file.
12175 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
12176 (gomp_target_init): New forward declaration.
12177 (gomp_is_initialized): New static variable.
12178 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
12179 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
12180 New structures.
12181 (offload_images, num_offload_images, devices, num_devices): New static
12182 variables.
12183 (splay_compare): New static function.
12184 (struct gomp_device_descr): New structure.
12185 (gomp_get_num_devices): Call gomp_target_init.
12186 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
12187 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
12188 (GOMP_offload_register): New function.
12189 (GOMP_target): Arrange for host callback to be performed in a separate
12190 initial thread and contention group, inheriting ICVs from
12191 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
12192 Add device initialization and lookup for target function in splay tree.
12193 (GOMP_target_data): Add device initialization and call gomp_map_vars.
12194 (GOMP_target_end_data): Call gomp_unmap_vars.
12195 (GOMP_target_update): Add device initialization and call gomp_update.
12196 (gomp_load_plugin_for_device, gomp_register_images_for_device)
12197 (gomp_target_init): New static functions.
12198
85c64bbe
BS
121992014-11-13 Bernd Schmidt <bernds@codesourcery.com>
12200 Thomas Schwinge <thomas@codesourcery.com>
12201 Ilya Verbin <ilya.verbin@intel.com>
12202 Andrey Turetskiy <andrey.turetskiy@intel.com>
12203
12204 * config.h.in: Regenerate.
12205 * configure: Regenerate.
12206 * configure.ac: Check for libdl, required for plugin support.
12207 (PLUGIN_SUPPORT): Define if plugins are supported.
12208 (enable_offload_targets): Support Intel MIC targets.
12209 (OFFLOAD_TARGETS): List of target names suitable for offloading.
12210
ebf6d33b
FXC
122112014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12212
12213 PR target/63610
12214 * configure: Regenerate.
12215
8c768629
RO
122162014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12217
12218 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
12219
c1d62412
MP
122202014-10-06 Marek Polacek <polacek@redhat.com>
12221
12222 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
12223 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
12224 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
12225 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
12226
44a0c6cb
MP
122272014-10-06 Marek Polacek <polacek@redhat.com>
12228
12229 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
12230 * testsuite/libgomp.c/nqueens-1.c: Likewise.
12231 * testsuite/libgomp.c/pr26943-3.c: Likewise.
12232 * testsuite/libgomp.c/pr26943-4.c: Likewise.
12233 * testsuite/libgomp.c/pr36802-2.c: Likewise.
12234 * testsuite/libgomp.c/pr36802-3.c: Likewise.
12235 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
12236 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
12237 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
12238 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
12239 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
12240 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
12241 * testsuite/libgomp.c/omp-single-1.c: Likewise.
12242 * testsuite/libgomp.c/omp-single-2.c: Likewise.
12243 * testsuite/libgomp.c/omp_matvec.c: Likewise.
12244 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
12245 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
12246 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
12247 declarations.
12248
5771c391
JJ
122492014-10-03 Jakub Jelinek <jakub@redhat.com>
12250
12251 PR libgomp/61200
12252 * testsuite/libgomp.c/pr61200.c: New test.
12253
bce16b88
JJ
122542014-09-18 Jakub Jelinek <jakub@redhat.com>
12255
12256 PR c++/63248
12257 * testsuite/libgomp.c++/pr63248.C: New test.
12258
3696163c
JJ
122592014-08-04 Jakub Jelinek <jakub@redhat.com>
12260
12261 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
12262 is not zero, but taskgroup->children is NULL and there are
12263 any task->children, schedule those instead of waiting.
12264 * testsuite/libgomp.c/depend-6.c: New test.
12265 * testsuite/libgomp.c/depend-7.c: New test.
12266 * testsuite/libgomp.c/depend-8.c: New test.
12267 * testsuite/libgomp.c/depend-9.c: New test.
12268 * testsuite/libgomp.c/depend-10.c: New test.
12269
0494285a
JJ
122702014-08-01 Jakub Jelinek <jakub@redhat.com>
12271
12272 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
12273 (struct gomp_taskwait): New type.
12274 (struct gomp_task): Add taskwait and parent_depends_on, remove
12275 in_taskwait and taskwait_sem fields.
12276 (gomp_finish_task): Don't destroy taskwait_sem.
12277 * task.c (gomp_init_task): Don't init in_taskwait, instead init
12278 taskwait and parent_depends_on.
12279 (GOMP_task): For if (0) tasks with depend clause that depend on
12280 earlier tasks don't defer them, instead call
12281 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
12282 Initialize redundant_out field, for redundant out entries just
12283 move them at the end of linked list instead of removing them
12284 completely, and set redundant_out flag instead of redundant.
12285 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
12286 that task.
12287 (gomp_task_run_post_handle_dependers): If parent is in
12288 gomp_task_maybe_wait_for_dependencies and newly runnable task
12289 is not parent_depends_on, queue it in parent->children linked
12290 list after all runnable tasks with parent_depends_on set.
12291 Adjust for addition of taskwait indirection.
12292 (gomp_task_run_post_remove_parent): If parent is in
12293 gomp_task_maybe_wait_for_dependencies and task to be removed
12294 is parent_depends_on, decrement n_depend and if needed awake
12295 parent. Adjust for addition of taskwait indirection.
12296 (GOMP_taskwait): Adjust for addition of taskwait indirection.
12297 (gomp_task_maybe_wait_for_dependencies): New function.
12298 * testsuite/libgomp.c/depend-5.c: New test.
12299
60ab4b44
TB
123002014-07-13 Tobias Burnus <burnus@net-b.de>
12301
12302 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 12303 with TS 18508/Fortran 2015.
60ab4b44 12304
773ec47f
MP
123052014-07-06 Marek Polacek <polacek@redhat.com>
12306
12307 PR c/6940
12308 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
12309
f707da16
JJ
123102014-07-03 Jakub Jelinek <jakub@redhat.com>
12311
12312 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
12313 matches regex $lang_source_re, add $lang_include_flags to options.
12314 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
12315 * testsuite/libgomp.c++/c++.exp: Likewise.
12316 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
12317 and lang_include_flags instead of adding -fintrinsic-modules-path= to
12318 ALWAYS_CFLAGS.
12319 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
12320
07b6c044
TS
123212014-07-03 Thomas Schwinge <thomas@codesourcery.com>
12322
12323 * testsuite/libgomp.fortran/fortran.exp: Explain
12324 gfortran-dg-runtest usage.
12325
da6f124d
JJ
123262014-06-25 Jakub Jelinek <jakub@redhat.com>
12327
12328 * testsuite/libgomp.fortran/simd5.f90: New test.
12329 * testsuite/libgomp.fortran/simd6.f90: New test.
12330 * testsuite/libgomp.fortran/simd7.f90: New test.
12331
b46ebd6c
JJ
123322014-06-24 Jakub Jelinek <jakub@redhat.com>
12333
56ad0e38
JJ
12334 * testsuite/libgomp.c/for-2.c: Define SC to static for
12335 #pragma omp for simd testing.
12336 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
12337 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
12338 SC macro.
12339 * testsuite/libgomp.c/simd-14.c: New test.
12340 * testsuite/libgomp.c/simd-15.c: New test.
12341 * testsuite/libgomp.c/simd-16.c: New test.
12342 * testsuite/libgomp.c/simd-17.c: New test.
12343 * testsuite/libgomp.c++/for-10.C: Define SC to static for
12344 #pragma omp for simd testing.
12345 * testsuite/libgomp.c++/simd10.C: New test.
12346 * testsuite/libgomp.c++/simd11.C: New test.
12347 * testsuite/libgomp.c++/simd12.C: New test.
12348 * testsuite/libgomp.c++/simd13.C: New test.
12349
b46ebd6c
JJ
12350 * testsuite/libgomp.fortran/aligned1.f03: New test.
12351 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
12352 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
12353 tasks with !$omp parallel !$omp single.
12354 * testsuite/libgomp.fortran/target8.f90: New test.
12355 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
12356 not to use trim in the combiner, instead call elemental function.
12357 (fn): New elemental function.
12358 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
12359 Make elemental.
12360 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
12361 omp_in): Likewise.
12362 * testsuite/libgomp.fortran/udr12.f90: New test.
12363 * testsuite/libgomp.fortran/udr13.f90: New test.
12364 * testsuite/libgomp.fortran/udr14.f90: New test.
12365 * testsuite/libgomp.fortran/udr15.f90: New test.
12366
f014c653
JJ
123672014-06-18 Jakub Jelinek <jakub@redhat.com>
12368
12369 * omp_lib.f90.in (openmp_version): Set to 201307.
12370 * omp_lib.h.in (openmp_version): Likewise.
12371 * testsuite/libgomp.c/target-8.c: New test.
12372 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
12373 and inbranch clauses.
12374 * testsuite/libgomp.fortran/depend-3.f90: New test.
12375 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
12376 openmp_version.
12377 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12378 * testsuite/libgomp.fortran/target1.f90: New test.
12379 * testsuite/libgomp.fortran/target2.f90: New test.
12380 * testsuite/libgomp.fortran/target3.f90: New test.
12381 * testsuite/libgomp.fortran/target4.f90: New test.
12382 * testsuite/libgomp.fortran/target5.f90: New test.
12383 * testsuite/libgomp.fortran/target6.f90: New test.
12384 * testsuite/libgomp.fortran/target7.f90: New test.
12385
92d28cbb
JJ
123862014-06-10 Jakub Jelinek <jakub@redhat.com>
12387
12388 PR fortran/60928
12389 * testsuite/libgomp.fortran/allocatable9.f90: New test.
12390 * testsuite/libgomp.fortran/allocatable10.f90: New test.
12391 * testsuite/libgomp.fortran/allocatable11.f90: New test.
12392 * testsuite/libgomp.fortran/allocatable12.f90: New test.
12393 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
12394 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
12395 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
12396 * testsuite/libgomp.fortran/associate1.f90: New test.
12397 * testsuite/libgomp.fortran/associate2.f90: New test.
12398 * testsuite/libgomp.fortran/procptr1.f90: New test.
12399
5f23671d
JJ
124002014-06-06 Jakub Jelinek <jakub@redhat.com>
12401
12402 * testsuite/libgomp.fortran/simd1.f90: New test.
12403 * testsuite/libgomp.fortran/udr1.f90: New test.
12404 * testsuite/libgomp.fortran/udr2.f90: New test.
12405 * testsuite/libgomp.fortran/udr3.f90: New test.
12406 * testsuite/libgomp.fortran/udr4.f90: New test.
12407 * testsuite/libgomp.fortran/udr5.f90: New test.
12408 * testsuite/libgomp.fortran/udr6.f90: New test.
12409 * testsuite/libgomp.fortran/udr7.f90: New test.
12410 * testsuite/libgomp.fortran/udr8.f90: New test.
12411 * testsuite/libgomp.fortran/udr9.f90: New test.
12412 * testsuite/libgomp.fortran/udr10.f90: New test.
12413 * testsuite/libgomp.fortran/udr11.f90: New test.
12414
0389fbb5
UB
124152014-05-27 Uros Bizjak <ubizjak@gmail.com>
12416
12417 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
12418 vect_simd_clones effective target.
12419 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
12420
decaaec8
JJ
124212014-05-21 Jakub Jelinek <jakub@redhat.com>
12422
12423 PR middle-end/61252
12424 * testsuite/libgomp.c++/simd-9.C: New test.
12425
72832460
UB
124262014-05-18 Uros Bizjak <ubizjak@gmail.com>
12427
12428 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
12429 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
12430 texts according to their @menu entry positions.
12431
dd2fc525
JJ
124322014-05-11 Jakub Jelinek <jakub@redhat.com>
12433
12434 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
12435 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
12436 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
12437 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
12438 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
12439 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
12440 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
12441 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
12442 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
12443 * testsuite/libgomp.fortran/depend-1.f90: New test.
12444 * testsuite/libgomp.fortran/depend-2.f90: New test.
12445 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
12446 * testsuite/libgomp.fortran/simd1.f90: New test.
12447 * testsuite/libgomp.fortran/simd2.f90: New test.
12448 * testsuite/libgomp.fortran/simd3.f90: New test.
12449 * testsuite/libgomp.fortran/simd4.f90: New test.
12450 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
12451
95782571
JJ
124522014-05-02 Jakub Jelinek <jakub@redhat.com>
12453
12454 * testsuite/libgomp.c/simd-10.c: New test.
12455 * testsuite/libgomp.c/simd-11.c: New test.
12456 * testsuite/libgomp.c/simd-12.c: New test.
12457 * testsuite/libgomp.c/simd-13.c: New test.
12458
f7468577
JJ
124592014-04-24 Jakub Jelinek <jakub@redhat.com>
12460
42056eac
JJ
12461 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
12462 atomic type clauses in any order and optional comma in between.
12463 * testsuite/libgomp.c++/atomic-15.C: Likewise.
12464 * testsuite/libgomp.c/atomic-17.c: Likewise.
12465
f7468577
JJ
12466 * testsuite/libgomp.c/simd-7.c: New test.
12467 * testsuite/libgomp.c/simd-8.c: New test.
12468 * testsuite/libgomp.c/simd-9.c: New test.
12469 * testsuite/libgomp.c/loop-16.c: New test.
12470
ab18f2f5
RH
124712014-04-02 Richard Henderson <rth@redhat.com>
12472
12473 * config/linux/futex.h (futex_wait): Get error value from errno.
12474 (futex_wake): Likewise.
12475
8bcc90b0
JJ
124762014-03-25 Jakub Jelinek <jakub@redhat.com>
12477
12478 PR c++/60331
12479 * testsuite/libgomp.c++/udr-11.C: New test.
12480 * testsuite/libgomp.c++/udr-12.C: New test.
12481 * testsuite/libgomp.c++/udr-13.C: New test.
12482 * testsuite/libgomp.c++/udr-14.C: New test.
12483 * testsuite/libgomp.c++/udr-15.C: New test.
12484 * testsuite/libgomp.c++/udr-16.C: New test.
12485 * testsuite/libgomp.c++/udr-17.C: New test.
12486 * testsuite/libgomp.c++/udr-18.C: New test.
12487 * testsuite/libgomp.c++/udr-19.C: New test.
12488
18d73c7f
RS
124892014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
12490
12491 Update copyright years
12492
f9030485
RS
124932014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
12494
12495 * hashtab.h: Use the standard form for the copyright notice.
12496
98db73df
TB
124972014-01-02 Tobias Burnus <burnus@net-b.de>
12498
12499 * libgomp.texi: Bump @copying's copyright year.
12500
ae246f7f
AT
125012013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
12502
93d90219 12503 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
12504 alloca () with __builtin_alloca ().
12505 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
12506 * testsuite/libgomp.c/lock-3.c: Likewise.
12507 * testsuite/libgomp.c/pr48591.c: Likewise.
12508
fa00a5fe
JJ
125092013-12-17 Jakub Jelinek <jakub@redhat.com>
12510
12511 PR testsuite/59534
12512 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
12513 comparisons.
12514
e9792e1d
JJ
125152013-12-16 Jakub Jelinek <jakub@redhat.com>
12516
12517 PR libgomp/58756
12518 * testsuite/libgomp.c/pr58756.c: New test.
12519
cab37c89
JJ
125202013-12-12 Jakub Jelinek <jakub@redhat.com>
12521
12522 PR libgomp/59467
12523 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
12524 !$omp parallel.
12525
de14871c
TS
125262013-11-07 Thomas Schwinge <thomas@codesourcery.com>
12527
1707a5de
TS
12528 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
12529 ALWAYS_CFLAGS.
12530 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
12531 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
12532 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
12533 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
12534 Likewise.
12535
70f05c43
TS
12536 * libgomp_g.h: Include <stddef.h> for size_t.
12537
de14871c
TS
12538 * libgomp.spec.in: Update comment about libgomp's dependencies.
12539 * configure.ac: Likewise.
12540 * configure: Regenerate.
12541
83fd6c5b
TB
125422013-10-16 Tobias Burnus <burnus@net-b.de>
12543
12544 * libgomp.texi: (Runtime Library Routines): Update references for
12545 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
12546 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
12547 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
12548 (Environment Variables): Update references for OpenMP 4.0. Add
12549 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
12550 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
12551 order.
12552
c8673881
JJ
125532013-10-14 Jakub Jelinek <jakub@redhat.com>
12554
12555 * env.c (parse_bind_var): Initialize value to avoid
12556 (false positive) warning.
12557
f89163fd
JJ
125582013-10-12 Jakub Jelinek <jakub@redhat.com>
12559
12560 PR libgomp/58691
12561 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
12562 to check variable.
12563 (gomp_init_num_threads): Move i variable declaration into
12564 #ifdef CPU_ALLOC_SIZE block.
12565 * config/linux/affinity.c (gomp_affinity_init_level): Test
12566 gomp_places_list_len == 0 rather than gomp_places_list == 0
12567 when checking for topology reading error.
12568 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
12569 * env.c (parse_affinity): Add ignore argument, if true, don't populate
12570 gomp_places_list, only parse env var and always return false.
12571 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
12572 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
12573 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
12574 and either of these variables were parsed correctly into a places
12575 list.
12576
1d340638
TS
125772013-10-11 Thomas Schwinge <thomas@codesourcery.com>
12578 Jakub Jelinek <jakub@redhat.com>
12579
12580 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
12581 of 5 loopfn matches.
12582 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12583 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12584 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12585 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12586 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12587 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12588 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12589 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12590
71a81c21
TS
125912013-10-11 Thomas Schwinge <thomas@codesourcery.com>
12592
bd87f731
TS
12593 * Makefile.am (omp_lib.mod): Streamline rule.
12594 * Makefile.in: Regenerate.
12595
f5745bed
TS
12596 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
12597 exceptions.
12598
b5512c66
TS
12599 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
12600 * testsuite/libgomp.fortran/lib1.f90: Likewise.
12601 * testsuite/libgomp.fortran/lib2.f: Likewise.
12602 * testsuite/libgomp.fortran/lib3.f: Likewise.
12603
451c19c4
TS
12604 * configure.ac: Typo fix.
12605 * configure: Regenerate.
12606
86a6016d
TS
12607 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
12608 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12609
71a81c21
TS
12610 * omp.h.in: Don't touch the user's namespace.
12611
acf0174b
JJ
126122013-10-11 Jakub Jelinek <jakub@redhat.com>
12613 Tobias Burnus <burnus@net-b.de>
12614 Richard Henderson <rth@redhat.com>
12615
12616 * target.c: New file.
12617 * Makefile.am (libgomp_la_SOURCES): Add target.c.
12618 * Makefile.in: Regenerated.
12619 * libgomp_g.h (GOMP_task): Add depend argument.
12620 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
12621 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
12622 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
12623 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
12624 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
12625 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
12626 GOMP_taskgroup_start, GOMP_taskgroup_end,
12627 GOMP_parallel_sections): New prototypes.
12628 * fortran.c (omp_is_initial_device): Add ialias_redirect.
12629 (omp_is_initial_device_): New function.
12630 (ULP, STR1, STR2, ialias_redirect): Removed.
12631 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
12632 omp_set_default_device_8_, omp_get_default_device_,
12633 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
12634 functions.
12635 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
12636 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
12637 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
12638 @@GOMP_4.0.
12639 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
12640 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
12641 omp_set_default_device, omp_set_default_device_,
12642 omp_set_default_device_8_, omp_get_default_device,
12643 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
12644 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
12645 omp_get_team_num_): Export @@OMP_4.0.
12646 * team.c (struct gomp_thread_start_data): Add place field.
12647 (gomp_thread_start): Clear thr->thread_pool and
12648 thr->task before returning. Use gomp_team_barrier_wait_final
12649 instead of gomp_team_barrier_wait. Initialize thr->place.
12650 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
12651 team_cancelled and task_queued_count fields.
12652 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
12653 before calling pthread_exit.
12654 (gomp_free_thread): No longer static. Use
12655 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
12656 (gomp_team_start): Add flags argument. Set
12657 thr->thread_pool->threads_busy to nthreads immediately after creating
12658 new pool. Use gomp_managed_threads_lock instead of
12659 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
12660 (gomp_team_end): Use gomp_managed_threads_lock instead of
12661 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
12662 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 12663 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
12664 rather than thr->ts.work_share.
12665 (initialize_team): Don't call gomp_sem_init here.
12666 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
12667 caller.
12668 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
12669 * env.c (gomp_global_icv): Add default_device_var, target_data and
12670 bind_var initializers.
12671 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
12672 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
12673 gomp_places_list_len): New variables.
12674 (parse_bind_var, parse_one_place, parse_places_var): New functions.
12675 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
12676 sized places.
12677 (gomp_cancel_var): New global variable.
12678 (parse_int): New function.
12679 (handle_omp_display_env): New function.
12680 (initialize_env): Use it. Initialize default_device_var.
12681 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
12682 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
12683 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
12684 been successfully parsed (and call gomp_init_affinity in that case).
12685 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12686 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12687 omp_get_team_num, omp_is_initial_device): New functions.
12688 * libgomp.h: Include stdlib.h.
12689 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
12690 Define.
12691 (struct target_mem_desc): Forward declare.
12692 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
12693 and thread_limit_var fields.
12694 (gomp_get_num_devices): New prototype.
12695 (gomp_cancel_var): New extern decl.
12696 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
12697 team_cancelled and task_queued_count fields. Add comments about
12698 task_{,queued_,running_}count.
12699 (gomp_cancel_kind): New enum.
12700 (gomp_work_share_end_cancel): New prototype.
12701 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
12702 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
12703 and depend fields.
12704 (struct gomp_taskgroup): New type.
12705 (struct gomp_task_depend_entry,
12706 struct gomp_dependers_vec): New types.
12707 (gomp_finish_task): Free depend_hash if non-NULL.
12708 (struct gomp_team_state): Add place_partition_off
12709 and place_partition_len fields.
12710 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
12711 gomp_places_list_len): New extern decls.
12712 (struct gomp_thread): Add place field.
12713 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
12714 (gomp_init_thread_affinity): Add place argument.
12715 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12716 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12717 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12718 gomp_affinity_init_level, gomp_affinity_print_place): New
12719 prototypes.
12720 (gomp_team_start): Add flags argument.
12721 (gomp_thread_limit_var, gomp_remaining_threads_count,
12722 gomp_remaining_threads_lock): Remove.
12723 (gomp_managed_threads_lock): New variable.
12724 (struct gomp_thread_pool): Add threads_busy field.
12725 (gomp_free_thread): New prototype.
12726 * task.c: Include hashtab.h.
12727 (hash_entry_type): New typedef.
12728 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
12729 (gomp_init_task): Clear dependers, depend_hash, depend_count,
12730 copy_ctors_done and taskgroup fields.
12731 (GOMP_task): Add depend argument, handle depend clauses. If
12732 gomp_team_barrier_cancelled or if it's taskgroup has been
12733 cancelled, don't queue or start new tasks. Set copy_ctors_done
12734 field if needed. Initialize taskgroup field. If copy_ctors_done
12735 and already cancelled, don't discard the task. If taskgroup is
12736 non-NULL, enqueue the task into taskgroup queue. Increment
12737 num_children field in taskgroup. Increment task_queued_count.
12738 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
12739 gomp_task_run_post_remove_taskgroup): New inline functions.
12740 (gomp_task_run_post_handle_depend_hash,
12741 gomp_task_run_post_handle_dependers,
12742 gomp_task_run_post_handle_depend): New functions.
12743 (GOMP_taskwait): Use them. If more than one new tasks
12744 have been queued, wake other threads if needed.
12745 (gomp_barrier_handle_tasks): Likewise. If
12746 gomp_team_barrier_cancelled, don't start any new tasks, just free
12747 all tasks.
12748 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
12749 * omp_lib.f90.in
12750 (omp_proc_bind_kind, omp_proc_bind_false,
12751 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
12752 omp_proc_bind_spread): New params.
12753 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12754 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12755 omp_get_team_num, omp_is_initial_device): New interfaces.
12756 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
12757 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
12758 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
12759 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
12760 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
12761 useless use omp_lib_kinds.
12762 * omp.h.in (omp_proc_bind_t): New typedef.
12763 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12764 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12765 omp_get_team_num, omp_is_initial_device): New prototypes.
12766 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
12767 through to gomp_team_start.
12768 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
12769 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
12770 Adjust gomp_parallel_loop_start callers.
12771 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
12772 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
12773 GOMP_loop_end_cancel): New functions.
12774 (GOMP_parallel_end): Add ialias_redirect.
12775 * hashtab.h: New file.
12776 * libgomp.texi (Environment Variables): Minor cleanup,
12777 update section refs to OpenMP 4.0rc2.
12778 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
12779 environment variables.
12780 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
12781 team->work_shares_to_free to thr->ts.work_share before calling
12782 free_work_share.
12783 (gomp_work_share_end_cancel): New function.
12784 * config/linux/proc.c: Include errno.h.
12785 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
12786 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
12787 sizeof (cpu_set_t) to determine number of iterations. Fix up check
12788 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
12789 gomp_cpuset_size is sizeof (cpu_set_t).
12790 (gomp_init_num_threads): Initialize gomp_cpuset_size,
12791 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
12792 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
12793 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
12794 contain any logical CPUs.
12795 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
12796 is NULL. Use gomp_cpusetp instead of &cpuset and pass
12797 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
12798 pthread_getaffinity_np. Check gomp_places_list instead of
12799 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
12800 * config/linux/bar.c (gomp_barrier_wait_end,
12801 gomp_barrier_wait_last): Use BAR_* defines.
12802 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
12803 from state where needed. Set work_share_cancelled to 0 on last
12804 thread.
12805 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
12806 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
12807 functions.
12808 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
12809 Add cpusetsize argument.
12810 (gomp_cpuset_size, gomp_cpusetp): Declare.
12811 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
12812 (affinity_counter): Remove.
12813 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
12814 if CPU_ALLOC_SIZE isn't defined.
12815 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
12816 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
12817 bind current thread to the first place.
12818 (gomp_init_thread_affinity): Rewritten. Add place argument, just
12819 pthread_setaffinity_np to gomp_places_list[place].
12820 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12821 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12822 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12823 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
12824 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
12825 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
12826 (gomp_barrier_t): Add awaited_final field.
12827 (gomp_barrier_init): Initialize awaited_final field.
12828 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
12829 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
12830 prototypes.
12831 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
12832 defines.
12833 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
12834 gomp_team_barrier_cancelled): New inline functions.
12835 (gomp_barrier_last_thread,
12836 gomp_team_barrier_set_task_pending,
12837 gomp_team_barrier_clear_task_pending,
12838 gomp_team_barrier_set_waiting_for_tasks,
12839 gomp_team_barrier_waiting_for_tasks,
12840 gomp_team_barrier_done): Use BAR_* defines.
12841 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
12842 (gomp_barrier_wait_end): Use BAR_* defines.
12843 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
12844 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
12845 Use BAR_* defines.
12846 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
12847 gomp_team_barrier_cancel): New functions.
12848 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
12849 argument.
12850 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12851 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12852 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12853 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
12854 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
12855 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
12856 (gomp_barrier_t): Add cancellable field.
12857 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
12858 gomp_team_barrier_cancel): New prototypes.
12859 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
12860 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
12861 gomp_team_barrier_cancelled): New inline functions.
12862 (gomp_barrier_wait_start, gomp_barrier_last_thread,
12863 gomp_team_barrier_set_task_pending,
12864 gomp_team_barrier_clear_task_pending,
12865 gomp_team_barrier_set_waiting_for_tasks,
12866 gomp_team_barrier_waiting_for_tasks,
12867 gomp_team_barrier_done): Use BAR_* defines.
12868 * barrier.c (GOMP_barrier_cancel): New function.
12869 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
12870 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
12871 omp_proc_bind_spread): New params.
12872 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12873 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12874 omp_get_team_num, omp_is_initial_device): New externals.
12875 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
12876 New functions.
12877 (gomp_resolve_num_threads): Adjust for thread_limit now being in
12878 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
12879 infinity. If not nested, just return minimum of max_num_threads
12880 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
12881 to the returned value. Otherwise, don't update atomically
12882 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
12883 (GOMP_parallel_end): Adjust for thread_limit now being in
12884 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
12885 infinity. Adjust threads_busy in the pool rather than
12886 gomp_remaining_threads_count. Remember team->nthreads and call
12887 gomp_team_end before adjusting threads_busy, if not nested
12888 afterwards, just set it to 1 non-atomically. Add ialias.
12889 (GOMP_parallel_start): Adjust gomp_team_start caller.
12890 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
12891 * testsuite/libgomp.c/affinity-1.c: New test.
12892 * testsuite/libgomp.c/atomic-15.c: New test.
12893 * testsuite/libgomp.c/atomic-16.c: New test.
12894 * testsuite/libgomp.c/atomic-17.c: New test.
12895 * testsuite/libgomp.c/cancel-for-1.c: New test.
12896 * testsuite/libgomp.c/cancel-for-2.c: New test.
12897 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
12898 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
12899 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
12900 * testsuite/libgomp.c/cancel-sections-1.c: New test.
12901 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
12902 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
12903 * testsuite/libgomp.c/depend-1.c: New test.
12904 * testsuite/libgomp.c/depend-2.c: New test.
12905 * testsuite/libgomp.c/depend-3.c: New test.
12906 * testsuite/libgomp.c/depend-4.c: New test.
12907 * testsuite/libgomp.c/for-1.c: New test.
12908 * testsuite/libgomp.c/for-1.h: New file.
12909 * testsuite/libgomp.c/for-2.c: New test.
12910 * testsuite/libgomp.c/for-2.h: New file.
12911 * testsuite/libgomp.c/for-3.c: New test.
12912 * testsuite/libgomp.c/pr58392.c: New test.
12913 * testsuite/libgomp.c/simd-1.c: New test.
12914 * testsuite/libgomp.c/simd-2.c: New test.
12915 * testsuite/libgomp.c/simd-3.c: New test.
12916 * testsuite/libgomp.c/simd-4.c: New test.
12917 * testsuite/libgomp.c/simd-5.c: New test.
12918 * testsuite/libgomp.c/simd-6.c: New test.
12919 * testsuite/libgomp.c/target-1.c: New test.
12920 * testsuite/libgomp.c/target-2.c: New test.
12921 * testsuite/libgomp.c/target-3.c: New test.
12922 * testsuite/libgomp.c/target-4.c: New test.
12923 * testsuite/libgomp.c/target-5.c: New test.
12924 * testsuite/libgomp.c/target-6.c: New test.
12925 * testsuite/libgomp.c/target-7.c: New test.
12926 * testsuite/libgomp.c/taskgroup-1.c: New test.
12927 * testsuite/libgomp.c/thread-limit-1.c: New test.
12928 * testsuite/libgomp.c/thread-limit-2.c: New test.
12929 * testsuite/libgomp.c/thread-limit-3.c: New test.
12930 * testsuite/libgomp.c/udr-1.c: New test.
12931 * testsuite/libgomp.c/udr-2.c: New test.
12932 * testsuite/libgomp.c/udr-3.c: New test.
12933 * testsuite/libgomp.c++/affinity-1.C: New test.
12934 * testsuite/libgomp.c++/atomic-10.C: New test.
12935 * testsuite/libgomp.c++/atomic-11.C: New test.
12936 * testsuite/libgomp.c++/atomic-12.C: New test.
12937 * testsuite/libgomp.c++/atomic-13.C: New test.
12938 * testsuite/libgomp.c++/atomic-14.C: New test.
12939 * testsuite/libgomp.c++/atomic-15.C: New test.
12940 * testsuite/libgomp.c++/cancel-for-1.C: New test.
12941 * testsuite/libgomp.c++/cancel-for-2.C: New test.
12942 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
12943 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
12944 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
12945 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
12946 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
12947 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
12948 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
12949 * testsuite/libgomp.c++/cancel-test.h: New file.
12950 * testsuite/libgomp.c++/for-9.C: New test.
12951 * testsuite/libgomp.c++/for-10.C: New test.
12952 * testsuite/libgomp.c++/for-11.C: New test.
12953 * testsuite/libgomp.c++/simd-1.C: New test.
12954 * testsuite/libgomp.c++/simd-2.C: New test.
12955 * testsuite/libgomp.c++/simd-3.C: New test.
12956 * testsuite/libgomp.c++/simd-4.C: New test.
12957 * testsuite/libgomp.c++/simd-5.C: New test.
12958 * testsuite/libgomp.c++/simd-6.C: New test.
12959 * testsuite/libgomp.c++/simd-7.C: New test.
12960 * testsuite/libgomp.c++/simd-8.C: New test.
12961 * testsuite/libgomp.c++/target-1.C: New test.
12962 * testsuite/libgomp.c++/target-2.C: New test.
12963 * testsuite/libgomp.c++/target-2-aux.cc: New file.
12964 * testsuite/libgomp.c++/target-3.C: New test.
12965 * testsuite/libgomp.c++/taskgroup-1.C: New test.
12966 * testsuite/libgomp.c++/udr-1.C: New test.
12967 * testsuite/libgomp.c++/udr-2.C: New test.
12968 * testsuite/libgomp.c++/udr-3.C: New test.
12969 * testsuite/libgomp.c++/udr-4.C: New test.
12970 * testsuite/libgomp.c++/udr-5.C: New test.
12971 * testsuite/libgomp.c++/udr-6.C: New test.
12972 * testsuite/libgomp.c++/udr-7.C: New test.
12973 * testsuite/libgomp.c++/udr-8.C: New test.
12974 * testsuite/libgomp.c++/udr-9.C: New test.
12975
bd599dea
JJ
129762013-09-20 Jakub Jelinek <jakub@redhat.com>
12977
12978 PR testsuite/57605
12979 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
12980 ALWAYS_CFLAGS.
12981
3cbe17f7
AM
129822013-09-20 Alan Modra <amodra@gmail.com>
12983
12984 * configure: Regenerate.
12985
4befd127
JJ
129862013-09-19 Jakub Jelinek <jakub@redhat.com>
12987
12988 * testsuite/libgomp.c/sections-2.c: New test.
12989
946c8f7b
MS
129902013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
12991
12992 * testsuite/libgomp.fortran/strassen.f90:
12993 Add dg-skip-if aarch64_tiny.
12994
1ef3b58e
IS
129952013-06-20 Iain Sandoe <iain@codesourcery.com>
12996 Cesar Philippidis <cesar@codesourcery.com>
12997
12998 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
12999 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
13000 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
13001 * testsuite/libgomp.fortran/fortran.exp: Likewise.
13002 * testsuite/libgomp.graphite/graphite.exp: Likewise.
13003 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
13004 Use dg-runtest rather than gfortran-dg-runtest.
13005
9275f73a
TS
130062013-06-10 Thomas Schwinge <thomas@codesourcery.com>
13007
13008 * testsuite/libgomp.c/icv-2.c: Extend current handling of
13009 Linux-based x86 systems to cover all GNU systems.
13010 * testsuite/libgomp.c/lock-3.c: Likewise.
13011 * testsuite/libgomp.c/pr48591.c: Likewise.
13012
492992e2
TS
130132013-06-06 Thomas Schwinge <thomas@codesourcery.com>
13014
48df3acb
TS
13015 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
13016 GNU/Hurd, as done for Linux-based systems.
13017
492992e2
TS
13018 * config/posix/ptrlock.h: Fix comment.
13019
4fed6b25
TB
130202013-05-27 Tobias Burnus <burnus@net-b.de>
13021
13022 PR fortran/57423
13023 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
13024 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
13025 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
13026 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
13027 omp_destroy_nest_lock): Correct arguments to match the one in
13028 the OpenMP spec.
13029 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
13030 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
13031 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
13032 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
13033
5a0f4dd3
JJ
130342013-05-16 Jakub Jelinek <jakub@redhat.com>
13035
13036 * testsuite/libgomp.c/loop-13.c: New test.
13037 * testsuite/libgomp.c/loop-14.c: New test.
13038 * testsuite/libgomp.c/loop-15.c: New test.
13039 * testsuite/libgomp.c++/loop-13.C: New test.
13040 * testsuite/libgomp.c++/loop-14.C: New test.
13041 * testsuite/libgomp.c++/loop-15.C: New test.
13042
6d840d99
JJ
130432013-02-06 Jakub Jelinek <jakub@redhat.com>
13044
13045 PR middle-end/56217
13046 * testsuite/libgomp.c++/pr56217.C: New test.
13047
bed8d8a6
AM
130482013-02-01 Alan Modra <amodra@gmail.com>
13049
13050 * task.c (GOMP_task, GOMP_taskwait): Comment.
13051
3b35cd04
DV
130522013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
13053 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
13054
13055 PR libgomp/55561
13056 * config/linux/wait.h (do_spin): Use atomic load for addr.
13057 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
13058 for intptr and ptrlock.
13059 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
13060 for ptrlock.
13061
9a647288
AM
130622013-01-22 Alan Modra <amodra@gmail.com>
13063
13064 PR libgomp/51376
13065 PR libgomp/56073
13066 * task.c (GOMP_task): Revert 2011-12-09 change.
13067 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
13068 barrier to read task->children..
13069 (gomp_barrier_handle_tasks): ..and matching atomic store with
13070 release barrier here when setting parent->children to NULL.
13071
f34dea03
JJ
130722013-01-16 Jakub Jelinek <jakub@redhat.com>
13073 Tobias Burnus <burnus@net-b.de>
13074
13075 PR driver/55884
13076 * testsuite/libgomp.fortran/fortran.exp: Use
13077 -fintrinsic-modules-path= instead of
13078 -fintrinsic-modules-path.
13079
8129609c
RS
130802013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
13081
13082 Update copyright years.
13083
aa86bf1e
TB
130842012-12-19 Tobias Burnus <burnus@net-b.de>
13085
13086 * testsuite/libgomp.fortran/fortran.exp: Set
13087 -fintrinsic-modules-path.
13088
2865ea66
TB
130892012-12-19 Tobias Burnus <burnus@net-b.de>
13090
13091 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
13092 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
13093
4c5ba8d0
JJ
130942012-11-21 Jakub Jelinek <jakub@redhat.com>
13095
13096 PR libgomp/55411
13097 * team.c (gomp_free_thread): Decrease gomp_managed_threads
13098 if pool had any threads_used.
13099
e9f958c2
JH
131002012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
13101
13102 * testsuite/libgomp.c++/pr24455.C: Use
13103 -Wl,-undefined,dynamic_lookup on darwin.
13104
a57d75dc
DE
131052012-11-07 David Edelsohn <dje.gcc@gmail.com>
13106
13107 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
13108
c6c08485
DH
131092012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
13110
13111 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
13112
c1f37c00
IB
131132012-10-23 Ian Bolton <ian.bolton@arm.com>
13114 Jim MacArthur <jim.macarthur@arm.com>
13115 Marcus Shawcroft <marcus.shawcroft@arm.com>
13116 Nigel Stephens <nigel.stephens@arm.com>
13117 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13118 Richard Earnshaw <rearnsha@arm.com>
13119 Sofiane Naci <sofiane.naci@arm.com>
13120 Stephen Thomas <stephen.thomas@arm.com>
13121 Tejas Belagod <tejas.belagod@arm.com>
13122 Yufeng Zhang <yufeng.zhang@arm.com>
13123
13124 * configure.tgt: Add AArch64.
13125
7c424acd
JM
131262012-10-04 Jason Merrill <jason@redhat.com>
13127
13128 * testsuite/libgomp.c++/tls-init1.C: New.
13129
6608378b
DE
131302012-09-14 David Edelsohn <dje.gcc@gmail.com>
13131
13132 * configure: Regenerated.
13133
c24dbebb
CLT
131342012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
13135
13136 * config/linux/mips/futex.h (sys_futex0): Change to static
13137 function with noinline, nomips16 attributes under MIPS16. Adjust
13138 asm statement to place 'li v0,SYS_futex' immediately before
13139 syscall insn.
13140
3d3949df
SL
131412012-07-04 Sandra Loosemore <sandra@codesourcery.com>
13142
13143 * libgomp.texi (Library Index): Renamed from "Index" to prevent
13144 conflict with index.html on case-insensitive file systems.
13145
68a12ef3
UB
131462012-07-03 Uros Bizjak <ubizjak@gmail.com>
13147
13148 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
13149 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
13150
33ad93b9 131512012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
13152 Michael Matz <matz@suse.de>
13153 Tobias Grosser <tobias@grosser.es>
13154 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
13155
13156 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
13157 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13158 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13159 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13160
e6fdc918
AS
131612012-06-28 Andreas Schwab <schwab@linux-m68k.org>
13162
13163 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
13164
62e0a1ed
RG
131652012-06-22 Richard Guenther <rguenther@suse.de>
13166
13167 Merge from graphite branch
13168 2012-01-13 Tobias Grosser <tobias@grosser.es>
13169
13170 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13171 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13172
26127932
JJ
131732012-06-07 Jakub Jelinek <jakub@redhat.com>
13174
13175 PR middle-end/53580
13176 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
13177 use GOMP_barrier () call instead.
13178 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13179 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13180 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
13181 call GOMP_barrier instead.
13182 * testsuite/libgomp.fortran/vla5.f90: Likewise.
13183
43fa5db5
JJ
131842012-06-06 Jakub Jelinek <jakub@redhat.com>
13185
13186 PR libgomp/52993
13187 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
13188 argument to memset call.
13189
e6d5f8c9
L
131902012-05-16 H.J. Lu <hongjiu.lu@intel.com>
13191
13192 * configure: Regenerated.
13193
559d990c
MLI
131942012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13195
13196 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
13197
b9c23a61
L
131982012-03-31 H.J. Lu <hongjiu.lu@intel.com>
13199
13200 PR bootstrap/52812
13201 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
13202
c140ddf3
JJ
132032012-03-22 Jakub Jelinek <jakub@redhat.com>
13204
13205 PR middle-end/52547
13206 * testsuite/libgomp.c/pr52547.c: New test.
13207
6a26a74d
BRF
132082012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13209
13210 * testsuite/lib/libgomp.exp: load fortran-modules.exp
13211
b24513a1
RO
132122012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13213
13214 * configure.tgt (mips-sgi-irix6*): Remove.
13215
5c30094f
RO
132162012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13217
13218 * configure.tgt (alpha*-dec-osf*): Remove.
13219
13220 * config/osf/sem.h: Remove.
13221 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
13222
a339c9d6
EB
132232012-02-29 Eric Botcazou <ebotcazou@adacore.com>
13224
13225 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
13226
cc2de92d
RO
132272012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13228
13229 PR libstdc++/52188
13230 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
13231 Remove ENABLE_SYMVERS_SOL2.
13232 * configure: Regenerate.
13233 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
13234 (PREPROCESS): New variable.
13235 (libgomp.ver): New target.
13236 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
13237 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
13238 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
13239 Use libgomp.ver.
13240 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
13241 * Makefile.in: Regenerate.
13242
dd552284
WL
132432012-02-14 Walter Lee <walt@tilera.com>
13244
13245 * configure.tgt: Handle tilegx and tilepro.
13246 * config/linux/tile/futex.h: New file.
13247
31432e21
RG
132482012-02-08 Richard Guenther <rguenther@suse.de>
13249
13250 PR tree-optimization/46886
13251 * testsuite/libgomp.c/pr46886.c: New testcase.
13252
b9264b5f
MK
132532012-01-25 Matthias Klose <doko@ubuntu.com>
13254
13255 * config/linux/arm: Remove empty directory.
13256 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
13257
fbf7be80
AM
132582011-12-09 Alan Modra <amodra@gmail.com>
13259
13260 PR libgomp/51376
13261 * task.c (GOMP_taskwait): Don't access task->children outside of
13262 task_lock mutex region.
13263 (GOMP_task): Likewise.
13264
5de62d00
JJ
132652011-12-06 Jakub Jelinek <jakub@redhat.com>
13266
13267 PR libgomp/51132
13268 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
13269 to file scope.
13270 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13271 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13272 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13273 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13274 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13275
45608a43
AM
132762011-12-02 Alan Modra <amodra@gmail.com>
13277
13278 * config/linux/affinity.c: Use atomic rather than sync builtin.
13279 * config/linux/lock.c: Likewise.
13280 * config/linux/ptrlock.h: Likewise.
13281 * config/linux/ptrlock.c: Likewise.
13282 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
13283 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
13284 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
13285 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
13286 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
13287 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
13288 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
13289 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
13290 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
13291 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
13292
ab6dd406
AM
132932011-11-30 Alan Modra <amodra@gmail.com>
13294
13295 PR libgomp/51298
13296 * config/linux/bar.h: Use atomic rather than sync builtins.
13297 * config/linux/bar.c: Likewise. Add missing acquire
13298 synchronisation on generation field.
13299 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
13300 double unlock.
13301
b40c885f
AM
133022011-11-30 Alan Modra <amodra@gmail.com>
13303
13304 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
13305 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
13306 * config/linux/mutex.h: Use atomic rather than sync builtins.
13307 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
13308 * config/linux/omp-lock.h: Comment fix.
13309 * config/linux/arm/mutex.h: Delete.
13310 * config/linux/powerpc/mutex.h: Delete.
13311 * config/linux/ia64/mutex.h: Delete.
13312 * config/linux/mips/mutex.h: Delete.
13313
3e348fcc
AM
133142011-11-30 Alan Modra <amodra@gmail.com>
13315
13316 PR libgomp/51249
13317 * config/linux/sem.h: Rewrite.
13318 * config/linux/sem.c: Rewrite.
13319
cef86eb2
RH
133202011-11-28 Richard Henderson <rth@redhat.com>
13321
13322 * libgomp.h (enum memmodel): New.
13323
c6084f68
AT
133242011-11-21 Andreas Tobler <andreast@fgznet.ch>
13325
13326 * configure: Regenerate.
13327
06fe026c
MK
133282011-10-10 Matthias Klose <doko@ubuntu.com>
13329
13330 * config/posix95: Remove empty directory.
13331
a6c975bd
JJ
133322011-08-26 Jakub Jelinek <jakub@redhat.com>
13333
13334 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
13335
c26dffff
JJ
133362011-08-19 Jakub Jelinek <jakub@redhat.com>
13337
13338 PR fortran/49792
13339 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
13340 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
13341
ddaad3c8
RO
133422011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13343
13344 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
13345
98d03683
RO
133462011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13347
13348 PR libgomp/49965
13349 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
13350
e0b23d9f
UB
133512011-08-03 Uros Bizjak <ubizjak@gmail.com>
13352
13353 * config/linux/proc.h: New.
13354 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
13355 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
13356 (gomp_init_num_threads): Update call to cpuset_popcount.
13357 (get_num_procs): Ditto.
13358 * config/linux/affinity.c (gomp_init_affinity): Call
13359 gomp_cpuset_popcount.
13360
20906c66
JJ
133612011-08-02 Jakub Jelinek <jakub@redhat.com>
13362
13363 PR fortran/42041
13364 PR fortran/46752
13365 * omp.h.in (omp_in_final): New prototype.
13366 * omp_lib.f90.in (omp_in_final): New interface.
13367 (omp_integer_kind, omp_logical_kind): Remove
13368 and replace all its uses in the module with 4.
13369 (openmp_version): Change to 201107.
13370 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
13371 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
13372 kind for the parameters.
13373 (omp_in_final): New external.
13374 (openmp_version): Change to 201107.
13375 * task.c (omp_in_final): New function.
13376 (gomp_init_task): Initialize final_task.
13377 (GOMP_task): Remove unused attribute from flags. Handle final
13378 tasks.
13379 (GOMP_taskyield): New function.
13380 (omp_in_final): Return true if if (false) or final (true) task
13381 or descendant of final (true).
13382 * fortran.c (omp_in_final_): New function.
13383 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
13384 (GOMP_3.0): Export GOMP_taskyield.
13385 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
13386 variables.
13387 (parse_unsigned_long_list): New function.
13388 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
13389 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
13390 even if parse_affinity returned false.
13391 * config/linux/affinity.c (gomp_init_affinity): Handle
13392 gomp_cpu_affinity_len == 0.
13393 * libgomp_g.h (GOMP_taskyield): New prototype.
13394 * libgomp.h (struct gomp_task): Add final_task field.
13395 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
13396 * team.c (gomp_team_start): Override new task's nthreads_var icv
13397 if list form OMP_NUM_THREADS has been used and it has value for
13398 the new nesting level.
13399
13400 * testsuite/libgomp.c/atomic-11.c: New test.
13401 * testsuite/libgomp.c/atomic-12.c: New test.
13402 * testsuite/libgomp.c/atomic-13.c: New test.
13403 * testsuite/libgomp.c/atomic-14.c: New test.
13404 * testsuite/libgomp.c/reduction-6.c: New test.
13405 * testsuite/libgomp.c/task-5.c: New test.
13406 * testsuite/libgomp.c++/atomic-2.C: New test.
13407 * testsuite/libgomp.c++/atomic-3.C: New test.
13408 * testsuite/libgomp.c++/atomic-4.C: New test.
13409 * testsuite/libgomp.c++/atomic-5.C: New test.
13410 * testsuite/libgomp.c++/atomic-6.C: New test.
13411 * testsuite/libgomp.c++/atomic-7.C: New test.
13412 * testsuite/libgomp.c++/atomic-8.C: New test.
13413 * testsuite/libgomp.c++/atomic-9.C: New test.
13414 * testsuite/libgomp.c++/task-8.C: New test.
13415 * testsuite/libgomp.c++/reduction-4.C: New test.
13416 * testsuite/libgomp.fortran/allocatable7.f90: New test.
13417 * testsuite/libgomp.fortran/allocatable8.f90: New test.
13418 * testsuite/libgomp.fortran/crayptr3.f90: New test.
13419 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
13420 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
13421 * testsuite/libgomp.fortran/pointer1.f90: New test.
13422 * testsuite/libgomp.fortran/pointer2.f90: New test.
13423 * testsuite/libgomp.fortran/task4.f90: New test.
13424
134252011-08-02 Tobias Burnus <burnus@net-b.de>
13426
13427 * libgomp.texi: Update OpenMP spec references to 3.1.
13428 (omp_in_final,OMP_PROC_BIND): New sections.
13429 (OMP_NUM_THREADS): Document that the value can be now a list.
13430 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
13431
c01ecafc
L
134322011-08-02 H.J. Lu <hongjiu.lu@intel.com>
13433
13434 * config/linux/x86/futex.h: Check __x86_64__ instead of
13435 __LP64__.
13436
25142650
JJ
134372011-07-29 Jakub Jelinek <jakub@redhat.com>
13438
13439 PR middle-end/49897
13440 PR middle-end/49898
13441 * testsuite/libgomp.c/pr49897-1.c: New test.
13442 * testsuite/libgomp.c/pr49897-2.c: New test.
13443 * testsuite/libgomp.c/pr49898-1.c: New test.
13444 * testsuite/libgomp.c/pr49898-2.c: New test.
13445
f53d712f
L
134462011-07-28 H.J. Lu <hongjiu.lu@intel.com>
13447
13448 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
13449 for ia32 instead of ilp32.
13450
13451 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
13452 * testsuite/libgomp.c/atomic-6.c: Likewise.
13453
3689198d
SP
134542011-07-23 Sebastian Pop <sebastian.pop@amd.com>
13455
13456 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
13457 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
13458
1a79cb73
RO
134592011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13460
13461 PR libgomp/45351
13462 * config/osf/sem.h: New file.
13463 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
13464
c1f51484
RO
134652011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13466
13467 PR target/49541
13468 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
13469 ldflags.
13470
bfee0724
JJ
134712011-07-15 Jakub Jelinek <jakub@redhat.com>
13472
13473 * config/linux/wait.h (do_spin): New inline, largely copied
13474 from do_wait, just don't do futex_wait here, instead return true if
13475 it should be done.
13476 (do_wait): Implement using do_spin.
13477 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
13478 to prototype.
13479 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
13480 __sync_bool_compare_and_swap, pass the oldval to
13481 gomp_mutex_lock_slow.
13482 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
13483 If all mutex contenders are just spinning and not sleeping, don't
13484 change state to 2 unnecessarily. Optimize the loop when state has
13485 already become 2 to use just one atomic operation per loop instead
13486 of two.
13487 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
13488 to prototype.
13489 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
13490 __sync_bool_compare_and_swap, pass the oldval to
13491 gomp_mutex_lock_slow.
13492
fb79f500
JJ
134932011-06-22 Jakub Jelinek <jakub@redhat.com>
13494
13495 PR libgomp/49490
13496 * iter.c (gomp_iter_static_next): For chunk size 0
13497 only use n ceil/ nthreads size for the first
13498 n % nthreads threads in the team instead of
13499 all threads except for the last few ones which
13500 get less work or none at all.
13501 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
13502 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
13503 chunk argument, set run_sched_modifier to 0 for static
13504 resp. 1 for other kinds. If chunk argument is 0
13505 and not static, set value to 1.
13506
4577f730
JJ
135072011-05-19 Jakub Jelinek <jakub@redhat.com>
13508
ea93a47b
JJ
13509 PR c++/49043
13510 * testsuite/libgomp.c++/pr49043.C: New test.
13511
4577f730
JJ
13512 PR c++/48869
13513 * testsuite/libgomp.c++/pr48869.C: New test.
13514
e7385332
JJ
135152011-05-06 Jakub Jelinek <jakub@redhat.com>
13516
13517 PR fortran/48894
13518 * fortran.c: Include limits.h.
13519 (TO_INT): Define.
13520 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
13521 *set.
13522 (omp_set_num_threads_8_, omp_set_schedule_8_,
13523 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
13524 omp_get_team_size_8_): Use TO_INT macro.
13525 * testsuite/libgomp.fortran/pr48894.f90: New test.
13526
20790697
JJ
135272011-04-13 Jakub Jelinek <jakub@redhat.com>
13528
13529 PR middle-end/48591
13530 * testsuite/libgomp.c/pr48591.c: New test.
13531
bf382f5f
RO
135322011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13533
13534 PR bootstrap/48135
13535 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
13536 * configure: Regenerate.
13537
113a53c1
JJ
135382011-02-27 Jakub Jelinek <jakub@redhat.com>
13539
13540 PR fortran/47886
13541 * testsuite/libgomp.fortran/task3.f90: New test.
13542
0024f1af
TB
135432011-02-24 Tobias Burnus <burnus@net-b.de>
13544
13545 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
13546
21e1e594
JJ
135472011-02-23 Jakub Jelinek <jakub@redhat.com>
13548
13549 PR libgomp/47854
13550 * libgomp.texi (omp_get_wtime): Don't say time in the past
13551 must be Unix Epoch.
13552
67962076
JJ
135532011-02-18 Jakub Jelinek <jakub@redhat.com>
13554
13555 PR libgomp/47804
13556 * testsuite/libgomp.fortran/fortran.exp: Check for both
13557 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
13558 but $blddir != "", still append ${blddir}/${lang_library_path}
13559 to ld_library_path.
13560
3808007c
TB
135612011-02-16 Tobias Burnus <burnus@net-b.de>
13562
13563 PR libgomp/47758
13564 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
13565 of libquadmath.a before adding its libpath to ldflags.
13566
53b4d41d
JJ
135672011-02-14 Jakub Jelinek <jakub@redhat.com>
13568
13569 PR libgomp/47731
13570 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
13571 to FUTEX_WAIT futex syscall.
13572 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
13573
029c8f3e
RW
135742011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13575
13576 * configure: Regenerate.
13577
bddd6626
BK
135782011-01-20 Benjamin Kosnik <bkoz@redhat.com>
13579
13580 PR libstdc++/36104
13581 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
13582
f1d4ab26
GP
135832011-01-16 Gerald Pfeifer
13584
13585 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
13586
2b503136
JJ
135872010-12-14 Jakub Jelinek <jakub@redhat.com>
13588
13589 PR fortran/46874
13590 * libgomp.fortran/allocatable6.f90: New test.
13591
c0f9d583
RO
135922010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13593
13594 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
13595 * configure: Regenerate.
13596
7de6ba7a
DK
135972010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
13598
13599 PR target/40125
13600 PR lto/46695
13601 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
13602 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
13603 * aclocal.m4: Regenerate.
13604 * configure: Regenerate.
13605 * Makefile.in: Regenerate.
13606 * testsuite/Makefile.in: Regenerate.
13607
b7516041
JJ
136082010-12-02 Jakub Jelinek <jakub@redhat.com>
13609
edaadf74
JJ
13610 PR fortran/46753
13611 * libgomp.fortran/pr46753.f90: New test.
13612
4c698cf8
JJ
13613 PR libgomp/43706
13614 * env.c (initialize_env): Default to spin count 300000
13615 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
13616 is specified.
13617
b7516041
JJ
13618 PR libgomp/45240
13619 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
13620 at the end if sync builtins aren't supported.
13621
6b43a34c
RO
136222010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13623
13624 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
13625
950691fa
RO
136262010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13627
13628 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
13629
fb9041ea
IS
136302010-11-24 Iain Sandoe <iains@gcc.gnu.org>
13631
13632 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
13633
1ec601bf
FXC
136342010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13635 Tobias Burnus <burnus@net-b.de>
13636
13637 PR fortran/32049
3e348fcc 13638 * configure.ac:
1ec601bf
FXC
13639 * configure: Regenerate.
13640
d213e92e
MS
136412010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
13642
13643 * config/linux/futex.h: New.
13644 * config/linux/arm/mutex.h: New.
13645 * configure.tgt (arm*-*-linux*): Add config path.
13646
89d5c66f
SP
136472010-09-30 Sebastian Pop <sebastian.pop@amd.com>
13648
13649 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13650
87350d4a
TB
136512010-09-23 Tobias Burnus <burnus@net-b.de>
13652
13653 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
13654 Change Fortran datatype to LOGICAL.
13655 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
13656 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
13657
75bc9e5e
RW
136582010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13659
13660 * configure: Regenerate.
13661
acb5c916
JJ
136622010-07-26 Jakub Jelinek <jakub@redhat.com>
13663
13664 * libgomp.texi: Add function keyword to a couple of Fortran
13665 interfaces, use integer instead of int for Fortran.
13666
6a2ba183
AH
136672010-07-26 Aldy Hernandez <aldyh@redhat.com>
13668
13669 * libgomp.texi: Fix spelling and pasto problems throughout.
13670 Adjust prototypes to match code.
13671
df161b69
TB
136722010-07-24 Tobias Burnus <burnus@net-b.de>
13673
13674 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
13675 silence -fwhole-file warning.
13676
16c9d3b1
RO
136772010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13678
13679 * configure.tgt (*-*-solaris2.[56]*): Removed.
13680
6d28b933
RO
136812010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13682
13683 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
13684 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
13685 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
13686 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
13687 targetting solaris2*.
13688 * configure: Regenerate.
13689 * config.h.in: Regenerate.
13690
13691 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
13692 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
13693 Add libgomp_version_dep.
13694 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
13695 versioning.
13696 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
13697 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
13698 * Makefile.in: Regenerate.
13699
13700 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
13701 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
13702 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
13703 to common block, protected by
13704 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
13705
07a67d6a
GP
137062010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
13707
13708 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
13709
dbd34b89
IS
137102010-06-09 Iain Sandoe <iains@gcc.gnu.org>
13711
13712 PR bootstrap/43170
13713 * configure: Regenerate.
13714
13917ae3
RW
137152010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13716
13717 PR other/43620
13718 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
13719 * configure: Regenerate.
13720 * Makefile.in: Regenerate.
13721 * testsuite/Makefile.in: Regenerate.
13722
b83a701b
JJ
137232010-04-26 Jakub Jelinek <jakub@redhat.com>
13724
13725 PR c/43893
13726 * testsuite/libgomp.c/pr43893.c: New test.
13727 * testsuite/libgomp.c++/pr43893.C: New test.
13728
78db7d92
JJ
137292010-04-21 Jakub Jelinek <jakub@redhat.com>
13730
13731 PR middle-end/43570
13732 * testsuite/libgomp.fortran/vla8.f90: New test.
13733
5221d7a9
JJ
137342010-04-20 Jakub Jelinek <jakub@redhat.com>
13735
e4ba7a60
JJ
13736 PR libgomp/43706
13737 * config/linux/affinity.c (gomp_init_affinity): Decrease
13738 gomp_available_cpus if affinity mask confines the process to fewer
13739 CPUs.
13740 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
13741 non-NULL, just return gomp_available_cpus.
13742
5221d7a9
JJ
13743 PR libgomp/43569
13744 * sections.c (gomp_sections_init): Initialize ws->mode.
13745
289a9f86
UB
137462010-04-14 Uros Bizjak <ubizjak@gmail.com>
13747
13748 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
13749 not unused bar variable.
13750 * configure: Regenerate.
13751
4d9e8446
RW
137522010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13753
13754 * Makefile.in: Regenerate.
13755 * aclocal.m4: Regenerate.
13756 * testsuite/Makefile.in: Regenerate.
13757
80f046cc
JJ
137582010-03-22 Jakub Jelinek <jakub@redhat.com>
13759
13760 PR libgomp/42942
13761 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
13762 (initialize_env): Adjust callers.
13763 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
13764 when the argument is 0.
13765
13766 * testsuite/libgomp.c/pr42942.c: New test.
13767
b58543c3
SP
137682010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
13769
13770 PR middle-end/42644
13771 PR middle-end/42130
13772 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13773 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
13774
41d1138f
RO
137752010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13776
13777 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
13778 * testsuite/libgomp.c++/task-6.C: Likewise.
13779
6684eb28
SE
137802010-01-28 Steve Ellcey <sje@cup.hp.com>
13781
13782 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
13783
2122aa97
PB
137842010-01-26 Paolo Bonzini <bonzini@gnu.org>
13785
13786 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
13787 * configure: Regenerate.
13788
057dd91d
JJ
137892010-01-26 Jakub Jelinek <jakub@redhat.com>
13790
13791 PR fortran/42866
13792 * testsuite/libgomp.fortran/allocatable5.f90: New test.
13793
d0709b6a
PB
137942010-01-20 Paolo Bonzini <bonzini@gnu.org>
13795
13796 * configure.ac: Test for executability of GFORTRAN.
13797 * configure: Regenerate.
13798
b9497ab5
RO
137992010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13800
13801 * configure: Regenerate.
13802
45de5648
L
138032010-01-04 H.J. Lu <hongjiu.lu@intel.com>
13804
13805 PR libgomp/42602
13806 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
13807
e74003a1
RG
138082010-01-03 Richard Guenther <rguenther@suse.de>
13809
13810 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
13811
1b3abda8
SP
138122009-12-23 Sebastian Pop <sebpop@gmail.com>
13813
13814 * testsuite/libgomp.graphite/pr4118.c: New.
13815
e19977d3
IS
138162009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
13817
13818 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
13819 for darwin, protect the test with require-effective-target tls_runtime.
13820 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
13821
1d32a772
IS
138222009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
13823
13824 PR target/41605
13825 * testsuite/lib/libgomp.exp: Provide -B options to allow for
13826 link spec %s substitutions for static libraries.
13827
deb109b2
JH
138282009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
13829
13830 PR testsuite/42135
13831 * libgomp.graphite/force-parallel-2.c: Reduce array size.
13832
43e02a8a
RW
138332009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13834
13835 * Makefile.in: Regenerate.
13836 * configure: Regenerate.
13837 * testsuite/Makefile.in: Regenerate.
13838
17f35e23
DK
138392009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
13840
13841 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
13842 settings for LC_ALL and LANG.
13843
281e33e1
JJ
138442009-11-25 Jakub Jelinek <jakub@redhat.com>
13845
13846 PR fortran/42162
13847 * testsuite/libgomp.fortran/pr42162.f90: New test.
13848
2b32c27d
JJ
138492009-11-13 Jakub Jelinek <jakub@redhat.com>
13850
13851 PR middle-end/42029
281e33e1 13852 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 13853
89c74f4a
JJ
138542009-10-26 Jakub Jelinek <jakub@redhat.com>
13855
13856 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
13857 *s. Accept ld version without text in ()s.
13858 * configure: Regenerated.
13859
7e06c3d6
EB
138602009-10-22 Razya Ladelsky <razya@il.ibm.com>
13861
13862 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
13863
0046b1a7
RW
138642009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13865
13866 PR libgomp/41418
13867 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
13868 or a hyphen (happens with fortran language disabled).
13869 * configure: Regenerate.
13870
c82852f7
RW
138712009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13872
13873 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
13874 use sed script portable to Solaris /bin/sed for extracting ld
13875 version.
13876 * configure: Regenerate.
13877
98f3eb1f
AM
138782009-09-17 Alexander Monakov <amonakov@ispras.ru>
13879
13880 * testsuite/libgomp.graphite/bounds.c: New test.
13881
878f62e5
RW
138822009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13883
13884 * Makefile.am (libgomp_la_LINK): New.
13885 * Makefile.in: Regenerate.
13886
df58e648
RW
138872009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13888
13889 * configure.ac (AC_PREREQ): Bump to 2.64.
13890
5213506e
RW
138912009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13892
70fa0efa
RW
13893 * Makefile.am (install-html, install-pdf): Remove.
13894 * Makefile.in: Regenerate.
13895
5213506e
RW
13896 * Makefile.in: Regenerate.
13897 * aclocal.m4: Regenerate.
13898 * config.h.in: Regenerate.
13899 * configure: Regenerate.
13900 * testsuite/Makefile.in: Regenerate.
13901
84fec8a5
RW
139022009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13903
13904 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
13905 * Makefile.in: Regenerate.
13906
197c68cc
DK
139072009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
13908
13909 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
13910 * Makefile.in: Regenerate.
13911
693d54f2
TB
139122009-08-19 Tobias Burnus <burnus@net-b.de>
13913
13914 PR fortran/41102
13915 omp_lib.h.in: Fix -std=f95 errors.
13916
8cac884c
DE
139172009-08-14 David Edelsohn <edelsohn@gnu.org>
13918
13919 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
13920 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
13921 * testsuite/libgomp.graphite/graphite.exp: New.
13922
78729ee2
AT
139232009-08-05 Andreas Tobler <a.tobler@schweiz.org>
13924
13925 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
13926 only build.
13927
b13b7f39
DD
139282009-08-04 David Daney <ddaney@caviumnetworks.com>
13929
13930 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
13931 needed memory barrier semantics.
13932 * config/linux/mips/mutex.h: New file.
13933
1b3b24c2
RW
139342009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13935
13936 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
13937
396b7fa4
JM
139382009-07-16 Joseph Myers <joseph@codesourcery.com>
13939
13940 * configure: Regenerate.
13941
33cde516
RS
139422009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
13943
13944 PR testsuite/40699
13945 PR testsuite/40707
13946 PR testsuite/40709
13947 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
13948 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
13949 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
13950
bc21bfa5
RS
139512009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
13952
13953 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
13954 options when choosing a multilib.
13955
b30bfd40
RS
139562009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
13957
13958 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
13959 ld_library_path. Use add_path. Add just find_libgcc_s to
13960 ld_library_path, not every libgcc multilib directory.
13961 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
13962 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
13963 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
13964 Use add_path.
13965 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
13966
479c15c2
NF
139672009-06-09 Nathan Froyd <froydnj@codesourcery.com>
13968
13969 * Makefile.am (LTLDFLAGS): Define.
13970 (LINK): Define.
13971 * Makefile.in: Regenerate.
13972
667e6f89
JB
139732009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
13974
13975 PR fortran/39718
13976 * testsuite/libgomp.fortran/fortran.exp: Don't link with
13977 libgfortranbegin, check existence of libgfortran.a instead of
13978 libgfortranbegin.a.
13979
6dea8e99
JJ
139802009-05-20 Jakub Jelinek <jakub@redhat.com>
13981
13982 PR libgomp/40174
13983 * team.c (gomp_thread_start): Destroy thr->release semaphore.
13984 (gomp_free_pool_helper): Likewise.
13985
34d01e1d
VL
139862009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
13987 Jakub Jelinek <jakub@redhat.com>
13988
13989 PR fortran/35423
13990 * testsuite/libgomp.fortran/workshare2.f90: New test.
13991
748086b7
JJ
139922009-04-09 Nick Clifton <nickc@redhat.com>
13993
13994 * iter.c: Change copyright header to refer to version 3 of the
13995 GNU General Public License with version 3.1 of the GCC Runtime
13996 Library Exception and to point readers at the COPYING3 and
13997 COPYING3.RUNTIME files and the FSF's license web page.
13998 * alloc.c: Likewise.
13999 * barrier.c: Likewise.
14000 * config/bsd/proc.c: Likewise.
14001 * config/linux/affinity.c: Likewise.
14002 * config/linux/alpha/futex.h: Likewise.
14003 * config/linux/bar.c: Likewise.
14004 * config/linux/bar.h: Likewise.
14005 * config/linux/ia64/futex.h: Likewise.
14006 * config/linux/ia64/mutex.h: Likewise.
14007 * config/linux/lock.c: Likewise.
14008 * config/linux/mips/futex.h: Likewise.
14009 * config/linux/mutex.c: Likewise.
14010 * config/linux/mutex.h: Likewise.
14011 * config/linux/powerpc/futex.h: Likewise.
14012 * config/linux/proc.c: Likewise.
14013 * config/linux/ptrlock.c: Likewise.
14014 * config/linux/ptrlock.h: Likewise.
14015 * config/linux/s390/futex.h: Likewise.
14016 * config/linux/sem.c: Likewise.
14017 * config/linux/sem.h: Likewise.
14018 * config/linux/sparc/futex.h: Likewise.
14019 * config/linux/wait.h: Likewise.
14020 * config/linux/x86/futex.h: Likewise.
14021 * config/mingw32/proc.c: Likewise.
14022 * config/mingw32/time.c: Likewise.
14023 * config/posix/affinity.c: Likewise.
14024 * config/posix/bar.c: Likewise.
14025 * config/posix/bar.h: Likewise.
14026 * config/posix/lock.c: Likewise.
14027 * config/posix/mutex.h: Likewise.
14028 * config/posix/proc.c: Likewise.
14029 * config/posix/ptrlock.h: Likewise.
14030 * config/posix/sem.c: Likewise.
14031 * config/posix/sem.h: Likewise.
14032 * config/posix/time.c: Likewise.
14033 * config/posix95/lock.c: Likewise.
14034 * critical.c: Likewise.
14035 * env.c: Likewise.
14036 * error.c: Likewise.
14037 * fortran.c: Likewise.
14038 * iter_ull.c: Likewise.
14039 * libgomp.h: Likewise.
14040 * libgomp_f.h.in: Likewise.
14041 * libgomp_g.h: Likewise.
14042 * loop.c: Likewise.
14043 * loop_ull.c: Likewise.
14044 * omp.h.in: Likewise.
14045 * omp_lib.f90.in: Likewise.
14046 * omp_lib.h.in: Likewise.
14047 * ordered.c: Likewise.
14048 * parallel.c: Likewise.
14049 * sections.c: Likewise.
14050 * single.c: Likewise.
14051 * task.c: Likewise.
14052 * team.c: Likewise.
14053 * work.c: Likewise.
14054
140552009-04-09 Jakub Jelinek <jakub@redhat.com>
14056
14057 * testsuite/config/default.exp: Change copyright header to refer to
14058 version 3 of the GNU General Public License and to point readers
14059 at the COPYING3 file and the FSF's license web page.
14060
4f0ae266
JJ
140612009-04-08 Jakub Jelinek <jakub@redhat.com>
14062
14063 PR middle-end/39573
14064 * libgomp.c++/pr39573.C: New test.
14065
03742a9b
JJ
140662009-04-01 Jakub Jelinek <jakub@redhat.com>
14067
14068 PR other/39591
14069 * testsuite/libgomp.c/pr39591-1.c: New test.
14070 * testsuite/libgomp.c/pr39591-2.c: New test.
14071 * testsuite/libgomp.c/pr39591-3.c: New test.
14072
e50ea10b
UB
140732009-03-25 Uros Bizjak <ubizjak@gmail.com>
14074
14075 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
14076 * testsuite/libgomp.c/atomic-6.c: Ditto.
14077
c5cdb03f
JJ
140782009-03-23 Jakub Jelinek <jakub@redhat.com>
14079
14080 PR c/39495
14081 * testsuite/libgomp.c/loop-12.c: New test.
14082 * testsuite/libgomp.c/loop-11.c: New test.
14083 * testsuite/libgomp.c++/loop-11.C: New test.
14084 * testsuite/libgomp.c++/loop-12.C: New test.
14085 * testsuite/libgomp.c++/for-8.C: New test.
14086
7a9d3fe8
RW
140872009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14088
14089 * configure: Regenerate.
14090
3ad6b266
JJ
140912009-02-11 Jakub Jelinek <jakub@redhat.com>
14092
14093 PR middle-end/39154
14094 * testsuite/libgomp.c/pr39154.c: New test.
14095
b39dea08
ILT
140962009-01-30 Ian Lance Taylor <iant@google.com>
14097
14098 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
14099 libgomp_ld_is_gold. Get gold version number.
14100 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
14101 * configure: Rebuild.
14102
72c66596
IS
141032009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14104
e50ea10b 14105 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
14106 use libgfortran.a%s in their specs.
14107
876080ff
JJ
141082009-01-07 Jakub Jelinek <jakub@redhat.com>
14109
14110 PR libgomp/38086
14111 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
14112 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
14113 HAVE_AS_SYMVER_DIRECTIVE is not defined.
14114 * configure: Regenerated.
14115 * config.h.in: Likewise.
14116
e4ebaef3
JJ
141172008-12-28 Jakub Jelinek <jakub@redhat.com>
14118
14119 PR c++/38650
14120 * testsuite/libgomp.c/pr38650.c: New test.
14121 * testsuite/libgomp.c++/pr38650.C: New test.
14122
382017a6
JJ
141232008-12-27 Jakub Jelinek <jakub@redhat.com>
14124
14125 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
14126
79644b27
UB
141272008-12-26 Uros Bizjak <ubizjak@gmail.com>
14128
14129 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
14130
baafc534
RW
141312008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14132
14133 * configure: Regenerate.
14134
d9c194cb
JJ
141352008-12-08 Jakub Jelinek <jakub@redhat.com>
14136
14137 PR middle-end/36802
14138 * testsuite/libgomp.c/pr36802-1.c: New test.
14139 * testsuite/libgomp.c/pr36802-2.c: New test.
14140 * testsuite/libgomp.c/pr36802-3.c: New test.
14141
86a182bf
JJ
141422008-12-01 Janis Johnson <janis187@us.ibm.com>
14143
14144 PR libgomp/38270
14145 * config/linux/powerpc/mutex.h: New.
14146
956adfaf
JJ
141472008-12-01 Jakub Jelinek <jakub@redhat.com>
14148
a2d4cdc9
JJ
14149 PR c++/38257
14150 * testsuite/libgomp.c++/for-7.C: New test.
14151
956adfaf
JJ
14152 PR c++/38348
14153 * testsuite/libgomp.c++/for-6.C: New test.
14154
d4038ca2
JJ
141552008-11-26 Janis Johnson <janis187@us.ibm.com>
14156
14157 PR testsuite/28870
14158 * testsuite/lib/libgomp.exp: Include new timeout library files.
14159 (libgomp_target_compile): Set timeout value from new proc.
14160
8b159eea
SE
141612008-11-13 Steve Ellcey <sje@cup.hp.com>
14162
14163 PR libgomp/37938
14164 * config/linux/ia64/mutex.h: New.
14165
5c6ed53a
TB
141662008-11-04 Tobias Burnus <burnus@net-b.de>
14167
14168 PR libgomp/37935
14169 * libgomp.texi (Runtime library routines, environment variables):
14170 Update for OpenMP version 3.0.
14171
6b4a97ed
PG
141722008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
14173 Steve Ellcey <sje@cup.hp.com>
14174
14175 * configure: Regenerate for new libtool.
14176 * Makefile.in: Ditto.
14177 * testsuite/Makefile.in: Ditto.
14178
e2b34106
JJ
141792008-09-19 Jakub Jelinek <jakub@redhat.com>
14180 Andreas Tobler <a.tobler@schweiz.org>
14181
14182 * config/bsd/proc.c: New file.
8c3b3600 14183 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
14184 * configure.ac: Check for header <sys/sysctl.h>
14185 * configure: Regenerate.
14186 * config.h.in: Likewise.
14187
3606b8bf
JJ
141882008-09-05 Janis Johnson <janis187@us.ibm.com>
14189
14190 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
14191
6528b88d
AL
141922008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
14193
14194 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
14195 * Makefile.in: Regenerated.
14196 * testsuite/Makefile.in: Regenerated.
14197
d9b14b12 141982008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 14199
a16b68bb 14200 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
14201 depend on blddir if blddir exists.
14202 (libgomp_target_compile): Likewise.
14203 * testsuite/libgomp.c++/c++.exp: Likewise.
14204 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14205
70b1e376
RW
142062008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14207
14208 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
14209 Do not list GPL as Invariant Section.
14210
318e8c3f
IG
142112008-07-28 Ilie Garbacea <ilie@mips.com>
14212 Chao-ying Fu <fu@mips.com>
14213
14214 * configure.tgt: Enable futex for MIPS.
14215 * config/linux/mips/futex.h: New file.
14216
4db72361
JJ
142172008-07-16 Jakub Jelinek <jakub@redhat.com>
14218
14219 * team.c (gomp_team_end): Free team immediately if it has
14220 just one thread.
14221
87bd23b8
DE
142222008-07-08 David Edelsohn <edelsohn@gnu.org>
14223
14224 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
14225 * testsuite/libgomp.fortran/fortran.exp: Same.
14226 * testsuite/libgomp.c/c.exp: Same.
14227 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
14228 directory to library path first.
14229
323ff903
KW
142302008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
14231
14232 * env.c (parse_stacksize): Add cast to avoid warning.
14233 (parse_spincount): Likewise.
14234
b357f682
JJ
142352008-06-27 Jakub Jelinek <jakub@redhat.com>
14236
ca2b1311
JJ
14237 * testsuite/libgomp.c/loop-10.c: New test.
14238 * libgomp.c/loop-3.c (main): Add lastprivate clause.
14239 * libgomp.c++/loop-6.C (main): Likewise.
14240
b357f682
JJ
14241 PR debug/36617
14242 * testsuite/libgomp.c/debug-1.c: New test.
14243
09a46078
JJ
142442008-06-19 Jakub Jelinek <jakub@redhat.com>
14245
14246 * testsuite/libgomp.c/nqueens-1.c: New test.
14247
2368a460
JJ
14248 PR c++/36523
14249 * testsuite/libgomp.c++/task-7.C: New function.
14250
18c04407
RW
142512008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14252
14253 * configure: Regenerate.
14254
9c4e59e0
JDA
142552008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14256
14257 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
14258 mutex when HAVE_SYNC_BUILTINS isn't defined.
14259
6ccde948
RW
142602008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14261
14262 * libgomp.texi (omp_test_lock): Fix typo.
14263
b896f9fd
TB
142642008-06-12 Tobias Burnus <burnus@net-b.de>
14265
14266 * omp_lib.f90.in: Add "implicit none".
14267
c34938a8
JJ
142682008-06-12 Jakub Jelinek <jakub@redhat.com>
14269
14270 PR middle-end/36506
14271 * testsuite/libgomp.c/reduction-5.c: New test.
14272
976e44e3
JJ
142732008-06-11 Jakub Jelinek <jakub@redhat.com>
14274
5f836cbb
JJ
14275 * libgomp.h (struct gomp_task): Add in_tied_task field.
14276 * task.c (gomp_init_task): Initialize it.
14277 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
14278 unconditionally. Don't call gomp_team_barrier_wake if
14279 current task is implicit or if(0) from implicit and number of
14280 running tasks is equal to nthreads - 1.
14281
01501fc8
JJ
14282 PR libgomp/36471
14283 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
14284 omp_get_team_size_8): Fix pastos.
14285
976e44e3
JJ
14286 PR libgomp/36469
14287 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
14288 * configure: Regenerated.
14289 * config.h.in: Regenerated.
14290 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
14291 defined.
14292
e919209b
AT
142932008-06-06 Andreas Tobler <a.tobler@schweiz.org>
14294
14295 PR bootstrap/36452
14296 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
14297 (GOMP_loop_ull_dynamic_start): Likewise.
14298 (GOMP_loop_ull_guided_start): Likewise.
14299 (GOMP_loop_ull_ordered_static_start): Likewise.
14300 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
14301 (GOMP_loop_ull_ordered_guided_start): Likewise.
14302
a68ab351
JJ
143032008-06-06 Jakub Jelinek <jakub@redhat.com>
14304 Richard Henderson <rth@redhat.com>
14305 Ulrich Drepper <drepper@redhat.com>
14306 Jakob Blomer <jakob.blomer@ira.uka.de>
14307
14308 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
14309 Substitute also OMP_*LOCK_25*.
14310 * configure: Regenerated.
14311 * config.h.in: Regenerated.
14312 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
14313 ptrlock.c and task.c.
14314 * Makefile.in: Regenerated.
14315 * testsuite/Makefile.in: Regenerated.
14316 * task.c: New file.
14317 * loop_ull.c: New file.
14318 * iter_ull.c: New file.
14319 * libgomp.h: Include ptrlock.h.
14320 (enum gomp_task_kind): New type.
14321 (struct gomp_team): Add task_lock, task_queue, task_count,
14322 task_running_count, single_count fields. Add
14323 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
14324 Remove work_share_lock, generation_mask,
14325 oldest_live_gen, num_live_gen and init_work_shares fields, add
14326 work work_share_list_alloc, work_share_list_free and work_share_chunk
14327 fields. Change work_shares from pointer to pointers into an array.
14328 Change ordered_release field into gomp_sem_t ** from flexible array
14329 member. Add implicit_task and initial_work_shares fields.
14330 Move close to the end of the struct.
14331 (struct gomp_team_state): Add single_count, last_work_share,
14332 active_level and level fields, remove work_share_generation.
14333 (gomp_barrier_handle_tasks): New prototype.
14334 (gomp_finish_task): New inline function.
14335 (struct gomp_work_share): Move chunk_size, end, incr into
14336 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
14337 next_ll fields. Reshuffle fields. Add next_alloc,
14338 next_ws, next_free and inline_ordered_team_ids fields, change
14339 ordered_team_ids into pointer from flexible array member.
14340 Add mode field. Put lock and next into a different cache line
14341 from most of the write-once fields.
14342 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
14343 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
14344 gomp_iter_ull_guided_next): New prototypes.
14345 (gomp_new_icv): New prototype.
14346 (struct gomp_thread): Add thread_pool and task fields.
14347 (struct gomp_thread_pool): New type.
14348 (gomp_new_team): New prototype.
14349 (gomp_team_start): Change type of last argument.
14350 (gomp_new_work_share): Removed.
14351 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
14352 (gomp_work_share_init_done): New static inline.
14353 (gomp_throttled_spin_count_var, gomp_available_cpus,
14354 gomp_managed_threads): New extern decls.
14355 (gomp_init_task): New prototype.
14356 (gomp_spin_count_var): New extern var decl.
14357 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
14358 or no alias support, or if not PIC.
14359 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
14360 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
14361 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
14362 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
14363 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
14364 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
14365 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
14366 gomp_test_nest_lock_25): New prototypes.
14367 (omp_lock_symver, strong_alias): Define.
14368 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
14369 decls.
14370 (gomp_end_task): New.
14371 (struct gomp_task_icv, gomp_global_icv): New.
14372 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
14373 (struct gomp_task): New.
14374 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
14375 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
14376 (gomp_icv): New.
14377 (gomp_schedule_type): Reorder enum to match
14378 omp_sched_t.
14379 * team.c (struct gomp_thread_start_data): Add thread_pool and task
14380 fields.
14381 (gomp_thread_start): Add gomp_team_barrier_wait call.
14382 For non-nested case remove clearing of docked thread thr fields.
14383 Use pool fields instead of global gomp_* variables. Use
14384 gomp_barrier_wait_last when needed. Initialize ts.active_level.
14385 Create tasks for each member thread.
14386 (free_team): Only destroy team barrier, task_lock here and free it.
14387 (gomp_free_thread): Free last_team if non-NULL.
14388 (gomp_team_end): Call gomp_team_barrier_wait instead of
14389 gomp_barrier_wait. For nested case call one extra
14390 gomp_barrier_wait. Move here some destruction from free_team.
14391 Call free_team on pool->last_team if any, rather than freeing
14392 current team. Destroy work_share_list_free_lock ifndef
14393 HAVE_SYNC_BUILTINS.
14394 (gomp_new_icv): New function.
14395 (gomp_threads, gomp_threads_size, gomp_threads_used,
14396 gomp_threads_dock): Removed.
14397 (gomp_thread_destructor): New variable.
14398 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
14399 functions.
14400 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 14401 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
14402 Initialize thread_pool field for new threads. Clear single_count.
14403 Change last argument from ws to team, don't create
14404 new team, set ts.work_share to &team->work_shares[0] and clear
14405 ts.last_work_share. Don't clear ts.work_share_generation.
14406 If number of threads changed, adjust atomically gomp_managed_threads.
14407 Use gomp_init_task instead of gomp_new_task,
14408 set thr->task to the corresponding implicit_task array entry.
14409 Create tasks for each member thread. Initialize ts.level.
14410 (initialize_team): Call pthread_key_create on
14411 gomp_thread_destructor.
14412 (team_destructor): New function.
14413 (new_team): Removed.
14414 (gomp_new_team): New function.
14415 (free_team): Free gomp_work_share blocks chained through next_alloc,
14416 instead of freeing work_shares and destroying work_share_lock.
14417 (gomp_team_end): Call gomp_fini_work_share. If number of threads
14418 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
14419 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
14420 of gomp_barrier_wait.
14421 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
14422 instead of gomp_barrier_wait. Call gomp_work_share_init_done
14423 if gomp_work_share_start returned true. Don't unlock ws->lock.
14424 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
14425 of gomp_barrier_wait.
14426 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
14427 gomp_work_share_init_done if gomp_work_share_start returned true.
14428 Don't unlock ws->lock.
14429 * work.c: Include stddef.h.
14430 (free_work_share): Use work_share_list_free_lock instead
14431 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
14432 Call gomp_fini_work_share and then either free ws if orphaned, or
14433 put it into work_share_list_free list of the current team.
14434 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
14435 functions.
14436 (gomp_work_share_start, gomp_work_share_end,
14437 gomp_work_share_end_nowait): Rewritten.
14438 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
14439 (openmp_version): Set to 200805.
14440 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
14441 omp_sched_guided, omp_sched_auto): New parameters.
14442 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14443 omp_set_max_active_levels, omp_get_max_active_levels,
14444 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14445 omp_get_active_level): New interfaces.
14446 * omp_lib.h.in (openmp_version): Set to 200805.
14447 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
14448 omp_sched_guided, omp_sched_auto): New parameters.
14449 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14450 omp_set_max_active_levels, omp_get_max_active_levels,
14451 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14452 omp_get_active_level): New externals.
14453 * loop.c: Include limits.h.
14454 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
14455 GFS_AUTO.
14456 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
14457 Likewise. Use gomp_icv.
14458 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
14459 ts.static_trip here.
14460 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
14461 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
14462 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
14463 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
14464 don't unlock ws->lock, otherwise lock it.
14465 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
14466 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
14467 (gomp_parallel_loop_start): Call gomp_new_team instead of
14468 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
14469 Adjust gomp_team_start caller. Pass 0 as second argument to
14470 gomp_resolve_num_threads.
14471 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
14472 If adding ws->chunk_size nthreads + 1 times after end won't
14473 overflow, set ws->mode to 1.
14474 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
14475 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
14476 GOMP_loop_ull_ordered_static_start,
14477 GOMP_loop_ull_ordered_dynamic_start,
14478 GOMP_loop_ull_ordered_guided_start,
14479 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
14480 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
14481 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
14482 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
14483 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
14484 prototypes.
14485 * libgomp.map: Export lock routines also @@OMP_2.0.
14486 (GOMP_loop_ordered_dynamic_first,
14487 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
14488 GOMP_loop_ordered_static_first): Remove.
14489 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
14490 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
14491 GOMP_loop_ull_ordered_dynamic_next,
14492 GOMP_loop_ull_ordered_dynamic_start,
14493 GOMP_loop_ull_ordered_guided_next,
14494 GOMP_loop_ull_ordered_guided_start,
14495 GOMP_loop_ull_ordered_runtime_next,
14496 GOMP_loop_ull_ordered_runtime_start,
14497 GOMP_loop_ull_ordered_static_next,
14498 GOMP_loop_ull_ordered_static_start,
14499 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
14500 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
14501 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
14502 (omp_set_schedule, omp_get_schedule,
14503 omp_get_thread_limit, omp_set_max_active_levels,
14504 omp_get_max_active_levels, omp_get_level,
14505 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
14506 omp_set_schedule_, omp_set_schedule_8_,
14507 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
14508 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
14509 omp_get_max_active_levels_, omp_get_level_,
14510 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
14511 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
14512 New exports @@OMP_3.0.
14513 * omp.h.in (omp_sched_t): New type.
14514 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14515 omp_set_max_active_levels, omp_get_max_active_levels,
14516 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14517 omp_get_active_level): New prototypes.
14518 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
14519 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
14520 gomp_thread_limit_var, gomp_remaining_threads_count,
14521 gomp_remaining_threads_lock): New variables.
14522 (parse_spincount): New function.
14523 (initialize_env): Call gomp_init_num_threads unconditionally.
14524 Initialize gomp_available_cpus. Call parse_spincount,
14525 initialize gomp_{,throttled_}spin_count_var
14526 depending on presence and value of OMP_WAIT_POLICY and
14527 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
14528 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
14529 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
14530 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
14531 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
14532 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
14533 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
14534 (gomp_global_icv): New.
14535 (parse_schedule): Use it. Parse "auto".
14536 (omp_set_num_threads): Use gomp_icv.
14537 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
14538 Likewise.
14539 (omp_get_max_threads): Move from parallel.c.
14540 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14541 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
14542 add ialias.
14543 (parse_stacksize, parse_wait_policy): New functions.
14544 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
14545 both wrappers for compatibility and new locks.
14546 (omp_set_schedule, omp_get_schedule,
14547 omp_get_thread_limit, omp_set_max_active_levels,
14548 omp_get_max_active_levels, omp_get_level,
14549 omp_get_ancestor_thread_num, omp_get_team_size,
14550 omp_get_active_level): New ialias_redirect.
14551 (omp_set_schedule_, omp_set_schedule_8_,
14552 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
14553 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
14554 omp_get_max_active_levels_, omp_get_level_,
14555 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
14556 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
14557 New functions.
14558 * parallel.c: Include limits.h.
14559 (gomp_resolve_num_threads): Add count argument. Rewritten.
14560 (GOMP_parallel_start): Call gomp_new_team and pass that as last
14561 argument to gomp_team_start. Pass 0 as second argument to
14562 gomp_resolve_num_threads.
14563 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
14564 if gomp_thread_limit_var != ULONG_MAX.
14565 (omp_in_parallel): Implement using ts.active_level.
14566 (omp_get_max_threads): Move to env.c.
14567 (omp_get_level, omp_get_ancestor_thread_num,
14568 omp_get_team_size, omp_get_active_level): New functions,
14569 add ialias.
14570 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
14571 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
14572 gomp_iter_dynamic_next instead of the _locked variant and don't take
14573 lock around it, otherwise acquire it before calling
14574 gomp_iter_dynamic_next_locked.
14575 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
14576 gomp_iter_dynamic_next instead of the _locked variant and don't take
14577 lock around it.
14578 (GOMP_parallel_sections_start): Call gomp_new_team instead of
14579 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
14580 Adjust gomp_team_start caller. Pass count as second argument to
14581 gomp_resolve_num_threads, don't adjust num_threads after the call.
14582 Use gomp_icv.
14583 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
14584 ws->chunk_size by incr.
14585 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
14586 code.
14587 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
14588 types.
14589 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
14590 (omp_check_defines): Check even the compat defines.
14591 * config/linux/ptrlock.c: New file.
14592 * config/linux/ptrlock.h: New file.
14593 * config/linux/wait.h: New file.
14594 * config/posix/ptrlock.c: New file.
14595 * config/posix/ptrlock.h: New file.
14596 * config/linux/bar.h (gomp_team_barrier_wait,
14597 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
14598 (gomp_team_barrier_set_task_pending,
14599 gomp_team_barrier_clear_task_pending,
14600 gomp_team_barrier_set_waiting_for_tasks,
14601 gomp_team_barrier_waiting_for_tasks,
14602 gomp_team_barrier_done): New inlines.
14603 (gomp_barrier_t): Rewritten.
14604 (gomp_barrier_state_t): New typedef.
14605 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
14606 gomp_barrier_wait_start): Rewritten.
14607 (gomp_barrier_wait_end): Change second argument to
14608 gomp_barrier_state_t.
14609 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
14610 inlines.
14611 * config/linux/bar.c: Include wait.h instead of libgomp.h and
14612 futex.h.
14613 (gomp_barrier_wait_end): Rewritten.
14614 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
14615 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
14616 * config/posix/bar.h (gomp_barrier_t): Add generation field.
14617 (gomp_barrier_state_t): New typedef.
14618 (gomp_team_barrier_wait,
14619 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
14620 (gomp_barrier_wait_start): Or all but low 2 bits from generation
14621 into the return value. Return gomp_barrier_state_t.
14622 (gomp_team_barrier_set_task_pending,
14623 gomp_team_barrier_clear_task_pending,
14624 gomp_team_barrier_set_waiting_for_tasks,
14625 gomp_team_barrier_waiting_for_tasks,
14626 gomp_team_barrier_done): New inlines.
14627 (gomp_barrier_wait_end): Change second argument to
14628 gomp_barrier_state_t.
14629 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
14630 inlines.
14631 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
14632 (gomp_barrier_wait_end): Change second argument to
3e348fcc 14633 gomp_barrier_state_t.
a68ab351
JJ
14634 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
14635 gomp_team_barrier_wake): New functions.
14636 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
14637 futex.h.
14638 (gomp_futex_wake, gomp_futex_wait): New variables.
14639 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
14640 * config/linux/lock.c: Rewrite to make locks task owned,
14641 for backwards compatibility provide the old entrypoints
14642 if symbol versioning. Include wait.h instead of libgomp.h and
14643 futex.h.
14644 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
14645 * config/posix95/lock.c: Rewrite to make locks task owned,
14646 for backwards compatibility provide the old entrypoints
14647 if symbol versioning.
14648 * config/posix/lock.c: Rewrite to make locks task owned,
14649 for backwards compatibility provide the old entrypoints
14650 if symbol versioning.
14651 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
14652 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
14653 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
14654 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14655 (sys_futex0): Return error code.
14656 (futex_wake, futex_wait): If ENOSYS was returned, clear
14657 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14658 (cpu_relax, atomic_write_barrier): New static inlines.
14659 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14660 (futex_wake, futex_wait): If ENOSYS was returned, clear
14661 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14662 (cpu_relax, atomic_write_barrier): New static inlines.
14663 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14664 (sys_futex0): Return error code.
14665 (futex_wake, futex_wait): If ENOSYS was returned, clear
14666 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14667 (cpu_relax, atomic_write_barrier): New static inlines.
14668 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14669 (sys_futex0): Return error code.
14670 (futex_wake, futex_wait): If ENOSYS was returned, clear
14671 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14672 (cpu_relax, atomic_write_barrier): New static inlines.
14673 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14674 (sys_futex0): Return error code.
14675 (futex_wake, futex_wait): If ENOSYS was returned, clear
14676 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14677 (cpu_relax, atomic_write_barrier): New static inlines.
14678 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14679 (sys_futex0): Return error code.
14680 (futex_wake, futex_wait): If ENOSYS was returned, clear
14681 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14682 (cpu_relax, atomic_write_barrier): New static inlines.
14683 * config/linux/sem.c: Include wait.h instead of libgomp.h and
14684 futex.h.
14685 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
14686 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
14687 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
14688 types.
14689 (omp_nest_lock_t): Change owner into void *, add lock field.
14690 * config/posix95/omp-lock.h: Include semaphore.h.
14691 (omp_lock_25_t, omp_nest_lock_25_t): New types.
14692 (omp_lock_t): Use sem_t instead of mutex if semaphores
14693 aren't broken.
14694 (omp_nest_lock_t): Likewise. Change owner to void *.
14695 * config/posix/omp-lock.h: Include semaphore.h.
14696 (omp_lock_25_t, omp_nest_lock_25_t): New types.
14697 (omp_lock_t): Use sem_t instead of mutex if semaphores
14698 aren't broken.
14699 (omp_nest_lock_t): Likewise. Add owner field.
14700
147012008-06-06 Jakub Jelinek <jakub@redhat.com>
14702
14703 * testsuite/libgomp.c/collapse-1.c: New test.
14704 * testsuite/libgomp.c/collapse-2.c: New test.
14705 * testsuite/libgomp.c/collapse-3.c: New test.
14706 * testsuite/libgomp.c/icv-1.c: New test.
14707 * testsuite/libgomp.c/icv-2.c: New test.
14708 * testsuite/libgomp.c/lib-2.c: New test.
14709 * testsuite/libgomp.c/lock-1.c: New test.
14710 * testsuite/libgomp.c/lock-2.c: New test.
14711 * testsuite/libgomp.c/lock-3.c: New test.
14712 * testsuite/libgomp.c/loop-4.c: New test.
14713 * testsuite/libgomp.c/loop-5.c: New test.
14714 * testsuite/libgomp.c/loop-6.c: New test.
14715 * testsuite/libgomp.c/loop-7.c: New test.
14716 * testsuite/libgomp.c/loop-8.c: New test.
14717 * testsuite/libgomp.c/loop-9.c: New test.
14718 * testsuite/libgomp.c/nested-3.c: New test.
14719 * testsuite/libgomp.c/nestedfn-6.c: New test.
14720 * testsuite/libgomp.c/sort-1.c: New test.
14721 * testsuite/libgomp.c/task-1.c: New test.
14722 * testsuite/libgomp.c/task-2.c: New test.
14723 * testsuite/libgomp.c/task-3.c: New test.
14724 * testsuite/libgomp.c/task-4.c: New test.
14725 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
14726 to C++ testsuite default compiler options.
14727 * testsuite/libgomp.c++/collapse-1.C: New test.
14728 * testsuite/libgomp.c++/collapse-2.C: New test.
14729 * testsuite/libgomp.c++/ctor-10.C: New test.
14730 * testsuite/libgomp.c++/for-1.C: New test.
14731 * testsuite/libgomp.c++/for-2.C: New test.
14732 * testsuite/libgomp.c++/for-3.C: New test.
14733 * testsuite/libgomp.c++/for-4.C: New test.
14734 * testsuite/libgomp.c++/for-5.C: New test.
14735 * testsuite/libgomp.c++/loop-8.C: New test.
14736 * testsuite/libgomp.c++/loop-9.C: New test.
14737 * testsuite/libgomp.c++/loop-10.C: New test.
14738 * testsuite/libgomp.c++/task-1.C: New test.
14739 * testsuite/libgomp.c++/task-2.C: New test.
14740 * testsuite/libgomp.c++/task-3.C: New test.
14741 * testsuite/libgomp.c++/task-4.C: New test.
14742 * testsuite/libgomp.c++/task-5.C: New test.
14743 * testsuite/libgomp.c++/task-6.C: New test.
14744 * testsuite/libgomp.fortran/allocatable1.f90: New test.
14745 * testsuite/libgomp.fortran/allocatable2.f90: New test.
14746 * testsuite/libgomp.fortran/allocatable3.f90: New test.
14747 * testsuite/libgomp.fortran/allocatable4.f90: New test.
14748 * testsuite/libgomp.fortran/collapse1.f90: New test.
14749 * testsuite/libgomp.fortran/collapse2.f90: New test.
14750 * testsuite/libgomp.fortran/collapse3.f90: New test.
14751 * testsuite/libgomp.fortran/collapse4.f90: New test.
14752 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
14753 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
14754 * testsuite/libgomp.fortran/lib4.f90: New test.
14755 * testsuite/libgomp.fortran/lock-1.f90: New test.
14756 * testsuite/libgomp.fortran/lock-2.f90: New test.
14757 * testsuite/libgomp.fortran/nested1.f90: New test.
14758 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
14759 * testsuite/libgomp.fortran/strassen.f90: New test.
14760 * testsuite/libgomp.fortran/tabs1.f90: New test.
14761 * testsuite/libgomp.fortran/tabs2.f: New test.
14762 * testsuite/libgomp.fortran/task1.f90: New test.
14763 * testsuite/libgomp.fortran/task2.f90: New test.
14764 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
14765 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14766 * testsuite/libgomp.c/pr26943-2.c: Likewise.
14767 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14768 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14769
7a0112e7
JJ
147702008-05-23 Jakub Jelinek <jakub@redhat.com>
14771
14772 PR c++/36308
14773 * testsuite/libgomp.c++/ctor-11.C: New test.
14774 * testsuite/libgomp.c++/ctor-12.C: New test.
14775
91a5b394
JJ
147762008-05-15 Janis Johnson <janis187@us.ibm.com>
14777
14778 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
14779
c18c98c0
JJ
147802008-05-07 Jakub Jelinek <jakub@redhat.com>
14781
14782 PR middle-end/36106
14783 * testsuite/libgomp.c/atomic-5.c: New test.
14784 * testsuite/libgomp.c/atomic-6.c: New test.
14785 * testsuite/libgomp.c/autopar-1.c: New test.
14786
6d26724a
RW
147872008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14788
14789 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
14790 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
14791 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
14792 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
14793 * configure: Regenerate.
14794 * Makefile.in, testsuite/Makefile.in: Likewise.
14795
deb984e6
PB
147962008-04-18 Paolo Bonzini <bonzini@gnu.org>
14797
14798 PR bootstrap/35457
14799 * aclocal.m4: Regenerate.
14800 * configure: Regenerate.
14801
9e775963
JJ
148022008-03-18 Jakub Jelinek <jakub@redhat.com>
14803
8119fc93
JJ
14804 PR middle-end/35611
14805 * testsuite/libgomp.c/atomic-4.c: New test.
14806
9e775963
JJ
14807 PR libgomp/35625
14808 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
14809 (gomp_iter_guided_next): Likewise.
14810 * testsuite/libgomp.c/pr35625.c: New test.
14811
38d24731
RW
148122008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14813
14814 * aclocal.m4: Regenerate.
14815 * configure: Likewise.
14816 * Makefile.in: Likewise.
14817 * testsuite/Makefile.in: Likewise.
14818
d0fb20be
JJ
148192008-03-13 Jakub Jelinek <jakub@redhat.com>
14820
14821 PR middle-end/35185
14822 * testsuite/libgomp.c++/pr35185.C: New test.
14823
7c8f7639
JJ
148242008-03-12 Jakub Jelinek <jakub@redhat.com>
14825
14826 PR middle-end/35549
14827 * testsuite/libgomp.c/pr35549.c: New test.
14828
251923f5
JJ
148292008-03-06 Jakub Jelinek <jakub@redhat.com>
14830
14831 * testsuite/libgomp.c/atomic-3.c: New test.
14832
f489fba1
FXC
148332008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14834
14835 PR fortran/33197
251923f5 14836 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
14837 .F08 file suffixes.
14838
a1b25e49
PG
148392008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
14840
14841 PR libgomp/33131
14842 * configure.ac: Add ACX_HEADER_STRING.
14843 * env.c: Include strings.h.
14844 * aclocal.m4: Regenerate.
14845 * config.h.in: Regenerate.
14846 * configure: Regenerate.
14847 * Makefile.in: Regenerate.
14848 * testsuite/Makefile.in: Regenerate.
14849
6837b3b8
JJ
148502008-02-15 Jakub Jelinek <jakub@redhat.com>
14851
ac84c062
JJ
14852 PR middle-end/35196
14853 * testsuite/libgomp.c/pr35196.c: New test.
14854
6837b3b8
JJ
14855 PR middle-end/35130
14856 * testsuite/libgomp.fortran/pr35130.f90: New test.
14857 * testsuite/libgomp.c/pr35130.c: New test.
14858
c256730c
JJ
148592008-01-25 Jakub Jelinek <jakub@redhat.com>
14860
14861 PR middle-end/33880
14862 * testsuite/libgomp.c/pr33880.c: New test.
14863 * testsuite/libgomp.fortran/pr33880.f90: New test.
14864
c8e95542 148652008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
14866
14867 * configure: Regenerate.
14868
0f3e711e
JJ
148692008-01-08 Jakub Jelinek <jakub@redhat.com>
14870
14871 * configure.ac: Move futex checking into ../config/futex.m4.
14872 * configure: Rebuilt.
14873 * aclocal.m4: Rebuilt.
14874 * Makefile.in: Rebuilt.
14875
14876 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
14877 2007-10-15 ../config/tls.m4 change.
14878
5259c813
JJ
148792007-12-19 Jakub Jelinek <jakub@redhat.com>
14880
14881 PR c++/34513
14882 * testsuite/libgomp.c/pr34513.c: New test.
14883 * testsuite/libgomp.c++/pr34513.C: New test.
14884
ae8d8879
JH
148852007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
14886
14887 PR target/32765
14888 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
14889
2b4cf991
JJ
148902007-12-04 Jakub Jelinek <jakub@redhat.com>
14891
14892 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
14893
d2dda7fe
JJ
148942007-12-03 Jakub Jelinek <jakub@redhat.com>
14895
14896 * testsuite/libgomp.c/private-1.c: New test.
14897
d683ec81
PB
148982007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
14899 Paolo Bonzini <bonzini@gnu.org>
14900
14901 * Makefile.am: Use space as vpath separator. Use 'vpath %'
14902 instead of 'VPATH ='.
14903 * Makefile.in: Regenerate.
14904
a7415017
MK
149052007-11-23 Matthias Klose <doko@ubuntu.com>
14906
14907 * configure.ac: Adjust makeinfo version check.
14908 * configure: Regenerate.
14909
78e47463
JJ
149102007-11-10 Jakub Jelinek <jakub@redhat.com>
14911
14912 PR fortran/34020
14913 * testsuite/libgomp.fortran/pr34020.f90: New test.
14914
239371f9
JJ
149152007-11-06 Jakub Jelinek <jakub@redhat.com>
14916
14917 PR c++/33894
14918 * testsuite/libgomp.c++/atomic-1.C: New test.
14919
98a5fa94
JJ
149202007-10-25 Jakub Jelinek <jakub@redhat.com>
14921
14922 PR libgomp/33275
14923 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
14924 Make x and y integers rather than (implicit) reals. Add private (j)
14925 clause to the last omp parallel.
14926
3afcaaf4
MR
149272007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
14928
14929 * configure: Regenerate following changes to ../config/tls.m4.
14930
bd69daef
JJ
149312007-09-28 Jakub Jelinek <jakub@redhat.com>
14932
14933 * testsuite/libgomp.fortran/stack.f90: New test.
14934
1d0bd356
DS
149352007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
14936
14937 * config/mingw32/proc.c: New file.
14938
b3172cab
UB
149392007-09-05 Uros Bizjak <ubizjak@gmail.com>
14940
14941 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
14942 (main): Use __get_cpuid to get i386 target fetaures.
14943 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
14944 (main): Use __get_cpuid to get x86_64 target fetaures.
14945
6da17392
JH
149462007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
14947
14948 PR target/32765
14949 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
14950 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
14951
e1c82219
JJ
149522007-07-12 Jakub Jelinek <jakub@redhat.com>
14953
14954 PR fortran/32550
14955 * testsuite/libgomp.fortran/pr32550.f90: New test.
14956 * testsuite/libgomp.fortran/crayptr2.f90: New test.
14957
12a27363
L
149582007-07-05 H.J. Lu <hongjiu.lu@intel.com>
14959
14960 * aclocal.m4: Regenerated.
14961
5349080d
TB
149622007-07-05 Tobias Burnus <burnus@net-b.de>
14963
14964 PR fortran/32359
14965 * testsuite/libgomp.fortran/pr32359.f90: New.
14966
4f9c450c
JJ
149672007-07-02 Jakub Jelinek <jakub@redhat.com>
14968
14969 PR libgomp/32468
14970 * sections.c (GOMP_parallel_sections_start): Only decrease
14971 number of threads to COUNT if dyn_var is true.
14972 * testsuite/libgomp.c/pr32468.c: New test.
14973
28c67ed7
RO
149742007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14975
14976 PR libgomp/26308
14977 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
14978
64964499
JJ
149792007-06-21 Jakub Jelinek <jakub@redhat.com>
14980
14981 PR middle-end/32362
14982 * testsuite/libgomp.c/pr32362-1.c: New test.
14983 * testsuite/libgomp.c/pr32362-2.c: New test.
14984 * testsuite/libgomp.c/pr32362-3.c: New test.
14985
46d8fbd1
JJ
149862007-06-07 Jakub Jelinek <jakub@redhat.com>
14987
14988 * team.c (gomp_team_start): Fix setting up thread_attr
14989 stack size.
14990
82a6cadf
PB
149912007-06-02 Paolo Bonzini <bonzini@gnu.org>
14992
14993 * configure: Regenerate.
14994
1cf3d07d
SE
149952007-05-23 Steve Ellcey <sje@cup.hp.com>
14996
14997 * Makefile.in: Regenerate.
14998 * configure: Regenerate.
14999 * aclocal.m4: Regenerate.
15000 * testsuite/Makefile.in: Regenerate.
15001
12aac30b
JJ
150022007-05-04 Jakub Jelinek <jakub@redhat.com>
15003
15004 * config/linux/proc.c: New file.
15005
f1028b02
JJ
15006 PR libgomp/28482
15007 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
15008
06785a48
DF
150092007-04-19 Daniel Franke <franke.daniel@gmail.com>
15010
15011 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
15012
b3b08ba0
MK
150132007-04-16 Matthias Klose <doko@debian.org>
15014
15015 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
15016 flags if not building with -m64.
15017 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
15018 flag for i?86-*-* targets, if current target matches -m64.
15019
6b2c5ce0
SE
150202007-04-14 Steve Ellcey <sje@cup.hp.com>
15021
15022 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
15023 * Makefile.in: Regenerate.
15024
dd56fe7c
JDA
150252007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15026
15027 PR testsuite/31369
15028 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
15029 ld_library_path.
15030 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15031
a0884cf0
JJ
150322007-04-04 Jakub Jelinek <jakub@redhat.com>
15033
15034 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
15035 decls.
15036 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
15037 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
15038 (parse_affinity): New function.
15039 (initialize_env): Call it and gomp_init_affinity.
15040 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
15041 create new pthread_attr_t and call gomp_init_thread_affinity
15042 on it for each thread before passing the attribute to pthread_create.
15043 * config/linux/affinity.c: New file.
15044 * config/posix/affinity.c: New file.
15045 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
15046 * configure: Rebuilt.
15047 * config.h.in: Rebuilt.
15048 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
15049 * Makefile.in: Rebuilt.
15050
1850744b
AT
150512007-03-23 Andreas Tobler <a.tobler@schweiz.org>
15052
15053 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
15054 *-*-darwin*.
15055 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
15056 and use it if found.
15057
516f1ed8
UB
150582007-03-18 Uros Bizjak <ubizjak@gmail.com>
15059
15060 * testsuite/config/default.exp: New file.
15061 * testsuite/lib/libgomp.exp: New file.
15062 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
15063 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
15064 load_lib *, load_gcc_lib *): Move to libgomp.exp.
15065 (libgomp_load): Remove.
15066 * testsuite/lib/libgomp.exp (libgomp_init): Compute
15067 always_ld_library_path, not ld_library_path. Set additional_flags
15068 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
15069 (target_compile): Do not call libgomp_init. Append lang_library_path
15070 and lang_link_flags to options.
15071 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
15072 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
15073 here.
15074 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
15075 always_ld_library_path. Set LD_LIBRARY_PATH here.
15076 * testsuite/libgomp.fortran/fortran.exp: Ditto.
15077 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
15078 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
15079 CX8 flag.
15080 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
15081 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
15082 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
15083 * testsuite/libgomp.c/pr29947-1.c: Ditto.
15084 * testsuite/libgomp.c/atomic-10.c: Ditto.
15085
2ada56f5
JJ
150862007-03-21 Jakub Jelinek <jakub@redhat.com>
15087
15088 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
15089 dg-final cleanup-modules line.
15090 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
15091 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
15092 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
15093 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
15094 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
15095 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
15096 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
15097
f210f1cd
AS
150982007-03-18 Andreas Schwab <schwab@suse.de>
15099
15100 * acinclude.m4: Adjust regular expression for ld version
15101 extraction.
15102 * configure: Regenerate.
15103
c4dc950d
BM
151042007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
15105
15106 * Makefile.am: Add install-pdf target as copied from
15107 automake v1.10 rules.
15108 * Makefile.in: Regenerate
15109
e02a048f
JJ
151102007-02-07 Jakub Jelinek <jakub@redhat.com>
15111
78e075d4
JJ
15112 PR libgomp/28486
15113 * configure: Regenerate.
15114
e02a048f
JJ
15115 PR c++/30703
15116 * testsuite/libgomp.c++/pr30703.C: New test.
15117
60def7ed
JJ
151182007-02-02 Jakub Jelinek <jakub@redhat.com>
15119
15120 Revert:
15121 2006-07-05 Eric Christopher <echristo@apple.com>
15122 * configure.ac: Depend addition of -pthread on host OS.
15123 * configure: Regenerate.
15124
f1b0882e
RW
151252007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15126
15127 * libgomp.texi: Fix spacing after abbreviations.
15128
748b9d7c
DF
151292007-01-31 Daniel Franke <franke.daniel@gmail.com>
15130
15131 PR libgomp/30546
15132 * configure.ac: Add check for makeinfo
15133 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 15134 if an appropriate version of makeinfo is found.
748b9d7c
DF
15135 * aclocal.m4: Regenerated.
15136 * configure: Regenerated.
15137 * Makefile.in: Regenerated.
15138 * testsuite/Makefile.in: Regenerated.
15139
14734fc7
DF
151402007-01-29 Daniel Franke <franke.daniel@gmail.com>
15141
15142 PR libgomp/30540
15143 * libgomp.texi: More about implementation-dependent settings.
15144
7befd5d2
TB
151452007-01-26 Tobias Burnus <burnus@net-b.de>
15146
15147 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
15148
4288fea2
JJ
151492007-01-24 Jakub Jelinek <jakub@redhat.com>
15150
15151 PR middle-end/30494
15152 * testsuite/libgomp.c/pr30494.c: New test.
15153
627ab4b8
TT
151542007-01-15 Tom Tromey <tromey@redhat.com>
15155
15156 * configure: Rebuilt.
15157 * configure.ac: Fixed comment.
15158
7c2b7f45
DF
151592007-01-14 Daniel Franke <franke.daniel@gmail.com>
15160
15161 * libgomp.texi: Document implementation specific default values of
15162 environment variables.
15163
3721b9e1
DF
151642006-12-21 Daniel Franke <franke.daniel@gmail.com>
15165
15166 PR libgomp/28209
15167 * libgomp.texi: New file.
15168 * configure.ac: Add --enable-generated-files-in-srcdir option.
15169 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
15170 files to srcdir.
15171 * Makefile.in: Regenerated.
15172 * config.h.in: Regenerated.
15173 * testsuite/Makefile.in: Regenerated.
15174 * NOTES: Removed.
15175
62bd6216
DF
151762006-12-04 Daniel Franke <franke.daniel@gmail.com>
15177
15178 PR libgomp/29949
15179 * env.c (omp_set_num_threads): Set illegal thread count to 1.
15180
aad741f4
EB
151812006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
15182
15183 * configure: Regenerate.
15184
22568cc6
JJ
151852006-12-04 Jakub Jelinek <jakub@redhat.com>
15186
15187 PR libgomp/29947
15188 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
15189 start if there shouldn't be any loop iterations.
15190 (gomp_loop_ordered_static_start): Remove start == end test.
15191 * testsuite/libgomp.c/pr29947-1.c: New test.
15192 * testsuite/libgomp.c/pr29947-2.c: New test.
15193
a9690009
EB
151942006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
15195
15196 * configure.tgt: Force initial-exec TLS model on Linux only.
15197
597c25e6
DJ
151982006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
15199
15200 * configure: Regenerated.
15201
6acf0b38
UB
152022006-11-09 Uros Bizjak <ubizjak@gmail.com>
15203
15204 * env.c (parse_schedule): Reject out of range values.
15205 (parse_unsigned_long): Reject out of range, negative or zero values.
15206
a7a53ca5
JJ
152072006-10-29 Jakub Jelinek <jakub@redhat.com>
15208
15209 PR fortran/29629
15210 * testsuite/libgomp.fortran/pr29629.f90: New test.
15211
6d4d216a
EB
152122006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
15213
15214 PR libgomp/29494
15215 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
15216 * config/posix95: New directory.
15217 * config/posix95/omp-lock.h: New file.
15218 * config/posix95/lock.c: Likewise.
15219
5b043f08
GK
152202006-10-14 Geoffrey Keating <geoffk@apple.com>
15221
15222 * aclocal.m4: Regenerate.
15223 * configure: Regenerate.
15224
b50019f0
DS
152252006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
15226
15227 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
15228 '<' to '<='.
15229
8887708e
DS
152302006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
15231
15232 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
15233 test.
15234 * configure: Regenerate.
15235 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
15236
9b9e4cd6
JJ
152372006-09-26 Jakub Jelinek <jakub@redhat.com>
15238
a70ad3bb
JJ
15239 PR middle-end/25261
15240 PR middle-end/28790
15241 * testsuite/libgomp.c/nestedfn-4.c: New test.
15242 * testsuite/libgomp.c/nestedfn-5.c: New test.
15243 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
15244
9b9e4cd6
JJ
15245 PR fortran/29097
15246 * testsuite/libgomp.fortran/condinc1.f: New test.
15247 * testsuite/libgomp.fortran/condinc2.f: New test.
15248 * testsuite/libgomp.fortran/condinc3.f90: New test.
15249 * testsuite/libgomp.fortran/condinc4.f90: New test.
15250 * testsuite/libgomp.fortran/condinc1.inc: New file.
15251
2fb31455
TT
152522006-09-18 Tom Tromey <tromey@redhat.com>
15253
15254 * configure: Rebuilt.
15255
c663e301
JM
152562006-09-13 Joseph S. Myers <joseph@codesourcery.com>
15257
15258 PR c/28768
15259 PR preprocessor/14634
15260 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
15261 to AC_DEFINE.
15262 * configure: Regenerate.
15263
38371be9
SK
152642006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
15265
15266 * testsuite/libgomp.fortran/reduction3.f90: Change
15267 -2147483648 to -huge(i)-1 to avoid overflow.
15268 * testsuite/libgomp.fortran/reduction4.f90: Change
15269 Z'ffffffff' to not(0) to avoid overflow.
15270
571d5ac5
JM
152712006-08-26 Joseph S. Myers <joseph@codesourcery.com>
15272
15273 PR libgomp/25938
15274 * Makefile.am (libsubincludedir): New.
15275 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
15276 * Makefile.in: Regenerate.
15277
89b3e3cd
JJ
152782006-08-17 Jakub Jelinek <jakub@redhat.com>
15279
15280 PR libgomp/28725
15281 * env.c: Include ctype.h.
15282 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
15283 leading and/or trailing whitespace and compare strings case
15284 insensitively.
15285
742fae05
JJ
152862006-07-16 Jakub Jelinek <jakub@redhat.com>
15287
15288 PR fortran/28390
15289 * testsuite/libgomp.fortran/pr28390.f: New test.
15290
a1daed2d
EC
152912006-07-05 Eric Christopher <echristo@apple.com>
15292
15293 * configure.ac: Depend addition of -pthread on host OS.
15294 * configure: Regenerate.
15295
5d7b5199
JJ
152962006-06-21 Jakub Jelinek <jakub@redhat.com>
15297
15298 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
15299 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
15300 defined.
15301
fe5568e9
JJ
153022006-06-20 Jakub Jelinek <jakub@redhat.com>
15303
15304 PR libgomp/26175
15305 PR libgomp/26477
15306 * configure.ac: If neither --enable-linux-futex nor
15307 --disable-linux-futex is passed, determine the default by checking
15308 for compiling and/or running against NPTL. With --enable-linux-futex,
15309 check if SYS_gettid and SYS_futex are defined.
15310 * configure: Rebuilt.
15311
c3b11a40
RH
153122006-06-14 Richard Henderson <rth@redhat.com>
15313
15314 PR libgomp/28008
15315 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
15316 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
15317
d0d1b24d
RH
153182006-06-09 Richard Henderson <rth@redhat.com>
15319
15320 * env.c (gomp_nthreads_var): Change to unsigned long.
15321 (gomp_run_sched_chunk): Likewise.
15322 (parse_unsigned_long): Rename from parse_num_threads and generalize.
15323 (initialize_env): Initialize gomp_thread_attr.
15324 * libgomp.h (gomp_nthreads_var): Update decl.
15325 (gomp_run_sched_chunk): Likewise.
15326 (gomp_thread_attr): Declare.
15327 * team.c (gomp_thread_attr): Export.
15328 (initialize_team): Don't initialize it.
15329
cd75853e
JJ
153302006-06-09 Jakub Jelinek <jakub@redhat.com>
15331
15332 PR fortran/27916
15333 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
15334 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
15335
33815e0c
FXC
153362006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
15337
15338 * config/mingw32/time.c: New file.
15339 * configure.tgt: Use it.
15340
6667de0d
CD
153412006-05-23 Carlos O'Donell <carlos@codesourcery.com>
15342
15343 * Makefile.am: Add install-html target. Add install-html to .PHONY
15344 * Makefile.in: Regenerate.
15345
e962c46b
JDA
153462006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15347
15348 PR libgomp/27612
15349 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
15350 * testsuite/libgomp.c/critical-1.c: Likewise.
15351 * testsuite/libgomp.c/loop-1.c: Likewise.
15352 * testsuite/libgomp.c/loop-2.c: Likewise.
15353 * testsuite/libgomp.c/single-1.c: Likewise.
15354 * testsuite/libgomp.c/ordered-1.c: Likewise.
15355 * testsuite/libgomp.c/ordered-2.c: Likewise.
15356
eeb1d9e0
JJ
153572006-05-15 Jakub Jelinek <jakub@redhat.com>
15358
15359 PR middle-end/27416
15360 * libgomp.fortran/pr27416-1.f90: New test.
15361
693d710f
JJ
153622006-05-03 Jakub Jelinek <jakub@redhat.com>
15363
15364 PR fortran/27395
15365 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
15366 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
15367
8ca5b2a2
JJ
153682006-05-02 Jakub Jelinek <jakub@redhat.com>
15369
15370 PR c++/26943
15371 * testsuite/libgomp.c/pr26943-1.c: New test.
15372 * testsuite/libgomp.c/pr26943-2.c: New test.
15373 * testsuite/libgomp.c/pr26943-3.c: New test.
15374 * testsuite/libgomp.c/pr26943-4.c: New test.
15375 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
15376 * testsuite/libgomp.c++/pr26943.C: New test.
15377
077b0dfb
JJ
153782006-05-02 Jakub Jelinek <jakub@redhat.com>
15379
15380 PR middle-end/27337
15381 * testsuite/libgomp.c++/pr27337.C: New test.
15382
91b6c26d
JJ
153832006-04-26 Jakub Jelinek <jakub@redhat.com>
15384
15385 PR c/26171
15386 * testsuite/libgomp.c/pr26171.c: New test.
15387
60e1758f
RH
153882006-04-25 Richard Henderson <rth@redhat.com>
15389
15390 PR libgomp/25865
15391 * configure.ac: Use GCC_CHECK_TLS.
15392 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
15393 * Makefile.in, aclocal.m4, configure: Regenerate.
15394
615baed7
MK
153952006-04-10 Matthias Klose <doko@debian.org>
15396
15397 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
15398 directory names containing underscores.
15399
fae2b46b
JJ
154002006-03-21 Jakub Jelinek <jakub@redhat.com>
15401
15402 PR c++/26691
15403 * testsuite/libgomp.c++/pr26691.C: New test.
15404
11a5f608
JJ
154052006-03-13 Jakub Jelinek <jakub@redhat.com>
15406
15407 * testsuite/libgomp.fortran/retval2.f90: New test.
15408
1799e5d5
RH
154092006-03-09 Diego Novillo <dnovillo@redhat.com>
15410
15411 * testsuite/libgomp.c++: New directory.
15412
d349482e
AT
154132006-02-25 Shantonu Sen <ssen@opendarwin.org>
15414
15415 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
15416 * config/posix/sem.c: Implement the above.
15417
154182006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
15419
15420 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
15421 define HAVE_BROKEN_POSIX_SEMAPHORES.
15422 * configure: Rebuilt.
15423 * config.h.in: Rebuilt.
15424
124452c9
FXC
154252006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
15426
15427 PR bootstrap/26161
15428 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
15429 for the other pthread check.
15430 * configure: Regenerate.
15431 * config.h.in: Regenerate.
15432
dd8d6dfe
JJ
154332006-02-15 Jakub Jelinek <jakub@redhat.com>
15434
15435 PR libgomp/25938
15436 PR libgomp/25984
15437 * Makefile.am (fincludedir): New variable.
15438 (nodist_include_HEADERS): Remove Fortran files.
15439 (nodist_finclude_HEADERS): New variable.
15440 * Makefile.in: Regenerated.
15441
6c7a4dfd
JJ
154422006-02-13 Jakub Jelinek <jakub@redhat.com>
15443
15444 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
15445 Remove tests for returning assumed character length arrays.
15446
5142e08b
RS
154472006-02-12 Roger Sayle <roger@eyesopen.com>
15448 John David Anglin <dave@hiauly1.hia.nrc.ca>
15449
15450 PR libgomp/25936
15451 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 15452
5821fba8
UW
154532006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
15454
15455 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
15456
cb2bbc67
EB
154572006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
15458
15459 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
15460 part of LD_LIBRARY_PATH manually.
15461
f05ee80c
L
154622006-02-03 H.J. Lu <hongjiu.lu@intel.com>
15463
15464 PR libgomp/25852
15465 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
15466 libgomp_init.
15467
03b8fe49
PB
154682005-01-25 Paolo Bonzini <bonzini@gnu.org>
15469
15470 PR libgomp/25884
f05ee80c
L
15471 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
15472 * configure.ac (PERL): Don't set.
15473 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
15474 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
15475 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
15476 * omp.h.in: Wrap the new configure substitutions with @ characters.
15477 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
15478 * aclocal.m4, configure, Makefile.in: Regenerate.
15479 * mkomp_h.pl: Delete.
03b8fe49 15480
18cbfd85
PB
154812005-01-24 Paolo Bonzini <bonzini@gnu.org>
15482
15483 PR libgomp/25259
15484 * configure.ac: Use GCC_HEADER_STDINT.
15485 * libgomp.h: Include gstdint.h.
15486 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
15487 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
15488
c41303c6
RH
154892006-01-24 Richard Henderson <rth@redhat.com>
15490
15491 PR libgomp/25942
15492 * configure.ac: Add AM_MAINTAINER_MODE.
15493 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
15494
149b9553
DN
154952006-01-24 Diego Novillo <dnovillo@redhat.com>
15496
15497 * Makefile.in: Regenerate.
15498 * testsuite/Makefile.in: Regenerate.
15499 * aclocal.m4: Regenerate.
15500
192a50ad
AT
155012006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
15502
15503 * config/posix/proc.c: Conditional include of sys/loadavg.h for
15504 Solaris.
15505 * configure.ac: Add check for loadavg.h.
15506 (link_gomp): Adjust comment.
15507 * configure: Regenerate.
15508 * config.h.in: Regenerate.
15509
a55b8e18
SE
155102006-01-21 Steve Ellcey <sje@cup.hp.com>
15511
15512 PR libgomp/25877
15513 * configure.ac: Remove check for alloca.h.
15514 * configure: Regenerate.
15515 * config.h.in: Regenerate.
15516 * libgomp.h: define gomp_alloca to be __builtin_alloca.
15517 * team.c: Remove use of alloca.h.
15518 Call gomp_alloca instead of alloca.
15519
692eeb34
SE
155202006-01-20 Steve Ellcey <sje@cup.hp.com>
15521
15522 PR libgomp/25877
15523 * team.c: Add include of alloca.h.
15524 * configure.ac: Add check for alloca.h.
15525 * configure: Regenerate.
15526 * config.h.in: Regenerate.
15527
953ff289
DN
155282006-01-17 Jakub Jelinek <jakub@redhat.com>
15529
15530 PR fortran/25219
15531 * testsuite/libgomp.fortran/pr25219.f90: New test.
15532
155332005-12-05 Uros Bizjak <uros@kss-loka.si>
15534
15535 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
15536 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
15537 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
15538 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
15539 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
15540 testsuite/libgomp.fortran/threadprivate1.f90,
15541 testsuite/libgomp.fortran/threadprivate2.f90,
15542 testsuite/libgomp.fortran/threadprivate3.f90,
15543 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
15544 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
15545 testsuite/libgomp.fortran/omp_parse3.f90: Change required
15546 effective-target to TLS runtime.
15547
15548 * testsuite/libgomp.fortran/pr25162.f: Require
15549 effective-target TLS runtime.
15550
155512005-12-01 Jakub Jelinek <jakub@redhat.com>
15552
15553 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
15554 * testsuite/libgomp.c/nestedfn-3.c: New test.
15555
155562005-11-30 Jakub Jelinek <jakub@redhat.com>
15557
15558 PR fortran/25162
15559 * testsuite/libgomp.fortran/pr25162.f: New test.
15560
155612005-11-28 Jakub Jelinek <jakub@redhat.com>
15562
15563 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
15564 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
15565
155662005-11-25 Jakub Jelinek <jakub@redhat.com>
15567
15568 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
15569 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
15570 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
15571 single.c, team.c, work.c, config/linux/alpha/futex.h,
15572 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
15573 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
15574 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
15575 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
15576 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
15577 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
15578 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
15579 FSF address.
15580
155812005-11-18 Jakub Jelinek <jakub@redhat.com>
15582
15583 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
15584 to nodist_noinst_HEADERS.
15585 * Makefile.in: Rebuilt.
15586
15587 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
15588 add integer count field.
15589 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
15590 omp_nest_lock_t type change.
15591 (omp_init_nest_lock): Likewise. Initialize count to 0.
15592 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
15593 Increment count.
15594 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
15595 Decrement count.
15596 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
15597 Increment count if successful and return the new nesting level.
15598 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
15599 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
15600 * testsuite/libgomp.c/lib-1.c: New test.
15601 * testsuite/libgomp.fortran/lib1.f90: New test.
15602 * testsuite/libgomp.fortran/lib2.f: New test.
15603 * testsuite/libgomp.fortran/lib3.f: New test.
15604
156052005-11-17 Richard Henderson <rth@redhat.com>
15606
15607 PR 24845
15608 * Makefile.am (nodist_toolexeclib_HEADERS): New.
15609 * configure.ac (link_gomp): New. Substitute it.
15610 (AC_CONFIG_FILES): Add libgomp.spec.
15611 * libgomp.spec.in: New file.
15612 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
15613 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
15614
156152005-11-18 Jakub Jelinek <jakub@redhat.com>
15616
15617 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
15618 reduction(-:var) behaving the same as reduction(+:var).
15619 * testsuite/libgomp.c/reduction-4.c: New test.
15620
156212005-11-15 Uros Bizjak <uros@kss-loka.si>
15622
15623 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
15624 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
15625 testsuite/libgomp.c/copyin-3.c,
15626 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
15627 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
15628 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
15629 testsuite/libgomp.c++/pr24455.C,
15630 testsuite/libgomp.fortran/threadprivate1.f90,
15631 testsuite/libgomp.fortran/threadprivate2.f90,
15632 testsuite/libgomp.fortran/threadprivate3.f90,
15633 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
15634 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
15635 testsuite/libgomp.fortran/omp_parse3.f90: Require
15636 effective-target TLS.
15637
156382005-11-14 Diego Novillo <dnovillo@redhat.com>
15639
15640 * HEADER: Remove.
15641
156422005-11-13 Jakub Jelinek <jakub@redhat.com>
15643
15644 PR libgomp/24797
15645 * team.c (initialize_team): Pass NULL rather than free as
15646 pthread_key_create destructor. Initialize thread specific data
15647 pointer in initial thread to a static local variable rather than
15648 malloced memory.
15649
156502005-11-11 Uros Bizjak <uros@kss-loka.si>
15651
15652 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
15653 its location to ld_library_path.
15654
156552005-11-10 Diego Novillo <dnovillo@redhat.com>
15656
15657 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
15658
156592005-11-10 Diego Novillo <dnovillo@redhat.com>
15660
15661 * testsuite/libgomp.c: Rename from libgomp.dg.
15662
156632005-11-09 Diego Novillo <dnovillo@redhat.com>
15664
15665 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
15666 threadprivate variable 'i'.
15667
156682005-11-09 Jakub Jelinek <jakub@redhat.com>
15669
15670 * config/linux/s390/futex.h: New file.
15671 * configure.tgt: Use it.
15672
15673 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
15674 before the parallel.
15675
156762005-11-08 Jakub Jelinek <jakub@redhat.com>
15677
15678 PR c++/24734
15679 * testsuite/libgomp.c++/master-1.C: New test.
15680
156812005-11-07 Jakub Jelinek <jakub@redhat.com>
15682
15683 * testsuite/libgomp.dg/copyin-3.c: New test.
15684
156852005-11-07 Jakub Jelinek <jakub@redhat.com>
15686
15687 * testsuite/libgomp.fortran/retval1.f90: New test.
15688 * testsuite/libgomp.fortran/vla7.f90: New test.
15689
156902005-11-06 Jakub Jelinek <jakub@redhat.com>
15691
15692 * testsuite/libgomp.fortran/vla2.f90: New test.
15693 * testsuite/libgomp.fortran/vla3.f90: New test.
15694 * testsuite/libgomp.fortran/vla4.f90: New test.
15695 * testsuite/libgomp.fortran/vla5.f90: New test.
15696 * testsuite/libgomp.fortran/vla6.f90: New test.
15697
156982005-11-01 Jakub Jelinek <jakub@redhat.com>
15699
15700 * config/linux/sparc/futex.h: New file.
15701 * configure.tgt: Use it.
15702 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
15703
15704 * critical.c: Include stdlib.h.
15705 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
15706 ignoring return value.
15707 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
15708 LIBGOMP_CHECK_SYNC_BUILTINS check.
15709 * configure: Rebuilt.
15710
157112005-10-31 Jakub Jelinek <jakub@redhat.com>
15712
15713 * testsuite/libgomp.fortran/vla1.f90: New test.
15714
157152005-10-31 Richard Henderson <rth@redhat.com>
15716
15717 * testsuite/libgomp.fortran/character2.f90: Fix race condition
15718 setting 's' in different threads.
15719
157202005-10-31 Jakub Jelinek <jakub@redhat.com>
15721
15722 * libgomp.h (attribute_hidden, ialias): Define.
15723 * config/posix/proc.c (omp_get_num_procs): Add ialias.
15724 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
15725 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
15726 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
15727 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
15728 omp_test_lock, omp_test_nest_lock): Likewise.
15729 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
15730 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
15731 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
15732 omp_test_lock, omp_test_nest_lock): Likewise.
15733 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
15734 omp_get_dynamic, omp_get_nested): Likewise.
15735 * parallel.c (omp_get_num_threads, omp_get_max_threads,
15736 omp_get_thread_num, omp_in_parallel): Likewise.
15737 * fortran.c (ialias_redirect): Define.
15738 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
15739 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
15740 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
15741 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
15742 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
15743 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
15744 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
15745 omp_get_wtime): Add ialias_redirect.
15746
157472005-10-30 Jakub Jelinek <jakub@redhat.com>
15748
15749 * fortran.c: Include stdlib.h.
15750
157512005-10-29 Jakub Jelinek <jakub@redhat.com>
15752
15753 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
15754 * Makefile.in: Regenerated.
15755
157562005-10-28 Jakub Jelinek <jakub@redhat.com>
15757
15758 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
15759 * libgomp_f.h.in (omp_check_defines): New function.
15760 * env.c: Include libgomp_f.h.
15761 (initialize_env): Call omp_check_defines.
15762
15763 * testsuite/libgomp.dg/copyin-2.c: New test.
15764 * testsuite/libgomp.c++/copyin-2.C: New test.
15765 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
15766
15767 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
15768 * testsuite/libgomp.fortran/sharing2.f90: New test.
15769
15770 * testsuite/libgomp.dg/copyin-1.c: New test.
15771 * testsuite/libgomp.c++/copyin-1.C: New test.
15772
157732005-10-26 Jakub Jelinek <jakub@redhat.com>
15774
15775 * testsuite/libgomp.fortran/crayptr1.f90: New test.
15776
15777 * testsuite/libgomp.fortran/workshare1.f90: New test.
15778
15779 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
15780 only test.
15781 * libgomp.fortran/sharing1.f90: New test.
15782
157832005-10-24 Jakub Jelinek <jakub@redhat.com>
15784
15785 PR c++/24502
15786 * testsuite/libgomp.c++/loop-7.C: New test.
15787
15788 * testsuite/libgomp.dg/nestedfn-2.c: New test.
15789
15790 * testsuite/libgomp.dg/nestedfn-1.c: New test.
15791 * testsuite/libgomp.fortran/reduction6.f90: New test.
15792 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
15793
157942005-10-23 Richard Henderson <rth@redhat.com>
15795
15796 * testsuite/libgomp.c++/ctor-1.C: New.
15797 * testsuite/libgomp.c++/ctor-2.C: New.
15798 * testsuite/libgomp.c++/ctor-3.C: New.
15799 * testsuite/libgomp.c++/ctor-4.C: New.
15800 * testsuite/libgomp.c++/ctor-5.C: New.
15801 * testsuite/libgomp.c++/ctor-6.C: New.
15802 * testsuite/libgomp.c++/ctor-7.C: New.
15803 * testsuite/libgomp.c++/ctor-8.C: New.
15804 * testsuite/libgomp.c++/ctor-9.C: New.
15805
158062005-10-21 Diego Novillo <dnovillo@redhat.com>
15807
15808 PR 24455
15809 * testsuite/libgomp.c++/pr24455-1.C: New test.
15810 * testsuite/libgomp.c++/pr24455.C: New test.
15811 * testsuite/libgomp.dg/pr24455-1.c: New test.
15812 * testsuite/libgomp.dg/pr24455.c: New test.
15813
158142005-10-20 Richard Henderson <rth@redhat.com>
15815
15816 * testsuite/libgomp.c++/loop-6.C: New.
15817 * testsuite/libgomp.dg/loop-3.c: New.
15818
158192005-10-20 Jakub Jelinek <jakub@redhat.com>
15820
15821 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
15822 explicitly private.
15823 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
15824 explicitly shared.
15825
158262005-10-19 Diego Novillo <dnovillo@redhat.com>
15827
15828 * testsuite/libgomp.fortran/jacobi.f: New test.
15829
158302005-10-19 Richard Henderson <rth@redhat.com>
15831
15832 * configure.tgt (i?86-linux): Default to with_arch instead of
15833 CFLAGS. Add -mtune to match target_cpu.
15834 (x86_64-linux): Tune to i686.
15835
15836 * fortran.c (omp_test_nest_lock_): Fix typo.
15837
158382005-10-19 Jakub Jelinek <jakub@redhat.com>
15839
15840 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
15841 gomp_ordered_sync): Do nothing if team->nthreads == 1.
15842 * testsuite/libgomp.dg/ordered-3.c: New test.
15843
15844 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
15845 Remove volatile keyword.
15846
15847 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
15848 in COMMON block to avoid warnings on 64-bit targets.
15849
158502005-10-18 Diego Novillo <dnovillo@redhat.com>
15851
15852 * testsuite/libgomp.dg/shared-3.c: New test.
15853
158542005-10-18 Jakub Jelinek <jakub@redhat.com>
15855
15856 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
15857 * testsuite/libgomp.fortran/reduction5.f90: New test.
15858
158592005-10-18 Jakub Jelinek <jakub@redhat.com>
15860
15861 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
15862 dg-options.
15863 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
15864 flush loop now that __sync_synchronize has proper memory barrier.
15865 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
15866 Add -ffixed-form to dg-options.
15867
158682005-10-17 Diego Novillo <dnovillo@redhat.com>
15869
15870 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
15871 from subdirectories.
15872 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
15873 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
15874 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
15875 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
15876 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
15877 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
15878 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
15879 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
15880 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
15881 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
15882 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
15883 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
15884 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
15885 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
15886 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
15887 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
15888 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
15889 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
15890 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
15891 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
15892 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
15893 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
15894 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
15895 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
15896 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
15897
158982005-10-17 Jakub Jelinek <jakub@redhat.com>
15899
15900 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
15901 lang_library_path exists. Use find instead of glob to gather tests.
15902 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
15903
159042005-10-17 Diego Novillo <dnovillo@redhat.com>
15905
15906 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
15907 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
15908 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
15909 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
15910 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
15911 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
15912 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
15913 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
15914 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
15915 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
15916 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
15917 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
15918 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
15919
159202005-10-15 Jakub Jelinek <jakub@redhat.com>
15921
15922 * testsuite/libgomp.dg/vla-1.c: New test.
15923
15924 * testsuite/libgomp.fortran/reference2.f90: New test.
15925
15926 * testsuite/libgomp.fortran/character2.f90: Remove explicit
15927 declaration of omp_get_thread_num.
15928 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
15929 use omp_lib.
15930
15931 * testsuite/libgomp.fortran/reduction1.f90: New test.
15932 * testsuite/libgomp.fortran/reduction2.f90: New test.
15933 * testsuite/libgomp.fortran/reduction3.f90: New test.
15934 * testsuite/libgomp.fortran/reduction4.f90: New test.
15935
159362005-10-13 Richard Henderson <rth@redhat.com>
15937
15938 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
15939 * Makefile.in: Regenerate.
15940 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
15941 * libgomp.h: Include bar.h.
15942 (struct gomp_barrier): Remove.
15943 (struct gomp_team): Add barrier. Replace master_barrier with
15944 master_release. Replace threads with ordered_release.
15945 (struct gomp_thread): Replace barrier with release.
15946 * ordered.c (gomp_ordered_first): Update for ordered_release change.
15947 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
15948 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
15949 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
15950 (GOMP_single_copy_end): Likewise.
15951 * team.c (gomp_threads_dock): New.
15952 (gomp_barrier_init, gomp_barrier_destroy): Remove.
15953 (gomp_thread_start): Use gomp_barrier_wait.
15954 (new_team, free_team): Update for gomp_team changes.
15955 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
15956 (gomp_team_end): Use gomp_barrier_wait.
15957 (initialize_team): Update for gomp_thread changes.
15958 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
15959 (gomp_work_share_end_nowait): Use atomic ops when available.
15960 * config/linux/bar.c, config/linux/bar.h: New files.
15961 * config/posix/bar.c, config/posix/bar.h: New files.
15962
159632005-10-13 Jakub Jelinek <jakub@redhat.com>
15964
15965 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
15966 * testsuite/libgomp.dg/single-2.c: New test.
15967
15968 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
15969 lang_link_flags): Unset, so that they aren't inherited from previously
15970 sourced *.exp.
15971
15972 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
15973
159742005-10-12 Richard Henderson <rth@redhat.com>
15975
15976 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
15977 (libgomp_init): Use lang_test_file, lang_library_path, and
15978 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
15979
15980 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
15981 (lang_test_file, lang_link_flags): New.
15982 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
15983
15984 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
15985 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
15986 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
15987 testsuite/libgomp.c++/parallel-1.C,
15988 testsuite/libgomp.c++/reduction-1.C,
15989 testsuite/libgomp.c++/reduction-2.C,
15990 testsuite/libgomp.c++/reduction-3.C,
15991 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
15992 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
15993 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
15994 New files, largely cribbed from the C testsuite.
15995
159962005-10-12 Jakub Jelinek <jakub@redhat.com>
15997
15998 * testsuite/libgomp.fortran/character1.f90: New test.
15999 * testsuite/libgomp.fortran/character2.f90: New test.
16000
16001 * testsuite/libgomp.dg/nested-1.c: New test.
16002 * testsuite/libgomp.dg/nested-2.c: New test.
16003 * testsuite/libgomp.fortran/do1.f90: New test.
16004 * testsuite/libgomp.fortran/do2.f90: New test.
16005
16006 * testsuite/libgomp.fortran/reference1.f90: New test.
16007
160082005-10-11 Jakub Jelinek <jakub@redhat.com>
16009
16010 * testsuite/libgomp.dg/reduction-1.c: New test.
16011 * testsuite/libgomp.dg/reduction-2.c: New test.
16012 * testsuite/libgomp.dg/reduction-3.c: New test.
16013
160142005-10-10 Jakub Jelinek <jakub@redhat.com>
16015
16016 * testsuite/libgomp.dg/atomic-1.c: New test.
16017 * testsuite/libgomp.dg/atomic-2.c: New test.
16018
160192005-10-09 Richard Henderson <rth@redhat.com>
16020
16021 * critical.c (atomic_lock): New.
16022 (initialize_critical): Initialize it.
16023 (GOMP_atomic_start, GOMP_atomic_end): New.
16024 * libgomp.map: Export them.
16025 * libgomp_g.h: Declare them.
16026
16027 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
16028
160292005-10-02 Richard Henderson <rth@redhat.com>
16030
16031 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
16032 to XCFLAGS instead of CFLAGS.
16033
160342005-09-30 Richard Henderson <rth@redhat.com>
16035
16036 * configure.ac: Determine whether -pthread or -lpthread is needed.
16037 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 16038 * Makefile.in, configure: Rebuild.
953ff289
DN
16039
160402005-09-28 Richard Henderson <rth@redhat.com>
16041
16042 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
16043 * testsuite/libgomp.dg/omp-single-3.c: New test.
16044
160452005-09-28 Diego Novillo <dnovillo@redhat.com>
16046
16047 * testsuite/libgomp.dg/omp-single-2.c: New test.
16048 * testsuite/libgomp.dg/shared-2.c: Fix return code.
16049
160502005-09-27 Richard Henderson <rth@redhat.com>
16051
16052 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
16053 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
16054
160552005-09-27 Jakub Jelinek <jakub@redhat.com>
16056
16057 * testsuite/libgomp.dg/omp-loop03.c: New test.
16058
160592005-09-27 Diego Novillo <dnovillo@redhat.com>
16060
16061 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
16062
160632005-09-27 Diego Novillo <dnovillo@redhat.com>
16064
16065 * testsuite/libgomp.dg/omp-single-1.c: New test.
16066 * testsuite/libgomp.dg/shared-1.c: Return 0.
16067 Add prototype for abort.
16068 * testsuite/libgomp.dg/shared-2.c: Likewise.
16069
160702005-09-26 Jakub Jelinek <jakub@redhat.com>
16071
16072 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
16073 constructs.
16074
160752005-09-26 Diego Novillo <dnovillo@redhat.com>
16076
16077 * testsuite/libgomp.dg/shared-1.c: New test.
16078 * testsuite/libgomp.dg/shared-2.c: New test.
16079
160802005-09-24 Richard Henderson <rth@redhat.com>
16081
16082 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
16083
160842005-09-24 Richard Henderson <rth@redhat.com>
16085
16086 * iter.c (gomp_iter_static_next): Round up when computing number
16087 of iterations. Don't bother distributing a remainder equally.
16088
16089 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
16090 Don't call srand. Zero b before testing.
16091 (main): New.
16092
160932005-09-24 Jakub Jelinek <jakub@redhat.com>
16094
16095 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
16096 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
16097
160982005-09-23 Jakub Jelinek <jakub@redhat.com>
16099
16100 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
16101 without !$omp end do, followed immediately by subroutine end.
16102
161032005-09-23 Diego Novillo <dnovillo@redhat.com>
16104
16105 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
16106
161072005-09-22 Richard Henderson <rth@redhat.com>
16108
16109 * critical.c (GOMP_critical_name_start): Change argument to void**.
16110 Reuse the pointer space if the mutex fits.
16111 (GOMP_critical_name_end): Likewise.
16112 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
16113 * libgomp_g.h (GOMP_critical_name_start): Update decl.
16114 (GOMP_critical_name_end): Likewise.
16115 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
16116 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
16117
161182005-09-20 Richard Henderson <rth@redhat.com>
16119
16120 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
16121 (create_lock_lock): New.
16122 (initialize_critical): Initialize it.
16123 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
16124 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
16125
161262005-09-20 Diego Novillo <dnovillo@redhat.com>
16127
16128 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
16129
161302005-09-20 Diego Novillo <dnovillo@redhat.com>
16131
16132 * testsuite/libgomp.dg/omp-loop01.c: New test.
16133 * testsuite/libgomp.dg/omp-loop02.c: New test.
16134
161352005-09-20 Jakub Jelinek <jakub@redhat.com>
16136
16137 * configure.ac (AC_PROG_FC): Add.
16138 (USE_FORTRAN): New automake conditional.
16139 * configure: Rebuilt.
16140 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
16141 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
16142 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
16143 Add rules to build them.
16144 * Makefile.in: Rebuilt.
16145 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
16146 OMP_NEST_LOCK_KIND.
16147 * libgomp.map: Add Fortran wrappers.
16148 * libgomp_f.h.in: New file.
16149 * omp_lib.h.in: New file.
16150 * omp_lib.f90.in: New file.
16151 * fortran.c: New file.
16152 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
16153 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
16154 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
16155 libgfortran has been built.
16156 * testsuite/libgomp.fortran/fortran.exp: New file.
16157 * testsuite/libgomp.fortran/omp_cond1.f: New test.
16158 * testsuite/libgomp.fortran/omp_cond2.f: New test.
16159 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
16160 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
16161 * testsuite/libgomp.fortran/omp_hello.f: New test.
16162 * testsuite/libgomp.fortran/omp_orphan.f: New test.
16163 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
16164 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
16165 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
16166 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
16167 * testsuite/libgomp.fortran/omp_reduction.f: New test.
16168 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
16169 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
16170
161712005-08-30 Richard Henderson <rth@redhat.com>
16172
16173 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
16174 function for when aliases are not usable.
16175 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
16176 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
16177 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
16178 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
16179 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
16180 GOMP_loop_ordered_guided_next): Likewise.
16181 * ordered.c (GOMP_ordered_start): Likewise.
16182
161832005-08-01 Diego Novillo <dnovillo@redhat.com>
16184
16185 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
16186 * testsuite/libgomp.dg/omp_hello.c: Fix return code
16187 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
16188 * testsuite/libgomp.dg/omp_orphan.c: Likewise
16189 * testsuite/libgomp.dg/omp_reduction.c: Likewise
16190 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
16191 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
16192 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
16193 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
16194
161952005-07-07 Eric Christopher <echristo@redhat.com>
16196 Diego Novillo <dnovillo@redhat.com>
16197
16198 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
16199 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
16200 up code.
16201 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
16202 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
16203 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
16204 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
16205 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
16206 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
16207 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
16208
162092005-06-13 Diego Novillo <dnovillo@redhat.com>
16210
16211 * TOPLEVEL.patch: Remove.
16212
162132005-05-16 Richard Henderson <rth@redhat.com>
16214
16215 * configure.ac: Test for clock_gettime.
16216 * config.h.in, configure: Rebuild.
16217 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
16218 (omp_get_wtime): Use clock_gettime if available.
16219 (omp_get_wtick): Use clock_getres if available.
16220
162212005-05-11 Richard Henderson <rth@redhat.com>
16222
16223 * config/linux/ia64/futex.h: New file.
16224 * configure.tgt: Use it.
16225
16226 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
16227
162282005-05-07 Richard Henderson <rth@redhat.com>
16229
16230 * config/linux/powerpc/futex.h: New file.
16231 * configure.tgt: Use it.
16232
16233 * config/linux/i486/futex.h: Merge ...
16234 * config/linux/x86_64/futex.h: ... into ...
16235 * config/linux/x86/futex.h: ... here.
16236 * configure.tgt: Update to match.
16237
162382005-05-06 Richard Henderson <rth@redhat.com>
16239
16240 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
16241 * config/linux/i486/futex.h: Likewise.
16242 * config/linux/x86_64/futex.h: Likewise.
16243
16244 * config/linux/lock.c: New file.
16245 * config/linux/omp-lock.h: New file.
16246
16247 * critical.c, env.h: Don't include omp.h
16248 * config/posix/lock.c: Include libgomp.h instead of omp.h.
16249 * config/posix/time.c: Likewise.
16250 * config/posix/omp-lock.h: New file.
16251 * libgomp.h: Include omp-lock.h and omp.h.
16252 * Makefile.am (nodist_include_HEADERS): New.
16253 (omp.h): New rule.
16254 * configure.ac (PERL): New.
16255 * mkomp_h.pl: New file.
16256 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
16257 with templates.
16258 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
16259
16260 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
16261 build directory. Re-add -march=i486 hack.
16262
16263 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
16264 (libgomp_link_flags): Remove.
16265 (libgomp_initialized): Remove.
16266 (libgomp_init): Don't protect from reinitialization. Copy code
16267 from libstdc++ for getting the multilib set correctly.
16268
162692005-05-05 Richard Henderson <rth@redhat.com>
16270
16271 * config/linux/alpha/futex.h: New file.
16272 * configure.tgt (alpha*-*-linux*): Use it.
16273
16274 * config/posix/mutex.c: New file.
16275 * config/posix/sem.c: Use libgomp.h.
16276
16277 * configure.tgt (x86_64-linux): Also test CC for -m32.
16278 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
16279
a1daed2d 16280 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
16281 after $gccpath.
16282
16283 * Makefile.am (SUBDIRS): New.
16284 (libgomp_la_LDFLAGS): Add -lpthread.
16285 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
16286 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
16287
16288 * libgomp_g.h: New file.
16289 * libgomp.h: Split out all public declarations to libgomp_g.h.
16290 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
16291 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
16292 * config/linux/sem.h: Likewise.
16293 * config/posix/sem.h: Likewise.
16294
16295 * Makefile.am (AM_LDFLAGS): New.
16296 (libgomp_version_script): Split out from ...
16297 (libgomp_la_LDFLAGS): ... here.
16298 (libgomp_version_info): New.
16299 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
16300 (LIBGOMP_ENABLE): New.
16301 (LIBGOMP_CHECK_LINKER_FEATURES): New.
16302 (LIBGOMP_ENABLE_SYMVERS): New.
16303 * configure.ac (AC_INIT): Version 1.0.
16304 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
16305 (enable-linux-futex): Likewise. Rename from enable-futex.
16306 (libtool_VERSION): New.
16307 (LIBGOMP_ENABLE_SYMVERS): Use it.
16308 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
16309 * Makefile.in, aclocal.m4, configure: Rebuild.
16310
16311 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
16312 (gomp_mutex_unlock_slow): Fix typo.
16313 * config/linux/sem.c: Similarly.
16314 (gomp_sem_post_slow): Fix typo.
16315 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
16316 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
16317 [__PIC__] (sys_futex0): Don't use tmp output in asm.
16318
16319 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
16320 (libgomp_la_LDFLAGS): Add top_srcdir to path.
16321 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
16322 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
16323 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
16324 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
16325 LDFLAGS. Pull enable_futex check to top-level.
16326 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
16327 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
16328
16329 First attempt at real configury.
16330 * Makefile, config.h: Remove file.
16331 * Makefile.am, Makefile.in: New file.
16332 * acinclude.m4 aclocal.m4: New file.
16333 * configure.ac, configure.tgt, configure: New file.
16334
16335 * config/posix/lock.c: Rename from sys-lock.c.
16336 * config/posix/mutex.h: Rename from sys-mutex.h.
16337 * config/posix/sem.c: Rename from sys-sem.c.
16338 * config/posix/sem.h: Rename from sys-sem.h.
16339 * config/posix/proc.c: Rename from sys-proc.c.
16340 * config/posix/time.c: Rename from sys-proc.c.
16341
16342 * config/linux/mutex.c: New file.
16343 * config/linux/mutex.h: New file.
16344 * config/linux/sem.c: New file.
16345 * config/linux/sem.h: New file.
16346 * config/linux/i486/futex.h: New file.
16347 * config/linux/x86_64/futex.h: New file.
16348
163492005-05-04 Richard Henderson <rth@redhat.com>
16350
16351 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
16352 * libgomp.h: Declare them.
16353 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
16354 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
16355
163562005-05-04 Richard Henderson <rth@redhat.com>
16357
16358 * libgomp-1 code drop
16359
163602005-05-04 Richard Henderson <rth@redhat.com>
16361
16362 * iter.c (gomp_iter_static_next): Return tri-state on 0.
16363 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
16364 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
16365 (gomp_iter_static_next): Update.
16366 (gomp_ordered_static_next): Update.
16367 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
16368 (gomp_loop_ordered_static_start): Likewise. Exit early for a
16369 totally empty range.
16370 (gomp_loop_ordered_static_next): Refine test for calling
16371 gomp_ordered_static_next.
16372 * testsuite/ordered-1.c: Add case for more threads than iterations.
16373
16374 * iter.c (gomp_iter_runtime_next_locked): Remove.
16375 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 16376 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
16377 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
16378 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
16379 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
16380 gomp_loop_ordered_guided_next): Downcase name, make static, add
16381 an external alias with the old name.
16382 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
16383 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
16384 switch and call one of the above static functions.
16385 * libgomp.h: Update.
16386
16387 * work.c (gomp_work_share_start): Lock the mutex for !first too.
16388 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
16389 GOMP_loop_guided_start, GOMP_loop_runtime_start,
16390 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
16391 GOMP_loop_ordered_guided_start): Update to match.
16392 * sections.c (GOMP_sections_start): Likewise.
16393 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
16394
16395 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16396 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
16397 Use bounds check instead of modulus.
16398 (gomp_ordered_sync): Split out of GOMP_ordered_start.
16399 (gomp_ordered_last): Don't sync with ordered_owner here.
16400 (gomp_ordered_next): Likewise.
16401 (gomp_ordered_static_loop_next): Likewise.
16402 * loop.c, libgomp.h: Update to match.
16403
16404 * libgomp.h (GOMP_barrier): Declare.
16405
16406 * testsuite/barrier-1.c: New file.
16407 * testsuite/critical-1.c: New file.
16408 * testsuite/ordered-2.c: New file.
16409 * testsuite/ordered-1.c: New file.
16410 * testsuite/sections-1.c: New file.
16411 * testsuite/single-1.c: New file.
16412 * testsuite/Makefile (TESTS): Add them.
16413
164142005-05-04 Richard Henderson <rth@redhat.com>
16415
16416 * libgomp.h (struct gomp_work_share): Add ordered_owner.
16417 * loop.c (GOMP_loop_static_start): If not the startup thread,
16418 acquire the mutex to wait for initialization complete.
16419 (GOMP_loop_ordered_static_start): Likewise.
16420 (GOMP_loop_ordered_runtime_start): Likewise.
16421 (GOMP_loop_ordered_static_first): Remove.
16422 (GOMP_loop_ordered_dynamic_first): Remove.
16423 (GOMP_loop_ordered_guided_first): Remove.
16424 (GOMP_loop_ordered_runtime_first): Remove.
16425 * ordered.c (gomp_ordered_loop_first): Post to own release when
16426 we're the first thread.
16427 (gomp_ordered_loop_last): Wait on release if not owner.
16428 (gomp_ordered_loop_next): Likewise.
16429 (gomp_ordered_static_loop_init): New.
16430 (gomp_ordered_static_loop_next): Use ordered_owner.
16431 (GOMP_ordered_start): Likewise.
16432 * work.c (gomp_new_work_share): Initialize ordered_owner.
16433
164342005-05-03 Richard Henderson <rth@redhat.com>
16435
16436 * Makefile (OPT): New.
16437 (CFLAGS): Use it.
16438
16439 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
16440 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
16441 * libgomp.h, libgomp.map, NOTES: Update to match.
16442
16443 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
16444 Add initialized and thr members.
16445 (gomp_thread_start): Pause when initially spawned to wait for
16446 the whole team to be created.
16447 (gomp_team_start): Release team members at the end.
16448
16449 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
16450 (f_foo_1): Use GOMP_loop_end.
16451 (f_foo_2): Use GOMP_loop_end_nowait.
16452
16453 * testsuite/loop-2.c: New file.
16454 * testsuite/Makefile (TESTS): Add it.
16455
164562005-05-03 Richard Henderson <rth@redhat.com>
16457
16458 * iter.c (gomp_iter_static_next): Fix overflow check typo.
16459 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
16460 * team.c (new_team): Initialize oldest_live_gen to 1 if no
16461 initial work_share.
16462
16463 * testsuite/Makefile: New file.
16464 * testsuite/loop-1.c: New file.
16465
164662005-05-03 Richard Henderson <rth@redhat.com>
16467
16468 Initial implementation and checkin.
21fa2a29 16469\f
c48514be 16470Copyright (C) 2005-2021 Free Software Foundation, Inc.
21fa2a29
JJ
16471
16472Copying and distribution of this file, with or without modification,
16473are permitted in any medium without royalty provided the copyright
16474notice and this notice are preserved.