]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
ad3f0d08
GA
12022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
2
3 * testsuite/libgomp.fortran/allocate-1.c: New test.
4 * testsuite/libgomp.fortran/allocate-1.f90: New test.
5 * libgomp.texi: Remove string that says that allocate clause
6 support is for C/C++ only.
7
82022-01-13 Thomas Schwinge <thomas@codesourcery.com>
9
10 * testsuite/libgomp.c-c++-common/on_device_arch.h
11 (any_device_arch, any_device_arch_intel_mic): New.
12 * testsuite/lib/libgomp.exp
13 (check_effective_target_offload_device_any_intel_mic): New.
14 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
15 * testsuite/libgomp.fortran/target10.f90: Likewise.
16
172022-01-13 Thomas Schwinge <thomas@codesourcery.com>
18
19 PR tree-optimization/102192
20 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
21 '-Wuninitialized' diagnostics.
22
232022-01-13 Thomas Schwinge <thomas@codesourcery.com>
24
25 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
26 current '-Wuninitialized' diagnostics.
27 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
28 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
29 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
30 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
31 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
32 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
33 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
34 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
35 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
36 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
37 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
38 Likewise.
39
402022-01-13 Thomas Schwinge <thomas@codesourcery.com>
41
42 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
43 for 'offload_device_intel_mic'.
44
452022-01-13 Julian Brown <julian@codesourcery.com>
46 Thomas Schwinge <thomas@codesourcery.com>
47
48 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
49 offloading execution XFAIL.
50
512022-01-13 Thomas Schwinge <thomas@codesourcery.com>
52
53 PR middle-end/100280
54 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
55 Update.
56 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
57 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
58 Likewise.
59
602022-01-13 Thomas Schwinge <thomas@codesourcery.com>
61
62 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
63 Enhance.
64 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
65 Likewise.
66 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
67 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
68 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
69 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
70 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
71 Likewise.
72 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
73 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
74 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
75 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
76
7d11b64b
GA
772022-01-04 Tobias Burnus <tobias@codesourcery.com>
78
79 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
80 * testsuite/libgomp.fortran/target10.f90: Likewise.
81
822022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
83
84 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
85 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
86 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
87
a4ae8c37
GA
882022-01-03 Jakub Jelinek <jakub@redhat.com>
89
90 * libgomp.texi: Bump @copying's copyright year.
91
7f1239cb
GA
922021-12-13 Tobias Burnus <tobias@codesourcery.com>
93
94 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
95 * testsuite/libgomp.fortran/atomic-19.f90: New test.
96
0bceef16
GA
972021-12-10 Andrew Stubbs <ams@codesourcery.com>
98
99 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
100 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
101 table, not individual symbols.
102
4b4839e3
GA
1032021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
104
105 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
106 "target offload_device_nonshared_as"
107 * testsuite/libgomp.c++/target-this-3.C: Likewise.
108 * testsuite/libgomp.c++/target-this-4.C: Likewise.
109
641ff219
GA
1102021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
111
112 * target.c (gomp_map_vars_existing): Make sure attached pointer is
113 not overwritten during cross-host/device copying.
114 (gomp_update): Likewise.
115 (gomp_exit_data): Likewise.
116 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
117 * testsuite/libgomp.c++/target-12.C: Likewise.
118 * testsuite/libgomp.c++/target-15.C: Likewise.
119 * testsuite/libgomp.c++/target-16.C: Likewise.
120 * testsuite/libgomp.c++/target-17.C: Likewise.
121 * testsuite/libgomp.c++/target-21.C: Likewise.
122 * testsuite/libgomp.c++/target-23.C: Likewise.
123 * testsuite/libgomp.c/target-23.c: Likewise.
124 * testsuite/libgomp.c/target-29.c: Likewise.
125 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
126
1272021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
128
129 PR middle-end/92120
130 * libgomp.h (gomp_attach_pointer): Add bool parameter.
131 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
132 (goacc_enter_data_internal): Likewise.
133 * target.c (gomp_map_vars_existing): Update assert condition to
134 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
135 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
136 parameter, add support for mapping a pointer with NULL target.
137 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
138 parameter, add support for attaching a pointer with NULL target.
139 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
140 gomp_attach_pointer, add handling for
141 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
142 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
143 * testsuite/libgomp.c++/target-23.C: New testcase.
144 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
145 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
146 * testsuite/libgomp.c++/target-this-1.C: New testcase.
147 * testsuite/libgomp.c++/target-this-2.C: New testcase.
148 * testsuite/libgomp.c++/target-this-3.C: New testcase.
149 * testsuite/libgomp.c++/target-this-4.C: New testcase.
150 * testsuite/libgomp.c++/target-this-5.C: New testcase.
151
70e4cb66
GA
1522021-12-04 Tobias Burnus <tobias@codesourcery.com>
153
154 * libgomp.texi (OpenMP 5.1): Update status.
155
1562021-12-04 Tobias Burnus <tobias@codesourcery.com>
157
158 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
159
ea6ef320
GA
1602021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
161
162 PR fortran/90030
163 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
164 * testsuite/libgomp.fortran/pr90030.f90: New test.
165
c177e806
GA
1662021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
167 Thomas Schwinge <thomas@codesourcery.com>
168
169 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
170 temporary skip.
171
1722021-11-30 Cesar Philippidis <cesar@codesourcery.com>
173 Thomas Schwinge <thomas@codesourcery.com>
174
175 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
176 skip.
177
87cd82c8
GA
1782021-11-29 Richard Biener <rguenther@suse.de>
179
180 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
181 return.
182
d9ca4b45
GA
1832021-11-24 Jakub Jelinek <jakub@redhat.com>
184
185 PR middle-end/103384
186 * testsuite/libgomp.c/declare-variant-2.c: New test.
187
483092d3
GA
1882021-11-18 David Edelsohn <dje.gcc@gmail.com>
189
190 * alloc.c (gomp_aligned_alloc): Fix typo.
191
1922021-11-18 Jakub Jelinek <jakub@redhat.com>
193
194 PR libgomp/102838
195 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
196 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
197 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
198 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
199 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
200 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
201 gomp_aligned_alloc instead of team_malloc.
202
2032021-11-18 Jakub Jelinek <jakub@redhat.com>
204
205 PR libgomp/102838
206 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
207 memalign over posix_memalign over aligned_alloc over fallback
208 with malloc instead of aligned_alloc over _aligned_alloc over
209 posix_memalign over memalign over fallback with malloc. For
210 aligned_alloc, round up size up to multiple of al.
211
6b1695f4
GA
2122021-11-16 Jakub Jelinek <jakub@redhat.com>
213
214 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
215 construct as implemented.
216
e2b57363
GA
2172021-11-15 Tobias Burnus <tobias@codesourcery.com>
218
219 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
220
2212021-11-15 Jakub Jelinek <jakub@redhat.com>
222
223 * task.c (gomp_create_target_task): Copy args array as well.
224 * target.c (gomp_target_fallback): Add args argument.
225 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
226 (GOMP_target): Adjust gomp_target_fallback caller.
227 (GOMP_target_ext): Likewise.
228 (gomp_target_task_fn): Likewise.
229 * config/nvptx/team.c (gomp_nvptx_main): Set
230 gomp_global_icv.thread_limit_var.
231 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
232
2332021-11-15 Jakub Jelinek <jakub@redhat.com>
234
235 * config/nvptx/team.c (__gomp_team_num): Define as
236 __attribute__((shared)) var.
237 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
238 * config/nvptx/target.c (__gomp_team_num): Declare as
239 extern __attribute__((shared)) var.
240 (GOMP_teams4): Use __gomp_team_num as the team number instead of
241 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
242 is bigger than num_blocks, use num_teams_lower teams and arrange for
243 bumping of __gomp_team_num if !first and returning false once we run
244 out of teams.
245 * config/nvptx/teams.c (__gomp_team_num): Declare as
246 extern __attribute__((shared)) var.
247 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
248
2492021-11-15 Jakub Jelinek <jakub@redhat.com>
250
251 * testsuite/libgomp.c/teams-5.c: New test.
252
af2852b9
GA
2532021-11-12 Jakub Jelinek <jakub@redhat.com>
254
255 PR target/103201
256 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
257 to ...
258 * config/gcn/teams.c: ... here. New file.
259
2602021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
261
262 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
263 implicit map handling to allow a "superset" existing map as valid case.
264 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
265 (get_implicit): New function to extract implicit status.
266 (gomp_map_fields_existing): Adjust arguments in calls to
267 gomp_map_vars_existing, and add uses of get_implicit.
268 (gomp_map_vars_internal): Likewise.
269 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
270
2712021-11-12 Jakub Jelinek <jakub@redhat.com>
272
273 * libgomp_g.h (GOMP_teams4): Declare.
274 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
275 * target.c (GOMP_teams4): New function.
276 * config/nvptx/target.c (GOMP_teams): Remove.
277 (GOMP_teams4): New function.
278 * config/gcn/target.c (GOMP_teams): Remove.
279 (GOMP_teams4): New function.
280 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
281 teams instead of <= 2.
282 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
283
b39265d4
GA
2842021-11-11 Tobias Burnus <tobias@codesourcery.com>
285
286 * testsuite/libgomp.fortran/teams-1.f90: New test.
287
2882021-11-11 Jakub Jelinek <jakub@redhat.com>
289
290 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
291 * team.c (struct gomp_thread_start_data): Likewise.
292 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
293 (gomp_team_start): Initialize start_data->num_teams and
294 start_data->team_num. Update nthr->num_teams and nthr->team_num.
295 * teams.c (gomp_num_teams, gomp_team_num): Remove.
296 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
297 instead of gomp_num_teams and gomp_team_num.
298 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
299 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
300 * testsuite/libgomp.c/teams-4.c: New test.
301
3022021-11-11 Jakub Jelinek <jakub@redhat.com>
303
304 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
305
c9b1334e
GA
3062021-11-09 Thomas Schwinge <thomas@codesourcery.com>
307
308 * env.c (parse_gomp_openacc_dim): Restore parsing.
309
0ef94462
GA
3102021-10-30 Tobias Burnus <tobias@codesourcery.com>
311
312 PR middle-end/102972
313 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
314 parallel construct.
315 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
316 * testsuite/libgomp.c/target-3.c: Likewise.
317 * testsuite/libgomp.c/target-5.c: Likewise.
318 * testsuite/libgomp.c/target-6.c: Likewise.
319 * testsuite/libgomp.c/target-teams-1.c: Likewise.
320 * testsuite/libgomp.c/teams-1.c: Likewise.
321 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
322 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
323 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
324 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
325 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
326 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
327 * testsuite/libgomp.fortran/teams1.f90: Likewise.
328
4c61300f
GA
3292021-10-29 Aldy Hernandez <aldyh@redhat.com>
330
331 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
332 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
333
04a2cf3f
GA
3342021-10-27 Jakub Jelinek <jakub@redhat.com>
335
336 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
337 aren't implemented for Fortran yet.
338
3392021-10-27 Jakub Jelinek <jakub@redhat.com>
340
341 * testsuite/libgomp.c/loop-26.c: New test.
342 * testsuite/libgomp.c/loop-27.c: New test.
343
b621508d
GA
3442021-10-25 Tobias Burnus <tobias@codesourcery.com>
345
346 PR testsuite/102910
347 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
348 instead of #include <alloca.h> + alloca.
349
ae5c5406
GA
3502021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
351
352 * libgomp.texi (Support of strictly structured blocks in Fortran):
353 Adjust to 'Y'.
354 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
355
674dda6b
GA
3562021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
357
358 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
359 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
360
3612021-10-20 Jakub Jelinek <jakub@redhat.com>
362
363 PR libgomp/102838
364 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
365 (struct gomp_work_share): Only use aligned(64) attribute if
366 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
367 add padding before lock to ensure lock is at offset 64 bytes
368 into the structure.
369 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
370 New poor man's static assertions.
371 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
372 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
373
3742021-10-20 Aldy Hernandez <aldyh@redhat.com>
375 Richard Biener <rguenther@suse.de>
376
377 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
378
ce4d1f63
GA
3792021-10-18 Jakub Jelinek <jakub@redhat.com>
380
381 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
382 && gomp_places_list_len < count after nfirst <= nlast loop condition.
383
3842021-10-18 Tobias Burnus <tobias@codesourcery.com>
385
386 PR fortran/102086
387 PR fortran/92189
388 PR fortran/92621
389 PR fortran/101308
390 PR fortran/101309
391 PR fortran/101635
392 PR fortran/92482
393 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
394
93d183a5
GA
3952021-10-15 Jakub Jelinek <jakub@redhat.com>
396
397 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
398 type from char [50] to const char *.
399 (places_array): Add a testcase for simplified syntax place followed
400 by length or length and stride.
401
4022021-10-15 Jakub Jelinek <jakub@redhat.com>
403
404 * env.c (parse_one_place): Handle non-negative-number the same
405 as { non-negative-number }. Reject even !number:1 and
406 !number:1:stride or !place:1 or !place:1:stride instead of just
407 length other than 1.
408 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
409 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
410 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
411 as implemented.
412 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
413 simplified syntax.
414
4152021-10-15 Jakub Jelinek <jakub@redhat.com>
416
417 * env.c (parse_schedule): For strtoul or strtoull calls which don't
418 clearly reject return value 0 as invalid handle the case where end
419 pointer is the same as first argument as invalid.
420 (parse_unsigned_long_1): Likewise.
421 (parse_one_place): Likewise.
422 (parse_places_var): Likewise.
423 (parse_stacksize): Likewise.
424 (parse_spincount): Likewise.
425 (parse_affinity): Likewise.
426 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
427 Make code valid C89.
428 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
429 For strtoul calls which don't clearly reject return value 0 as
430 invalid handle the case where end pointer is the same as first
431 argument as invalid.
432 (gomp_affinity_init_level_1): Likewise.
433 (gomp_affinity_init_numa_domains): Likewise.
434 * config/rtems/proc.c (parse_thread_pools): Likewise.
435
4362021-10-15 Jakub Jelinek <jakub@redhat.com>
437
438 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
439 after creating count places clean up and return immediately.
440 * testsuite/libgomp.c/places-6.c: New test.
441 * testsuite/libgomp.c/places-7.c: New test.
442 * testsuite/libgomp.c/places-8.c: New test.
443 * testsuite/libgomp.c/places-9.c: New test.
444 * testsuite/libgomp.c/places-10.c: New test.
445
4462021-10-15 Jakub Jelinek <jakub@redhat.com>
447
448 * env.c (parse_places_var): Handle numa_domains as level 5.
449 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
450 function.
451 (gomp_affinity_init_level): Use it instead of
452 gomp_affinity_init_level_1 for level == 5.
453 * testsuite/libgomp.c/places-5.c: New test.
454
4552021-10-15 Jakub Jelinek <jakub@redhat.com>
456
457 * env.c (parse_places_var): Handle ll_caches as level 4.
458 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
459 function.
460 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
461 last level cache.
462 (gomp_affinity_init_level): Likewise.
463 * testsuite/libgomp.c/places-1.c: New test.
464 * testsuite/libgomp.c/places-2.c: New test.
465 * testsuite/libgomp.c/places-3.c: New test.
466 * testsuite/libgomp.c/places-4.c: New test.
467
5d5885c9
GA
4682021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
469
470 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
471 directive.
472
4732021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
474
475 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
476
52055987
GA
4772021-10-12 Julian Brown <julian@codesourcery.com>
478
479 * target.c (gomp_copy_host2dev): Release device lock on cbuf
480 error path.
481
4822021-10-12 Tobias Burnus <tobias@codesourcery.com>
483
484 * testsuite/libgomp.fortran/icv-3.f90: New.
485 * testsuite/libgomp.fortran/icv-4.f90: New.
486
4872021-10-12 Jakub Jelinek <jakub@redhat.com>
488
489 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
490 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
491 OMP_TEAMS_THREAD_LIMIT): Document.
492
4932021-10-12 Jakub Jelinek <jakub@redhat.com>
494
495 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
496 to avoid makeinfo warnings.
497
4982021-10-12 Jakub Jelinek <jakub@redhat.com>
499
500 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
501 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
502
5032021-10-12 Jakub Jelinek <jakub@redhat.com>
504
505 PR libgomp/102628
506 PR libgomp/102668
507 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
508 allocation sizes from 420 to 320 and from 768 to 568.
509 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
510 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
511 for cr from 16 to 4.
512
5132021-10-12 Jakub Jelinek <jakub@redhat.com>
514
515 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
516 * testsuite/libgomp.c/scan-12.c: Likewise.
517 * testsuite/libgomp.c/scan-13.c: Likewise.
518 * testsuite/libgomp.c/scan-14.c: Likewise.
519 * testsuite/libgomp.c/scan-15.c: Likewise.
520 * testsuite/libgomp.c/scan-16.c: Likewise.
521 * testsuite/libgomp.c/scan-17.c: Likewise.
522 * testsuite/libgomp.c/scan-18.c: Likewise.
523 * testsuite/libgomp.c/scan-19.c: Likewise.
524 * testsuite/libgomp.c/scan-20.c: Likewise.
525 * testsuite/libgomp.c/scan-21.c: Likewise.
526 * testsuite/libgomp.c/scan-22.c: Likewise.
527 * testsuite/libgomp.c++/scan-9.C: Likewise.
528 * testsuite/libgomp.c++/scan-10.C: Likewise.
529 * testsuite/libgomp.c++/scan-11.C: Likewise.
530 * testsuite/libgomp.c++/scan-12.C: Likewise.
531 * testsuite/libgomp.c++/scan-13.C: Likewise.
532 * testsuite/libgomp.c++/scan-14.C: Likewise.
533 * testsuite/libgomp.c++/scan-15.C: Likewise.
534 * testsuite/libgomp.c++/scan-16.C: Likewise.
535
5362021-10-12 Kewen Lin <linkw@linux.ibm.com>
537
538 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
539
732d7638
GA
5402021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
541
542 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
543 omp_atv_serialized.
544 * omp.h.in: Add deprecated flag for omp_atv_sequential.
545 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
546 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
547 * testsuite/libgomp.fortran/alloc-12.f90: New test.
548
5492021-10-11 Jakub Jelinek <jakub@redhat.com>
550
551 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
552 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
553 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
554 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
555 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
556 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
557 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
558 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
559 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
560 omp_set_teams_thread_limit{,_,_8_}.
561 * icv.c (omp_set_num_teams, omp_get_max_teams,
562 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
563 functions.
564 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
565 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
566 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
567 vars.
568 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
569 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
570 is not specified, use gomp_nteams_var.
571 * fortran.c (omp_set_num_teams, omp_get_max_teams,
572 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
573 ialias_redirect.
574 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
575 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
576 omp_get_teams_thread_limit_): New functions.
577
c9db17b8
GA
5782021-10-09 liuhongt <hongtao.liu@intel.com>
579
580 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
581 * testsuite/libgomp.c++/scan-11.C: Ditto.
582 * testsuite/libgomp.c++/scan-12.C: Ditto.
583 * testsuite/libgomp.c++/scan-13.C: Ditto.
584 * testsuite/libgomp.c++/scan-14.C: Ditto.
585 * testsuite/libgomp.c++/scan-15.C: Ditto.
586 * testsuite/libgomp.c++/scan-16.C: Ditto.
587 * testsuite/libgomp.c++/scan-9.C: Ditto.
588 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
589 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
590 * testsuite/libgomp.c/scan-11.c: Ditto.
591 * testsuite/libgomp.c/scan-12.c: Ditto.
592 * testsuite/libgomp.c/scan-13.c: Ditto.
593 * testsuite/libgomp.c/scan-14.c: Ditto.
594 * testsuite/libgomp.c/scan-15.c: Ditto.
595 * testsuite/libgomp.c/scan-16.c: Ditto.
596 * testsuite/libgomp.c/scan-17.c: Ditto.
597 * testsuite/libgomp.c/scan-18.c: Ditto.
598 * testsuite/libgomp.c/scan-19.c: Ditto.
599 * testsuite/libgomp.c/scan-20.c: Ditto.
600 * testsuite/libgomp.c/scan-21.c: Ditto.
601 * testsuite/libgomp.c/scan-22.c: Ditto.
602
6032021-10-09 Jakub Jelinek <jakub@redhat.com>
604
605 * libgomp.texi (OpenMP 5.1): Mention implemented support for
606 structured block sequences in C/C++. Mention support for
607 unconstrained/reproducible modifiers on order clause.
608 Mention partial (C/C++ only) support of extentensions to atomics
609 construct. Mention partial (C/C++ on clause only) support of
610 align/allocator modifiers on allocate clause.
611
e3e07b89
GA
6122021-10-02 Tobias Burnus <tobias@codesourcery.com>
613
614 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
615 based on libgomp.c-c++-common/order-reproducible-1.c.
616 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
617 * testsuite/libgomp.fortran/my-usleep.c: New test.
618
9d116bcc
GA
6192021-10-01 Tobias Burnus <tobias@codesourcery.com>
620
621 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
622 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
623 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
624 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
625 based on libgomp.c-c++-common/alloc-9.c.
626
6272021-10-01 Jakub Jelinek <jakub@redhat.com>
628
629 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
630 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
631
6322021-10-01 Jakub Jelinek <jakub@redhat.com>
633
634 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
635 ialias_redirect.
636 * env.c (handle_omp_display_env): Use ialias_call.
637 * icv-device.c: Move ialias right below each function.
638 (omp_get_device_num): Use ialias_call.
639 * fortran.c (omp_fulfill_event): Add ialias_redirect.
640 * icv.c (omp_get_active_level): Add ialias_redirect.
641
6422021-10-01 Jakub Jelinek <jakub@redhat.com>
643
644 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
645 __alloc_align__ (1) attribute.
646 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
647
24679983
GA
6482021-09-30 Tobias Burnus <tobias@codesourcery.com>
649
650 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
651 for -fintrinsic-modules-path= warning of the C compiler.
652 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
653 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
654
6552021-09-30 Tobias Burnus <tobias@codesourcery.com>
656
657 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
658 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
659 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
660 omp_realloc): Add.
661 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
662 omp_realloc): Add.
663 * testsuite/libgomp.fortran/alloc-10.f90: New test.
664 * testsuite/libgomp.fortran/alloc-6.f90: New test.
665 * testsuite/libgomp.fortran/alloc-7.c: New test.
666 * testsuite/libgomp.fortran/alloc-7.f90: New test.
667 * testsuite/libgomp.fortran/alloc-8.f90: New test.
668 * testsuite/libgomp.fortran/alloc-9.f90: New test.
669
6702021-09-30 Jakub Jelinek <jakub@redhat.com>
671
672 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
673 omp_realloc): New prototypes.
674 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
675 attribute.
676 * allocator.c: Include string.h.
677 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
678 variable and use it instead of alignment so that when retrying the old
679 alignment is used again. Don't retry if new alignment is the same
680 as old alignment, unless allocator had pool size.
681 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
682 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
683 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
684 omp_aligned_calloc and omp_realloc.
685 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
686 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
687 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
688 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
689 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
690 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
691
fd133479
GA
6922021-09-28 Tobias Burnus <tobias@codesourcery.com>
693
694 PR libgomp/96661
695 * configure.ac: Only check for int-type = 2*size_t support when
696 building with Fortran support.
697 * configure: Regenerate.
698
6992021-09-28 Thomas Schwinge <thomas@codesourcery.com>
700
701 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
702 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
703
cf966403
GA
7042021-09-27 Aldy Hernandez <aldyh@redhat.com>
705
706 * team.c: Initialize start_data.
707 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
708 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
709
7102021-09-27 Tobias Burnus <tobias@codesourcery.com>
711
712 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
713 dg-message back to dg-note.
714
7152021-09-27 Tobias Burnus <tobias@codesourcery.com>
716
717 PR fortran/94070
718 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
719 expected dg-note output.
720
e4777439
GA
7212021-09-22 Tobias Burnus <tobias@codesourcery.com>
722
723 PR fortran/55534
724 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
725 r12-3722 by removing -Wno-missing-include-dirs.
726 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
727
7282021-09-22 Jakub Jelinek <jakub@redhat.com>
729
730 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
731 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
732
2c41dd82
GA
7332021-09-21 Tobias Burnus <tobias@codesourcery.com>
734
735 PR fortran/55534
736 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
737 to ALWAYS_CFLAGS.
738 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
739
cf74e7b5
GA
7402021-09-18 Jakub Jelinek <jakub@redhat.com>
741
742 * testsuite/libgomp.c++/default-1.C: New test.
743 * testsuite/libgomp.c-c++-common/default-1.c: New test.
744 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
745 to default clause in C and C++" as implemented.
746
0a4cb439
GA
7472021-09-17 Julian Brown <julian@codesourcery.com>
748
749 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
750
7512021-09-17 Julian Brown <julian@codesourcery.com>
752
753 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
754
7552021-09-17 Jakub Jelinek <jakub@redhat.com>
756
757 * libgomp.texi (OpenMP 5.1): Spelling fix,
758 declare variante -> declare variant.
759
7602021-09-17 Jakub Jelinek <jakub@redhat.com>
761
762 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
763 Use /* */ comments instead of //.
764 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
765 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
766 * testsuite/libgomp.c++/atomic-16.C: New test.
767 * testsuite/libgomp.c++/atomic-17.C: New test.
768
a26206ec
GA
7692021-09-10 Jakub Jelinek <jakub@redhat.com>
770
771 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
772 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
773 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
774
b2748138
GA
7752021-09-07 Tobias Burnus <tobias@codesourcery.com>
776
777 * libgomp.texi (OpenMP Implementation Status): Extend
778 OpenMP 5.0 section.
779 (OpenACC Profiling Interface): Fix typo.
780
7812021-09-07 Tobias Burnus <tobias@codesourcery.com>
782
783 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
784 not to 4.5; link to new section.
785 (OpenMP Implementation Status): New.
786
9f99555f
GA
7872021-09-06 Thomas Schwinge <thomas@codesourcery.com>
788
789 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
790
7b739540
GA
7912021-09-03 Tobias Burnus <tobias@codesourcery.com>
792
793 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
794 dg-output.
795 * testsuite/libgomp.fortran/error-1.f90: Likewise.
796
38b19c5b
GA
7972021-08-23 Thomas Schwinge <thomas@codesourcery.com>
798 Jakub Jelinek <jakub@redhat.com>
799
800 * testsuite/libgomp.c/address-space-1.c: New file.
801
8022021-08-23 Thomas Schwinge <thomas@codesourcery.com>
803
804 * testsuite/lib/libgomp.exp
805 (check_effective_target_offload_target_intelmic): Remove 'proc'.
806 (check_effective_target_offload_device_intel_mic): New 'proc'.
807 * testsuite/libgomp.c-c++-common/on_device_arch.h
808 (device_arch_intel_mic, on_device_arch_intel_mic): New.
809 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
810 'dg-xfail-run-if'.
811 * testsuite/libgomp.fortran/target10.f90: Likewise.
812
8132021-08-23 Tobias Burnus <tobias@codesourcery.com>
814
815 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
816 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
817 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
818 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
819
8202021-08-23 Jakub Jelinek <jakub@redhat.com>
821
822 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
823 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
824 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
825
5b2876f9
GA
8262021-08-22 Thomas Schwinge <thomas@codesourcery.com>
827
828 * config/nvptx/error.c (fwrite, exit): Override, too.
829 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
830 of offloading testing.
831 * testsuite/libgomp.fortran/error-1.f90: Likewise.
832
7c9e1645
GA
8332021-08-20 Tobias Burnus <tobias@codesourcery.com>
834
835 * testsuite/libgomp.fortran/error-1.f90: New test.
836
8372021-08-20 Jakub Jelinek <jakub@redhat.com>
838
839 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
840 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
841 * error.c (GOMP_warning, GOMP_error): New functions.
842 * testsuite/libgomp.c-c++-common/error-1.c: New test.
843
6e529985
GA
8442021-08-18 Tobias Burnus <tobias@codesourcery.com>
845
846 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
847 omp_target_free. omp_target_is_present, omp_target_memcpy,
848 omp_target_memcpy_rect, omp_target_associate_ptr,
849 omp_target_disassociate_ptr): Add interface.
850 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
851 omp_target_free. omp_target_is_present, omp_target_memcpy,
852 omp_target_memcpy_rect, omp_target_associate_ptr,
853 omp_target_disassociate_ptr): Add interface.
854 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
855 interface block for omp_alloc + omp_free.
856 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
857 * testsuite/libgomp.fortran/refcount-1.f90: New test.
858 * testsuite/libgomp.fortran/target-12.f90: New test.
859
8602021-08-18 Jakub Jelinek <jakub@redhat.com>
861
862 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
863
2d14d64b
GA
8642021-08-17 Tobias Burnus <tobias@codesourcery.com>
865
866 * testsuite/libgomp.fortran/scope-1.f90: New test.
867 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
868
8692021-08-17 Jakub Jelinek <jakub@redhat.com>
870
871 * Makefile.am (libgomp_la_SOURCES): Add scope.c
872 * Makefile.in: Regenerated.
873 * libgomp_g.h (GOMP_scope_start): Declare.
874 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
875 * scope.c: New file.
876 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
877 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
878
9d1d9fc8
GA
8792021-08-16 Thomas Schwinge <thomas@codesourcery.com>
880
881 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
882 '?:' issues.
883
8842021-08-16 Tobias Burnus <tobias@codesourcery.com>
885
886 * testsuite/libgomp.fortran/masked-1.f90: New test.
887
261512fa
GA
8882021-08-13 Thomas Schwinge <thomas@codesourcery.com>
889
890 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
891
72be20e2
GA
8922021-08-12 Jakub Jelinek <jakub@redhat.com>
893
894 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
895
8962021-08-12 Tobias Burnus <tobias@codesourcery.com>
897
898 * env.c (parse_bind_var): Accept 'primary' as alias for
899 'master'.
900 (omp_display_env): Add TODO comment to
901 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
902 * libgomp.texi: Change 'master thread' to 'primary thread'
903 in line with OpenMP 5.1.
904 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
905 omp_proc_bind_master is an alias of it.
906 (OMP_PROC_BIND): Mention 'PRIMARY'.
907 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
908 (omp_proc_bind_primary): Add.
909 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
910 * omp_lib.f90.in (omp_proc_bind_primary): Add.
911 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
912 * omp_lib.h.in (omp_proc_bind_primary): Add.
913 * testsuite/libgomp.c/affinity-1.c: Check that
914 'primary' works and is identical to 'master'.
915
37768150
GA
9162021-08-09 Julian Brown <julian@codesourcery.com>
917 Kwok Cheung Yeung <kcy@codesourcery.com>
918 Thomas Schwinge <thomas@codesourcery.com>
919
920 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
921 16.
922 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
923 [acc_device_radeon]: Update.
924 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
925 [ACC_DEVICE_TYPE_radeon]: Likewise.
926 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
927 [acc_device_radeon]: Likewise.
928 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
929 [ACC_DEVICE_TYPE_radeon]: Likewise.
930 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
931 'openacc_radeon_accel_selected' and '-O0'.
932 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
933
8ebf4fb5
GA
9342021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
935
936 * icv-device.c (omp_get_device_num): New API function, host side.
937 * fortran.c (omp_get_device_num_): New interface function.
938 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
939 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
940 omp_get_device_num_.
941 * libgomp.texi (omp_get_device_num): Add documentation for new API
942 function.
943 * omp.h.in (omp_get_device_num): Add declaration.
944 * omp_lib.f90.in (omp_get_device_num): Likewise.
945 * omp_lib.h.in (omp_get_device_num): Likewise.
946 * target.c (gomp_load_image_to_device): If additional entry for device
947 number exists at end of returned entries from 'load_image_func' hook,
948 copy the assigned device number over to the device variable.
949 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
950 (omp_get_device_num): New API function, device side.
951 * plugin/plugin-gcn.c ("symcat.h"): Add include.
952 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
953 at end of returned 'target_table' entries.
954 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
955 (omp_get_device_num): New API function, device side.
956 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
957 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
958 at end of returned 'target_table' entries.
959 * testsuite/lib/libgomp.exp
960 (check_effective_target_offload_target_intelmic): New function for
961 testing for intelmic offloading.
962 * testsuite/libgomp.c-c++-common/target-45.c: New test.
963 * testsuite/libgomp.fortran/target10.f90: New test.
964
4d17ca1b
GA
9652021-07-30 Thomas Schwinge <thomas@codesourcery.com>
966 Ulrich Drepper <drepper@redhat.com>
967
968 * fortran.c (omp_display_env_, omp_display_env_8_): Only
969 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
970
9712021-07-29 Thomas Schwinge <thomas@codesourcery.com>
972 Julian Brown <julian@codesourcery.com>
973 Kwok Cheung Yeung <kcy@codesourcery.com>
974
975 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
976 's%oaccdevlow%oaccloops%g'.
977 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
978 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
979 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
980 Likewise.
981 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
982 Likewise.
983 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
984 Likewise.
985 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
986 Likewise.
987 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
988 Likewise.
989 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
990 Likewise.
991 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
992 Likewise.
993 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
994 Likewise.
995 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
996
872c1a56
ML
9972021-07-29 Aldy Hernandez <aldyh@redhat.com>
998
999 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
1000 threader.
1001 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1002
af3f12e6
GA
10032021-07-27 Ulrich Drepper <drepper@gmail.com>
1004
1005 * env.c (wait_policy, stacksize): New static variables,
1006 move out of handle_omp_display_env.
1007 (omp_display_env): New function. The meat of the old
1008 handle_omp_display_env function.
1009 (handle_omp_display_env): Change to not take parameters
1010 and instead use the global variables. Only perform
1011 parsing, defer to omp_display_env for the implementation.
1012 (initialize_env): Remove local variables wait_policy and
1013 stacksize. Don't pass parameters to handle_omp_display_env.
1014 * fortran.c: Add ialias_redirect for omp_display_env.
1015 (omp_display_env_, omp_display_env_8_): New functions.
1016 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
1017 omp_display_env_, and omp_display_env_8_.
1018 * omp.h.in: Declare omp_display_env.
1019 * omp_lib.f90.in: Likewise.
1020 * omp_lib.h.in: Likewise.
1021
10222021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1023 Julian Brown <julian@codesourcery.com>
1024
1025 * target.c (gomp_coalesce_buf_add): Update comment.
1026 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
1027 'aq && cbuf'.
1028 (gomp_map_vars_internal): Only 'if (!aq)', do
1029 'gomp_coalesce_buf_add'.
1030 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
1031 XFAIL.
1032
10332021-07-27 Julian Brown <julian@codesourcery.com>
1034 Thomas Schwinge <thomas@codesourcery.com>
1035
1036 * libgomp.h (gomp_copy_host2dev): Update prototype.
1037 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
1038 argument to gomp_copy_host2dev (false).
1039 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
1040 (copy_data): Don't free src.
1041 (queue_push_copy): Remove free_src handling.
1042 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
1043 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
1044 snapshotting.
1045 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
1046 queue_push_copy.
1047 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
1048 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
1049 data when true, and set up deferred freeing of temporary buffer.
1050 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
1051 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
1052 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
1053 calls to gomp_copy_host2dev with appropriate ephemeral argument.
1054 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
1055 XFAIL.
1056
10572021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1058 Tom de Vries <tom@codesourcery.com>
1059
1060 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
1061 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
1062
10632021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1064
1065 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
1066 sequencing of 'async' data copying vs. profiling events.
1067 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1068 Likewise.
1069
10702021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1071 Julian Brown <julian@codesourcery.com>
1072
1073 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
1074 'async'/'wait' issue.
1075 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
1076 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
1077 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
1078
419c6c68
GA
10792021-07-21 Thomas Schwinge <thomas@codesourcery.com>
1080 Joseph Myers <joseph@codesourcery.com>
1081 Cesar Philippidis <cesar@codesourcery.com>
1082
1083 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
1084 file.
1085 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1086 Likewise.
1087 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
1088 Likewise.
1089 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1090
92d45509
GA
10912021-07-20 Thomas Schwinge <thomas@codesourcery.com>
1092
1093 PR target/101484
1094 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
1095 '-Wno-error=array-bounds'.
1096 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
1097 * libgomp.h [__AMDGCN__]: Likewise.
1098
21ea2f93
GA
10992021-07-19 Thomas Schwinge <thomas@codesourcery.com>
1100
1101 PR target/101484
1102 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
1103 * libgomp.h [__AMDGCN__]: Likewise.
1104
0e775456
GA
11052021-07-13 Jakub Jelinek <jakub@redhat.com>
1106 Florian Weimer <fweimer@redhat.com>
1107
1108 * config/linux/sem.h: Don't include limits.h.
1109 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
1110 * config/linux/affinity.c: Include limits.h.
1111
bea7c16a
GA
11122021-07-01 Jakub Jelinek <jakub@redhat.com>
1113
1114 PR middle-end/94366
1115 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
1116
6bc18203
GA
11172021-06-29 Tobias Burnus <tobias@codesourcery.com>
1118
1119 PR other/67300
1120 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
1121 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
1122 avoid disabling other offload targets.
1123 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
1124 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1125 * testsuite/libgomp.c/target-44.c: Likewise.
1126
11272021-06-29 Tobias Burnus <tobias@codesourcery.com>
1128
1129 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
1130 target has shared memory and disable some scalar pointer/allocatable
1131 checks if not as firstprivate does not work.
1132
90708f87
GA
11332021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
1134
1135 PR testsuite/101114
1136 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
1137 Add "target offload_device_nonshared_as" condition for enabling test.
1138
9aa8327e
GA
11392021-06-24 Jakub Jelinek <jakub@redhat.com>
1140
1141 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
1142 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
1143 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
1144 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
1145
fcf617f0
GA
11462021-06-23 Jakub Jelinek <jakub@redhat.com>
1147
1148 PR middle-end/101167
1149 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
1150
688359a2
GA
11512021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
1152
1153 * hashtab.h (htab_clear): New function with initialization code
1154 factored out from...
1155 (htab_create): ...here, adjust to use htab_clear function.
1156 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
1157 special refcount values, add comments.
1158 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
1159 (REFCOUNT_LINK): Likewise.
1160 (REFCOUNT_STRUCTELEM): New special refcount range for structure
1161 element siblings.
1162 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
1163 sibling maps.
1164 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
1165 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
1166 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
1167 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
1168 (struct splay_tree_key_s): Add structelem_refcount and
1169 structelem_refcount_ptr fields into a union with dynamic_refcount.
1170 Add comments.
1171 (gomp_map_vars): Delete declaration.
1172 (gomp_map_vars_async): Likewise.
1173 (gomp_unmap_vars): Likewise.
1174 (gomp_unmap_vars_async): Likewise.
1175 (goacc_map_vars): New declaration.
1176 (goacc_unmap_vars): Likewise.
1177 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
1178 (goacc_enter_datum): Likewise.
1179 (goacc_enter_data_internal): Likewise.
1180 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
1181 and goacc_unmap_vars.
1182 (GOACC_data_start): Adjust to use goacc_map_vars.
1183 (GOACC_data_end): Adjust to use goacc_unmap_vars.
1184 * target.c (hash_entry_type): New typedef.
1185 (htab_alloc): New function hook for hashtab.h.
1186 (htab_free): Likewise.
1187 (htab_hash): Likewise.
1188 (htab_eq): Likewise.
1189 (hashtab.h): Add file include.
1190 (gomp_increment_refcount): New function.
1191 (gomp_decrement_refcount): Likewise.
1192 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
1193 gomp_increment_refcount.
1194 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
1195 to gomp_map_vars_existing.
1196 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
1197 variable to guard OpenMP specific paths, adjust calls to
1198 gomp_map_vars_existing, add structure element sibling splay_tree_key
1199 sequence creation code, adjust Fortran map case to avoid increment
1200 under OpenMP.
1201 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
1202 local refcount_set if caller passed in NULL, adjust call to
1203 gomp_map_vars_internal.
1204 (gomp_map_vars_async): Adjust and rename into...
1205 (goacc_map_vars): ...this new function, adjust call to
1206 gomp_map_vars_internal.
1207 (gomp_remove_splay_tree_key): New function with code factored out from
1208 gomp_remove_var_internal.
1209 (gomp_remove_var_internal): Add code to handle removing multiple
1210 splay_tree_key sequence for structure elements, adjust code to use
1211 gomp_remove_splay_tree_key for splay-tree key removal.
1212 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
1213 gomp_decrement_refcount.
1214 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
1215 local refcount_set if caller passed in NULL, adjust call to
1216 gomp_unmap_vars_internal.
1217 (gomp_unmap_vars_async): Adjust and rename into...
1218 (goacc_unmap_vars): ...this new function, adjust call to
1219 gomp_unmap_vars_internal.
1220 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
1221 gomp_unmap_vars.
1222 (GOMP_target_ext): Likewise.
1223 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
1224 (GOMP_target_data): Likewise.
1225 (GOMP_target_data_ext): Likewise.
1226 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
1227 (gomp_exit_data): Add refcount_set parameter, adjust to use
1228 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
1229 after main loop.
1230 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
1231 gomp_map_vars and gomp_exit_data.
1232 (gomp_target_task_fn): Likewise.
1233 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
1234 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
1235 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
1236 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
1237 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
1238 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
1239
ede6c356
GA
12402021-06-15 Tobias Burnus <tobias@codesourcery.com>
1241
1242 PR fortran/92568
1243 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
1244
43c35d0d
GA
12452021-06-10 Andrew Stubbs <ams@codesourcery.com>
1246 Thomas Schwinge <thomas@codesourcery.com>
1247
1248 * libgomp.map (GOACC_2.0.2): New symbol version.
1249 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
1250 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
1251
12522021-06-10 Thomas Schwinge <thomas@codesourcery.com>
1253 Andrew Stubbs <ams@codesourcery.com>
1254
1255 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
1256 extracted from...
1257 (GOACC_enter_exit_data): ... here.
1258 (GOACC_declare): Use it.
1259
12602021-06-10 Thomas Schwinge <thomas@codesourcery.com>
1261
1262 * oacc-parallel.c (GOACC_declare): Move...
1263 * oacc-mem.c: ... here.
1264 * libgomp_g.h: Adjust.
1265
12662021-06-10 Andrew Stubbs <ams@codesourcery.com>
1267 Thomas Schwinge <thomas@codesourcery.com>
1268
1269 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
1270 handling.
1271
12722021-06-10 Jakub Jelinek <jakub@redhat.com>
1273
1274 PR tree-optimization/100981
1275 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
1276 dsdotr and dsdoti to 0.
1277
4f625f47
GA
12782021-06-09 H.J. Lu <hjl.tools@gmail.com>
1279
1280 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
1281 if atomic compare-and-swap is supported on 'int'.
1282
12832021-06-09 Richard Biener <rguenther@suse.de>
1284
1285 PR tree-optimization/100981
1286 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
1287
c6038721
GA
12882021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1289
1290 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
1291 unconditionally.
1292 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1293 Update.
1294 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1295 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1296
12972021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1298
1299 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
1300 '-DACC_MEM_SHARED=0'.
1301 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1302 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1303 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1304 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1305 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1306 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1307 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1308 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1309 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1310 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1311 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
1312 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
1313 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
1314 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1315 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
1316 'acc_device_radeon' testing.
1317 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
1318 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
1319 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
1320 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
1321 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1322 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1323 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
1324 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
1325 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
1326 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
1327 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
1328 for non-'openacc_nvidia_accel_selected'.
1329 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1330 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
1331 all implement this checking".
1332 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
1333 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
1334 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
1335 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
1336 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
1337
13382021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1339
1340 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
1341 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
1342
13432021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1344
1345 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
1346 for 'acc_device_radeon'.
1347
13482021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1349
1350 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
1351 for non-'acc_device_nvidia'.
1352
13532021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1354
1355 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
1356 'acc_device_radeon' testing.
1357 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1358 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1359 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1360
13612021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1362
1363 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
1364 require 'openacc_nvidia_accel_selected'. Fix up for
1365 'ACC_DEVICE_TYPE_radeon'.
1366
13672021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1368
1369 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
1370 'openacc_nvidia_accel_selected'.
1371 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1372
13732021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1374
1375 * testsuite/lib/libgomp.exp
1376 (check_effective_target_openacc_radeon_accel_selected):
1377 Streamline.
1378
13792021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1380
1381 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
1382 PR80547 workaround.
1383
13842021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1385
1386 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1387 <acc_device_nvidia>: Update comment.
1388
48166757
GA
13892021-05-28 Tobias Burnus <tobias@codesourcery.com>
1390
1391 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
1392
cd62d089
GA
13932021-05-27 Jakub Jelinek <jakub@redhat.com>
1394
1395 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
1396 check_effective_target_openacc_cublas,
1397 check_effective_target_openacc_cudart): New.
1398 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
1399 target openacc_cublas.
1400 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1401 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1402 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
1403 target openacc_cuda.
1404 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
1405 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
1406 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
1407 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
1408 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
1409 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
1410 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
1411 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1412 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
1413 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1414 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
1415 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1416 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
1417 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
1418 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
1419 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1420 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
1421 targets openacc_cublas and openacc_cudart.
1422 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1423 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1424 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1425 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1426 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
1427 Require effective target openacc_cudart.
1428 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
1429 for effective target openacc_cuda and add && defined USE_CUDA_H to
1430 preprocessor conditionals. Guard -lcuda also on openacc_cuda
1431 effective target.
1432
01c59ef2
GA
14332021-05-26 Jakub Jelinek <jakub@redhat.com>
1434
1435 PR libgomp/100573
1436 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
1437 GOMP_target_end_data, GOMP_target_update_ext,
1438 GOMP_target_enter_exit_data): New dummy entrypoints.
1439 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
1440 GOMP_target_end_data, GOMP_target_update_ext,
1441 GOMP_target_enter_exit_data): Likewise.
1442 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
1443 OMPFROM, OMPTO): Define.
1444 (main): Remove #pragma omp target teams around all the tests.
1445 * testsuite/libgomp.c-c++-common/target-41.c: New test.
1446 * testsuite/libgomp.c-c++-common/target-42.c: New test.
1447
2bc6dace
GA
14482021-05-25 Jakub Jelinek <jakub@redhat.com>
1449
1450 PR middle-end/99928
1451 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
1452
637569df
GA
14532021-05-24 Tobias Burnus <tobias@codesourcery.com>
1454
1455 PR fortran/86470
1456 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
1457 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
1458 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
1459
15d30d2f
GA
14602021-05-22 Thomas Schwinge <thomas@codesourcery.com>
1461
1462 PR testsuite/90115
1463 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
1464 uninteresting/varying diagnostics.
1465
2832d51b
GA
14662021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1467
1468 PR middle-end/90115
1469 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
1470 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1471
14722021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1473
1474 PR middle-end/90115
1475 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
1476 file.
1477 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
1478 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
1479 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1480 Likewise.
1481 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1482 Likewise.
1483 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1484 Likewise.
1485 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1486 Likewise.
1487 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1488 Likewise.
1489 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1490 Likewise.
1491 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1492 Likewise.
1493 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1494 Likewise.
1495 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1496 Likewise.
1497 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1498 Likewise.
1499 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1500 Likewise.
1501 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1502 Likewise.
1503 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1504 Likewise.
1505 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1506 Likewise.
1507 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1508 Likewise.
1509 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1510 Likewise.
1511 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1512 Likewise.
1513 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1514 Likewise.
1515 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1516 Likewise.
1517 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1518 Likewise.
1519 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1520 Likewise.
1521 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1522 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1523 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1524 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
1525 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1526 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1527 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1528 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1529 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1530 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1531 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1532 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1533 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1534 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1535 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1536 Likewise.
1537 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
1538 Likewise.
1539 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
1540 Likewise.
1541 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1542 Likewise.
1543 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
1544 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
1545 Likewise.
1546 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1547 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1548 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1549 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1550 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
1551 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1552 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1553 Likewise.
1554 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1555 Likewise.
1556 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1557 Likewise.
1558 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1559 Likewise.
1560 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1561 Likewise.
1562 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1563 Likewise.
1564 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1565 Likewise.
1566 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1567 Likewise.
1568 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1569 Likewise.
1570 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1571 Likewise.
1572 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1573 Likewise.
1574 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1575 Likewise.
1576 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1577 Likewise.
1578 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1579 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1580 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
1581 Likewise.
1582 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
1583 Likewise.
1584 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1585 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1586 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1587
15882021-05-21 Julian Brown <julian@codesourcery.com>
1589 Chung-Lin Tang <cltang@codesourcery.com>
1590 Thomas Schwinge <thomas@codesourcery.com>
1591
1592 PR middle-end/90115
1593 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
1594 test.
1595 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
1596 Likewise.
1597 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
1598 Likewise.
1599
16002021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1601
1602 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
1603 for nvptx offloading.
1604
16052021-05-21 Tobias Burnus <tobias@codesourcery.com>
1606
1607 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
1608
65f32e5d
GA
16092021-05-19 Thomas Schwinge <thomas@codesourcery.com>
1610
1611 PR target/83812
1612 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
1613
16142021-05-19 Julian Brown <julian@codesourcery.com>
1615
1616 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
1617
a8daf9a1
GA
16182021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1619
1620 * testsuite/lib/libgomp.exp
1621 (check_effective_target_offload_target_nvptx): Don't shadow global
1622 'offload_targets' variable.
1623
16242021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1625
1626 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
1627 '-latomic' to nvptx offloading compilation.
1628 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1629
16302021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1631
1632 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
1633 offloading compilation.
1634
a7ffc1ef
GA
16352021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
1636
1637 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
1638 if new tasks generated.
1639 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
1640
87a7d10c
GA
16412021-05-14 Tobias Burnus <tobias@codesourcery.com>
1642
1643 * testsuite/libgomp.fortran/parallel-master.f90: New test.
1644
f9af11c7
GA
16452021-05-13 Martin Liska <mliska@suse.cz>
1646
1647 PR testsuite/100569
1648 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
1649 * testsuite/libgomp.c/pr46032-2.c: Likewise.
1650 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
1651 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
1652
0ff3a0f2
GA
16532021-05-12 Tobias Burnus <tobias@codesourcery.com>
1654
1655 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
1656 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
1657
037e3661
GA
16582021-05-11 Jakub Jelinek <jakub@redhat.com>
1659
1660 PR middle-end/100471
1661 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
1662 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
1663 reduction pointer.
1664 * testsuite/libgomp.c/task-reduction-4.c: New test.
1665
62d87a32
GA
16662021-05-07 Tobias Burnus <tobias@codesourcery.com>
1667 Tom de Vries <tdevries@suse.de>
1668
1669 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
1670 complex/floating-point || + && reduction with 'omp target'.
1671 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1672
99e8df7a
GA
16732021-05-04 Tobias Burnus <tobias@codesourcery.com>
1674
1675 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
1676 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
1677 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
1678 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
1679
16802021-05-04 Tobias Burnus <tobias@codesourcery.com>
1681
1682 PR testsuite/100397
1683 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
1684 declaration to scope of non-'depend'-guarded assignment to avoid races.
1685
e690396d
GA
16862021-05-03 Tom de Vries <tdevries@suse.de>
1687
1688 PR target/100321
1689 * testsuite/libgomp.c/target-44.c: New test.
1690
9326049e
GA
16912021-04-30 Roman Zhuykov <zhroma@ispras.ru>
1692
1693 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
1694
3c8e539d
GA
16952021-04-29 Tom de Vries <tdevries@suse.de>
1696
1697 * testsuite/libgomp.c/pr81778.c: New test.
1698
16992021-04-29 Tom de Vries <tdevries@suse.de>
1700
1701 PR target/100232
1702 * testsuite/libgomp.c/target-43.c: New file.
1703
e4ff4ffb
GA
17042021-04-28 Jakub Jelinek <jakub@redhat.com>
1705 Tobias Burnus <tobias@codesourcery.com>
1706
1707 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
1708 * target.c (gomp_load_plugin_for_device): If set and if a plugin
1709 can't be dlopened, silently assume it has no devices.
1710 * Makefile.in: Regenerate.
1711 * config.h.in: Regenerate.
1712 * configure: Regenerate.
1713
c0fa3f2f
GA
17142021-04-26 Tobias Burnus <tobias@codesourcery.com>
1715
1716 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
1717 Use [Ww]arning in dg-bogus as FE diagnostic and default
1718 diagnostic differ and the result depends on ENABLE_OFFLOAD.
1719 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1720 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1721 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1722
17232021-04-26 Tobias Burnus <tobias@codesourcery.com>
1724
1725 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
1726 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
1727 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1728 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1729 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1730
17312021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1732 Nathan Sidwell <nathan@codesourcery.com>
1733 Tom de Vries <vries@codesourcery.com>
1734 Julian Brown <julian@codesourcery.com>
1735 Kwok Cheung Yeung <kcy@codesourcery.com>
1736
1737 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
1738 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
1739 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1740 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1741 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1742 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1743 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
1744 Likewise.
1745 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
1746 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1747 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1748 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1749 Likewise.
1750 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
1751 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1752 Likewise.
1753 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1754 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1755 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1756 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1757 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1758 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
1759 Likewise.
1760 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1761 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
1762 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1763 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1764 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1765 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
1766 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1767 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1768 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1769 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1770 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1771
17722021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1773
1774 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
1775 compile with '-w'.
1776 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1777 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1778 Likewise.
1779 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1780 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
1781 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1782 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1783 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1784 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1785 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1786
e3948473
GA
17872021-04-22 Richard Biener <rguenther@suse.de>
1788
1789 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
1790 only on nvptx-none.
1791
c1ef0c92
GA
17922021-04-21 Tobias Burnus <tobias@codesourcery.com>
1793
1794 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
1795 omp_depend_kind instead of defining it as 16.
1796
17972021-04-21 Tobias Burnus <tobias@codesourcery.com>
1798
1799 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1800 New, based on check_effective_target_offload_target_nvptx.
1801 (check_effective_target_offload_target_nvptx): Call it.
1802 (check_effective_target_offload_target_amdgcn): New.
1803 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
1804 Require target offload_target_nvptx || offload_target_amdgcn.
1805 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
1806 * testsuite/libgomp.c/pr86416-1.c: Likewise.
1807 * testsuite/libgomp.c/pr86416-2.c: Likewise.
1808
18092021-04-21 Tobias Burnus <tobias@codesourcery.com>
1810
1811 * testsuite/libgomp.fortran/depobj-1.f90: New test.
1812
6e81e015
GA
18132021-04-19 Thomas Schwinge <thomas@codesourcery.com>
1814
1815 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1816 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
1817 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1818 Likewise.
1819 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1820 Likewise.
1821 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1822
ee351f7f
GA
18232021-04-15 Thomas Schwinge <thomas@codesourcery.com>
1824
1825 PR target/99555
1826 * testsuite/lib/libgomp.exp
1827 (check_effective_target_offload_device_nvptx): New.
1828 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
1829 resolved, make sure that we exit quickly, with error status,
1830 XFAILed.
1831 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
1832 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
1833
df3b1289
GA
18342021-04-14 Jakub Jelinek <jakub@redhat.com>
1835
1836 PR testsuite/100071
1837 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
1838 cp = omp_alloc with cp, p arguments instead of cq, q and call
1839 c_f_pointer after last cq = omp_alloc with cq, q.
1840
a0ecde22
GA
18412021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
1842
1843 PR middle-end/98088
1844 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
1845 for loop with GT/GE condition.
1846 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
1847
3115aba8
GA
18482021-04-09 Thomas Schwinge <thomas@codesourcery.com>
1849
1850 PR middle-end/84991
1851 PR middle-end/84992
1852 PR middle-end/90779
1853 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
1854
18552021-04-09 Jakub Jelinek <jakub@redhat.com>
1856
1857 PR libgomp/99984
1858 * team.c (gomp_thread_start): Call pthread_setspecific for
1859 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
1860 has been initialized to avoid false positive warning.
1861
65374af2
GA
18622021-03-29 Tobias Burnus <tobias@codesourcery.com>
1863
1864 PR target/99555
1865 * testsuite/lib/on_device_arch.c: Move to ...
1866 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
1867 * testsuite/libgomp.fortran/on_device_arch.c: New file;
1868 #include on_device_arch.h.
1869 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
1870 on_device_arch.h instead of using dg-additional-source.
1871 * testsuite/libgomp.c/pr99555-1.c: Likewise.
1872 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
1873 on_device_arch.c without relative paths.
1874
4493b1c1
GA
18752021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1876
1877 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
1878 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
1879 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
1880 * config.h.in: Regenerate.
1881 * configure: Likewise.
1882
18832021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1884
1885 PR target/99555
1886 * testsuite/lib/on_device_arch.c: New file.
1887 * testsuite/libgomp.c/pr99555-1.c: Likewise.
1888 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
1889 skip for nvptx offloading, with error status.
1890 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
1891
18922021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1893
1894 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
1895 OpenACC 'serial' construct diagnostic for nvptx offloading.
1896
3c5b6d24
GA
18972021-03-15 Tobias Burnus <tobias@codesourcery.com>
1898
1899 PR c++/99509
1900 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
1901
6da2762a
GA
19022021-03-12 Tobias Burnus <tobias@codesourcery.com>
1903
1904 PR fortran/98858
1905 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
1906
67f10d28
GA
19072021-03-04 Jakub Jelinek <jakub@redhat.com>
1908
1909 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
1910 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
1911 checking of -m32 or -mx32 options on the command line.
1912 * config.h.in: Regenerated.
1913 * configure: Regenerated.
1914
ec9dc4fa
GA
19152021-02-27 Iain Sandoe <iain@sandoe.co.uk>
1916
1917 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
1918 support from the target.
1919
daa68844
GA
19202021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
1921 Jakub Jelinek <jakub@redhat.com>
1922
1923 PR libgomp/98738
1924 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
1925 (struct gomp_task): Replace detach and completion_sem fields with
1926 union containing completion_sem and detach_team. Add deferred_p
1927 field.
1928 (struct gomp_team): Remove task_detach_queue.
1929 * task.c: Include assert.h.
1930 (gomp_init_task): Initialize deferred_p and completion_sem fields.
1931 Rearrange initialization order of fields.
1932 (task_fulfilled_p): Delete.
1933 (GOMP_task): Use address of task as the event handle. Remove
1934 initialization of detach field. Initialize deferred_p field.
1935 Use automatic local for completion_sem. Initialize detach_team field
1936 for deferred tasks.
1937 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
1938 Set kind of suspended detach task to GOMP_TASK_DETACHED and
1939 decrement task_running_count. Move finish_cancelled block out of
1940 else branch. Relocate call to gomp_team_barrier_done.
1941 (GOMP_taskwait): Handle tasks with completion events that have not
1942 been fulfilled.
1943 (GOMP_taskgroup_end): Likewise.
1944 (omp_fulfill_event): Use address of task as event handle. Post to
1945 completion_sem for undeferred tasks. Clear detach_team if task
1946 has not finished. For finished tasks, handle post-execution tasks,
1947 call gomp_team_barrier_wake if necessary, and free task.
1948 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
1949 (free_team): Remove free of task_detach_queue.
1950 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
1951 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
1952 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
1953 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
1954 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
1955 Change data-sharing of detach events on enclosing parallel to private.
1956 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
1957 taskwait directive.
1958 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
1959 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
1960 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
1961 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
1962 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
1963 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
1964 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
1965 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
1966 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
1967 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
1968 Change data-sharing of detach events on enclosing parallel to private.
1969 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
1970 taskwait directive.
1971 * testsuite/libgomp.fortran/task-detach-7.f90: New.
1972 * testsuite/libgomp.fortran/task-detach-8.f90: New.
1973 * testsuite/libgomp.fortran/task-detach-9.f90: New.
1974 * testsuite/libgomp.fortran/task-detach-10.f90: New.
1975 * testsuite/libgomp.fortran/task-detach-11.f90: New.
1976
2f5765cf
GA
19772021-02-22 Tobias Burnus <tobias@codesourcery.com>
1978
1979 PR fortran/99171
1980 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
1981
acc0ee5c
GA
19822021-02-17 Julian Brown <julian@codesourcery.com>
1983
1984 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
1985 expected errors.
1986
19872021-02-17 Julian Brown <julian@codesourcery.com>
1988
1989 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
1990 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
1991
0c5cdb31
GA
19922021-02-11 Uroš Bizjak <ubizjak@gmail.com>
1993
1994 * config/linux/x86/futex.h (__futex_wait):
1995 Revert output type back to long.
1996 (__futex_wake): Ditto.
1997 (futex_wait): Update for revert.
1998 (futex_wake): Ditto.
1999
20002021-02-11 Uroš Bizjak <ubizjak@gmail.com>
2001
2002 * config/linux/x86/futex.h (__futex_wait): New static inline
2003 wrapper function. Correct output type to int and
2004 timeout type to void *.
2005 (__futex_wake): New static inline wrapper function.
2006 Correct output type to int.
2007 (futex_wait): Use __futex_wait.
2008 (futex_wake): Use __futex_wake.
2009
4b37c3ea
GA
20102021-02-10 Julian Brown <julian@codesourcery.com>
2011
2012 PR fortran/98979
2013 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
2014 errors.
2015
a19dd5e6
GA
20162021-02-04 Julian Brown <julian@codesourcery.com>
2017
2018 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
2019
9faaa807
GA
20202021-02-03 Andrew Stubbs <ams@codesourcery.com>
2021
2022 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2023 EF_AMDGPU_MACH_AMDGCN_GFX908.
2024 (gcn_gfx908_s): New constant string.
2025 (isa_hsa_name): Add gfx908.
2026 (isa_code): Add gfx908.
2027
161e4c08
GA
20282021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
2029
2030 * libgomp.texi (omp_fulfill_event): New entry.
2031
b93d0e36
GA
20322021-01-20 Jakub Jelinek <jakub@redhat.com>
2033
2034 * task.c (GOMP_task): Rename priority argument to priority_arg,
2035 add priority automatic variable and modify that variable. Instead of
2036 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
2037 check flags for that bit.
2038
f35a4f96
GA
20392021-01-19 Tobias Burnus <tobias@codesourcery.com>
2040
2041 PR fortran/98476
2042 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
2043
ef1f8ee6
GA
20442021-01-18 Andreas Schwab <schwab@suse.de>
2045
2046 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
2047
20482021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
2049
2050 * config/rtems/sem.h (gomp_sem_getcount): New function.
2051
20522021-01-18 Jakub Jelinek <jakub@redhat.com>
2053
2054 * config/linux/sem.h (gomp_sem_getcount): New function.
2055 * config/posix/sem.h (gomp_sem_getcount): New function.
2056 * config/posix/sem.c (gomp_sem_getcount): New function.
2057 * config/accel/sem.h (gomp_sem_getcount): New function.
2058 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
2059 (omp_fulfill_event): Likewise.
2060
59cf67d1
GA
20612021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
2062
2063 * fortran.c (omp_fulfill_event_): New.
2064 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
2065 (struct gomp_team): Add task_detach_queue and task_detach_count
2066 fields.
2067 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
2068 * libgomp_g.h (GOMP_task): Add extra argument.
2069 * omp.h.in (enum omp_event_handle_t): New.
2070 (omp_fulfill_event): New.
2071 * omp_lib.f90.in (omp_event_handle_kind): New.
2072 (omp_fulfill_event): New.
2073 * omp_lib.h.in (omp_event_handle_kind): New.
2074 (omp_fulfill_event): Declare.
2075 * priority_queue.c (priority_tree_find): New.
2076 (priority_list_find): New.
2077 (priority_queue_find): New.
2078 * priority_queue.h (priority_queue_predicate): New.
2079 (priority_queue_find): New.
2080 * task.c (gomp_init_task): Initialize detach field.
2081 (task_fulfilled_p): New.
2082 (GOMP_task): Add detach argument. Ignore detach argument if
2083 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
2084 field. Copy address of completion_sem into detach argument and
2085 into the start of the data record. Wait for detach event if task
2086 not deferred.
2087 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
2088 Remove completed tasks and requeue dependent tasks.
2089 (omp_fulfill_event): New.
2090 * team.c (gomp_new_team): Initialize task_detach_queue and
2091 task_detach_count fields.
2092 (free_team): Free task_detach_queue field.
2093 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
2094 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
2095 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
2096 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
2097 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
2098 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
2099 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
2100 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
2101 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
2102 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
2103 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
2104 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
2105
2f7f0d32
GA
21062021-01-15 Jakub Jelinek <jakub@redhat.com>
2107
2108 PR target/70454
2109 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
2110 be added through preprocessor check on
2111 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
2112
5fff80fd
GA
21132021-01-14 Thomas Schwinge <thomas@codesourcery.com>
2114
2115 PR libgomp/65099
2116 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
2117 configurations.
2118 * configure: Regenerate.
2119 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
2120 check.
2121
651b8a50
GA
21222021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
2123
2124 * configure: Re-generate.
2125
21262021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
2127
2128 * configure: Re-generate.
2129
21302021-01-05 Julian Brown <julian@codesourcery.com>
2131
2132 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
2133 (struct ptx_device): Add omp_stacks struct.
2134 (nvptx_open_device): Initialise cached-stacks housekeeping info.
2135 (nvptx_close_device): Free cached stacks block and mutex.
2136 (nvptx_stacks_free): New function.
2137 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
2138 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
2139 (nvptx_stacks_alloc): Rename to...
2140 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
2141 size or smaller is required.
2142 (nvptx_stacks_free): Remove.
2143 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
2144 during kernel execution.
2145
b6dd195a
GA
21462021-01-01 Jakub Jelinek <jakub@redhat.com>
2147
2148 * libgomp.texi: Bump @copying's copyright year.
2149
2d3425a5
GA
21502020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
2151
2152 * libgomp.texi (Top): Avoid bad "up" link.
2153
b1a2242e
GA
21542020-12-18 Jakub Jelinek <jakub@redhat.com>
2155
2156 * testsuite/libgomp.c/task-6.c: New test.
2157
ca2bd949
GA
21582020-12-09 Andrew Stubbs <ams@codesourcery.com>
2159
2160 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
2161 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
2162
f6e8e279
GA
21632020-12-08 Tobias Burnus <tobias@codesourcery.com>
2164
2165 * testsuite/libgomp.fortran/scan-1.f90: New test.
2166
6e1edf48
GA
21672020-12-05 Iain Sandoe <iain@sandoe.co.uk>
2168
2169 PR target/97865
2170 * configure: Regenerate.
2171
a9625c50
GA
21722020-11-29 John David Anglin <danglin@gcc.gnu.org>
2173
2174 * configure: Regenerate.
2175
360258da
GA
21762020-11-25 Thomas Schwinge <thomas@codesourcery.com>
2177
2178 * testsuite/libgomp.oacc-c++/cache-1.C: New.
2179 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
2180
21812020-11-25 Andrew Stubbs <ams@codesourcery.com>
2182
2183 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
2184 expected results.
2185
1e2c9a27
GA
21862020-11-24 Andrew Stubbs <ams@codesourcery.com>
2187
2188 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
2189 (reserved): Delete unused define.
2190
21912020-11-24 Thomas Schwinge <thomas@codesourcery.com>
2192
2193 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
2194 Tcl 8.5-specific behavior.
2195 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2196
25bb75f8
GA
21972020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
2198
2199 * env.c (gomp_global_icv): Remove nest_var field. Add
2200 max_active_levels_var field.
2201 (gomp_max_active_levels_var): Remove.
2202 (parse_boolean): Return true on success.
2203 (handle_omp_display_env): Express OMP_NESTED in terms of
2204 max_active_levels_var. Change format specifier for
2205 max_active_levels_var.
2206 (initialize_env): Set max_active_levels_var from
2207 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
2208 OMP_PROC_BIND.
2209 * icv.c (omp_set_nested): Express in terms of
2210 max_active_levels_var.
2211 (omp_get_nested): Likewise.
2212 (omp_set_max_active_levels): Use max_active_levels_var field instead
2213 of gomp_max_active_levels_var.
2214 (omp_get_max_active_levels): Likewise.
2215 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
2216 max_active_levels_var field.
2217 (gomp_supported_active_levels): Set to UCHAR_MAX.
2218 (gomp_max_active_levels_var): Delete.
2219 * libgomp.texi (omp_get_nested): Update documentation.
2220 (omp_set_nested): Likewise.
2221 (OMP_MAX_ACTIVE_LEVELS): Likewise.
2222 (OMP_NESTED): Likewise.
2223 (OMP_NUM_THREADS): Likewise.
2224 (OMP_PROC_BIND): Likewise.
2225 * parallel.c (gomp_resolve_num_threads): Replace reference
2226 to nest_var with max_active_levels_var. Use max_active_levels_var
2227 field instead of gomp_max_active_levels_var.
2228
22292020-11-18 Tobias Burnus <tobias@codesourcery.com>
2230
2231 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
2232 nvptx_usleep; use also for device={arch(gcn)}.
2233
faab61b5
GA
22342020-11-14 Jakub Jelinek <jakub@redhat.com>
2235
2236 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
2237 (foo): Add tests for non-VLA private and firstprivate clauses on
2238 omp task.
2239 (bar): Likewise. Remove taking of address from private/firstprivate
2240 variables.
2241 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
2242 (foo): Add p, q, px and s arguments. Add tests for array reductions
2243 and for non-VLA private and firstprivate clauses on omp task.
2244 (bar): Removed.
2245 (main): Adjust foo caller. Don't call bar.
2246
77f67db2
GA
22472020-11-13 Gergö Barany <gergo@codesourcery.com>
2248 Thomas Schwinge <thomas@codesourcery.com>
2249
2250 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2251 New.
2252 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2253 Likewise.
2254 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2255 Likewise.
2256 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
2257 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2258
22592020-11-13 Gergö Barany <gergo@codesourcery.com>
2260 Thomas Schwinge <thomas@codesourcery.com>
2261
2262 PR fortran/94358
2263 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
2264
22652020-11-13 Jakub Jelinek <jakub@redhat.com>
2266
2267 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
2268 for array reductions.
2269 (main): Adjust foo callers.
2270
a5a11525
GA
22712020-11-12 Jakub Jelinek <jakub@redhat.com>
2272
2273 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
2274 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
2275 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
2276 * allocator.c (omp_aligned_alloc): New for now static function,
2277 add alignment argument and handle it.
2278 (omp_alloc): Reimplement using omp_aligned_alloc.
2279 (GOMP_alloc, GOMP_free): New functions.
2280 (omp_free): Add ialias.
2281 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
2282 * testsuite/libgomp.c++/allocate-1.C: New test.
2283
22842020-11-12 Thomas Schwinge <thomas@codesourcery.com>
2285
2286 PR fortran/97782
2287 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
2288
bb622641
GA
22892020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
2290
2291 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
2292 usable.
2293 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
2294 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
2295 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
2296 (goacc_enter_data_internal): Likewise.
2297 * target.c (gomp_map_vars_internal):
2298 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
2299 of gomp_attach_pointer for OpenMP cases.
2300 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
2301 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
2302 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
2303
0cfd9109
GA
23042020-11-05 Ulrich Drepper <drepper@redhat.com>
2305 Kwok Cheung Yeung <kcy@codesourcery.com>
2306
2307 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
2308 * Makefile.in: Regenerate.
2309 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
2310 pragmas to ignore -Wdeprecated-declarations warnings.
2311 * icv.c: Likewise.
2312 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
2313 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
2314 and omp_get_nested with __GOMP_DEPRECATED_5_0.
2315 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
2316 deprecated.
2317 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
2318 to test options.
2319 * testsuite/libgomp.c/affinity-1.c: Likewise.
2320 * testsuite/libgomp.c/affinity-2.c: Likewise.
2321 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
2322 * testsuite/libgomp.c/lib-1.c: Likewise.
2323 * testsuite/libgomp.c/nested-1.c: Likewise.
2324 * testsuite/libgomp.c/nested-2.c: Likewise.
2325 * testsuite/libgomp.c/nested-3.c: Likewise.
2326 * testsuite/libgomp.c/pr32362-1.c: Likewise.
2327 * testsuite/libgomp.c/pr32362-2.c: Likewise.
2328 * testsuite/libgomp.c/pr32362-3.c: Likewise.
2329 * testsuite/libgomp.c/pr35549.c: Likewise.
2330 * testsuite/libgomp.c/pr42942.c: Likewise.
2331 * testsuite/libgomp.c/pr61200.c: Likewise.
2332 * testsuite/libgomp.c/sort-1.c: Likewise.
2333 * testsuite/libgomp.c/target-5.c: Likewise.
2334 * testsuite/libgomp.c/target-6.c: Likewise.
2335 * testsuite/libgomp.c/teams-1.c: Likewise.
2336 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
2337 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
2338 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
2339 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
2340 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2341 * testsuite/libgomp.fortran/lib2.f: Likewise.
2342 * testsuite/libgomp.fortran/nested1.f90: Likewise.
2343 * testsuite/libgomp.fortran/teams1.f90: Likewise.
2344
88ce3d5f
GA
23452020-11-02 Thomas Schwinge <thomas@codesourcery.com>
2346
2347 PR target/85486
2348 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
2349 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
2350 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
2351
23522020-11-02 Thomas Schwinge <thomas@codesourcery.com>
2353
2354 PR testsuite/80219
2355 PR testsuite/85303
2356 * testsuite/lib/libgomp.exp (libgomp_init): Set
2357 'gcc_warning_prefix', 'gcc_error_prefix'.
2358
23592020-10-30 Jakub Jelinek <jakub@redhat.com>
2360
2361 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
2362 even in field_tgt_clear initializer.
2363
e93aae4a
GA
23642020-10-28 Jakub Jelinek <jakub@redhat.com>
2365
2366 * testsuite/libgomp.c/target-42.c: New test.
2367
23682020-10-28 Jakub Jelinek <jakub@redhat.com>
2369 Tom de Vries <tdevries@suse.de>
2370
2371 PR testsuite/81690
2372 * testsuite/libgomp.c/usleep.h: New file.
2373 * testsuite/libgomp.c/target-32.c: Include usleep.h.
2374 (main): Use tgt_usleep instead of usleep.
2375 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
2376 (main): Use tgt_usleep instead of usleep.
2377
23782020-10-28 Jakub Jelinek <jakub@redhat.com>
2379
2380 PR lto/96680
2381 * testsuite/libgomp.c/declare-variant-1.c: New test.
2382
56ddd5e2
GA
23832020-10-22 Jakub Jelinek <jakub@redhat.com>
2384
2385 * testsuite/libgomp.c/target-41.c: New test.
2386
23872020-10-22 Jakub Jelinek <jakub@redhat.com>
2388
2389 * icv.c (omp_get_initial_device): Remove including corresponding
2390 ialias.
2391 * icv-device.c (omp_get_initial_device): New function. Return
2392 gomp_get_num_devices (). Add ialias.
2393 * target.c (resolve_device): Don't fail with
2394 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
2395 gomp_get_num_devices ().
2396 (omp_target_alloc, omp_target_free, omp_target_is_present,
2397 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
2398 omp_target_disassociate_ptr, omp_pause_resource): Use
2399 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
2400 first use in the functions, in uses dominated by the
2401 gomp_get_num_devices call use num_devices_openmp instead.
2402 * libgomp.texi (omp_get_initial_device): Document.
2403 * config/gcn/icv-device.c (omp_get_initial_device): New function.
2404 Add ialias.
2405 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
2406 * testsuite/libgomp.c/target-40.c: New test.
2407
24082020-10-21 Jakub Jelinek <jakub@redhat.com>
2409
2410 * env.c (parse_target_offload): Change new_offload var type to int,
2411 preinitialize to -1, remove found var and test new_offload != -1
2412 instead of found.
2413
e2e04288
GA
24142020-10-20 Jakub Jelinek <jakub@redhat.com>
2415
2416 * target.c (gomp_target_init): Inside of the function, use automatic
2417 variables corresponding to num_devices, num_devices_openmp and devices
2418 global variables and update the globals only at the end of the
2419 function.
2420
24212020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
2422
2423 * env.c (gomp_target_offload_var): New.
2424 (parse_target_offload): New.
2425 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
2426 (initialize_env): Parse OMP_TARGET_OFFLOAD.
2427 * libgomp.h (gomp_target_offload_t): New.
2428 (gomp_target_offload_var): New.
2429 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
2430 * target.c (resolve_device): Generate error if device not found and
2431 offloading is mandatory.
2432 (gomp_target_fallback): Generate error if offloading is mandatory.
2433 (GOMP_target): Add argument in call to gomp_target_fallback.
2434 (GOMP_target_ext): Likewise.
2435 (gomp_target_data_fallback): Generate error if offloading is mandatory.
2436 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
2437 (GOMP_target_data_ext): Likewise.
2438 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
2439 (gomp_target_init): Return early if offloading is disabled.
2440
b85d5dc5
GA
24412020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
2442
2443 * libgomp.texi (omp_get_max_active_levels): Modify description.
2444 (omp_get_supported_active_levels): Make descriptions consistent.
2445
b2698c21
GA
24462020-10-14 Jakub Jelinek <jakub@redhat.com>
2447
2448 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
2449
bdd74cc2
GA
24502020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
2451
2452 * env.c (gomp_max_active_levels_var): Initialize to
2453 gomp_supported_active_levels.
2454 (initialize_env): Limit gomp_max_active_levels_var to be at most
2455 equal to gomp_supported_active_levels.
2456 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
2457 (omp_get_supported_active_levels_): New.
2458 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
2459 to at most equal to gomp_supported_active_levels.
2460 (omp_get_supported_active_levels): New.
2461 * libgomp.h (gomp_supported_active_levels): New.
2462 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
2463 omp_get_supported_active_levels_.
2464 * libgomp.texi (omp_get_supported_active_levels): New.
2465 (omp_set_max_active_levels): Update. Add reference to
2466 omp_get_supported_active_levels.
2467 * omp.h.in (omp_get_supported_active_levels): New.
2468 * omp_lib.f90.in (omp_get_supported_active_levels): New.
2469 * omp_lib.h.in (omp_get_supported_active_levels): New.
2470 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
2471 against omp_get_supported_active_levels.
2472 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
2473
2baa36d4
GA
24742020-10-11 Clement Chigot <clement.chigot@atos.net>
2475
2476 * config/t-aix: Delete and recreate libgomp before creating
2477 FAT library.
2478
da9df699
GA
24792020-10-08 Tom de Vries <tdevries@suse.de>
2480
2481 PR libgomp/81802
2482 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
2483 dimensions.
2484
8e97b905
GA
24852020-10-06 Tom de Vries <tdevries@suse.de>
2486
2487 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
2488
24892020-10-06 Tom de Vries <tdevries@suse.de>
2490
2491 PR middle-end/90861
2492 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
2493
7e9282ae
GA
24942020-10-05 Tom de Vries <tdevries@suse.de>
2495
2496 PR fortran/95654
2497 * testsuite/libgomp.fortran/pr95654.f90: New test.
2498
b0b9b8f0
GA
24992020-10-02 Tobias Burnus <tobias@codesourcery.com>
2500
2501 * Makefile.in: Regenerate with automake 1.15.1.
2502 * aclocal.m4: Likewise.
2503 * configure: Likewise.
2504 * testsuite/Makefile.in: Likewise.
2505
660bfe61
GA
25062020-09-30 Andrew Stubbs <ams@codesourcery.com>
2507
2508 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
2509 and amdgcn targets.
2510
25112020-09-30 Tobias Burnus <tobias@codesourcery.com>
2512
2513 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
2514
93bca37c
GA
25152020-09-29 Andrew Stubbs <ams@codesourcery.com>
2516
2517 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
2518 total number of threads is one.
2519 (gomp_team_barrier_wake): Likewise.
2520 (gomp_team_barrier_wait_end): Likewise.
2521 (gomp_team_barrier_wait_cancel_end): Likewise.
2522 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
2523 (gomp_team_barrier_wake): Likewise.
2524 (gomp_team_barrier_wait_end): Likewise.
2525 (gomp_team_barrier_wait_cancel_end): Likewise.
2526 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
2527
e84761c6
GA
25282020-09-28 Tobias Burnus <tobias@codesourcery.com>
2529
2530 PR middle-end/96390
2531 * testsuite/libgomp.c++/pr96390.C: New test.
2532 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
2533
4383c595
GA
25342020-09-27 Clement Chigot <clement.chigot@atos.net>
2535
2536 * config/t-aix: Use $(AR) without -X32_64.
2537
cdd8f031
GA
25382020-09-25 Jakub Jelinek <jakub@redhat.com>
2539
2540 * testsuite/libgomp.c/loop-25.c: New test.
2541
521d2711
GA
25422020-09-22 Tobias Burnus <tobias@codesourcery.com>
2543
2544 PR fortran/95654
2545 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
2546
25472020-09-22 Tom de Vries <tdevries@suse.de>
2548
2549 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
2550 fails.
2551
ecde1b0a
GA
25522020-09-16 Nathan Sidwell <nathan@acm.org>
2553
2554 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
2555
9f7ab8c5
GA
25562020-09-15 Tobias Burnus <tobias@codesourcery.com>
2557
2558 PR fortran/96668
2559 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
2560
25612020-09-15 Tobias Burnus <tobias@codesourcery.com>
2562
2563 PR fortran/96668
2564 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
2565 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
2566 (gomp_map_vars_existing): Update call to it.
2567 (gomp_map_fields_existing): Likewise
2568 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
2569 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
2570 remapped.
2571 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
2572 GOMP_MAP_POINTER.
2573 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
2574 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
2575
50a71cd0
GA
25762020-09-14 Tom de Vries <tdevries@suse.de>
2577
2578 * config/nvptx/atomic.c: New file. Add
2579 __sync_val_compare_and_swap_16.
2580 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
2581 target offload_target_nvptx.
2582
31a05046
GA
25832020-09-08 Julian Brown <julian@codesourcery.com>
2584
2585 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
2586 iteration-ordering assumptions.
2587
25882020-09-08 Julian Brown <julian@codesourcery.com>
2589
2590 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
2591 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2592
5b9a3d2a
GA
25932020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
2594
2595 * plugin/plugin-nvptx.c (nvptx_free):
2596 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
2597 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
2598 comments.
2599
26002020-08-20 Tobias Burnus <tobias@codesourcery.com>
2601
2602 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
2603
b3cb5606
GA
26042020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
2605
2606 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
2607
26082020-08-13 Jakub Jelinek <jakub@redhat.com>
2609
2610 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
2611 * testsuite/libgomp.c/loop-23.c (main): Likewise.
2612 * testsuite/libgomp.c/loop-24.c: New test.
2613
bc0ca715
GA
26142020-08-08 Jakub Jelinek <jakub@redhat.com>
2615 Tobias Burnus <tobias@codesourcery.com>
2616
2617 PR fortran/93553
2618 * testsuite/libgomp.fortran/pr93553.f90: New test.
2619
aa5ea20c
GA
26202020-08-05 Jakub Jelinek <jakub@redhat.com>
2621
2622 * testsuite/libgomp.c/loop-22.c: New test.
2623 * testsuite/libgomp.c/loop-23.c: New test.
2624
26252020-08-05 Jakub Jelinek <jakub@redhat.com>
2626
2627 PR middle-end/96459
2628 * testsuite/libgomp.c/teams-3.c: New test.
2629 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
2630 if not defined yet.
2631 (N(test)): Use it before all N(f*) calls.
2632 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
2633 (main): Don't call all test_* functions from within
2634 #pragma omp teams reduction(|:err), call them directly.
2635
abba2591
GA
26362020-08-04 Tom de Vries <tdevries@suse.de>
2637
2638 PR target/96428
2639 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
2640 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
2641
6a1ad710
GA
26422020-08-03 Julian Brown <julian@codesourcery.com>
2643 Thomas Schwinge <thomas@codesourcery.com>
2644
2645 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
2646 shared-memory devices. Extend with further checking.
2647
26482020-08-03 Martin Jambor <mjambor@suse.cz>
2649
2650 * plugin/Makefrag.am: Remove configuration of HSA plugin.
2651 * aclocal.m4: Regenerated.
2652 * Makefile.in: Regenerated.
2653 * config.h.in: Regenerated.
2654 * configure: Regenerated.
2655 * plugin/configfrag.ac: Likewise.
2656 * plugin/hsa_ext_finalize.h: Removed.
2657 * plugin/plugin-hsa.c: Likewise.
2658 * testsuite/Makefile.in: Regenerated.
2659 * testsuite/lib/libgomp.exp
2660 (offload_target_to_openacc_device_type): Remove hsa case.
2661 (check_effective_target_hsa_offloading_selected_nocache): Removed
2662 (check_effective_target_hsa_offloading_selected): Likewise.
2663 (libgomp_init): Do not add -Wno-hsa to additional_flags.
2664 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
2665 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
2666 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
2667 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
2668 * testsuite/libgomp.hsa.c/c.exp: Likewise.
2669 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
2670 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
2671 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
2672 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
2673 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
2674 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
2675 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
2676 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
2677 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
2678 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
2679 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
2680 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
2681 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
2682 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
2683 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
2684 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
2685 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
2686 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
2687 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
2688
e71dab87
GA
26892020-07-27 Julian Brown <julian@codesourcery.com>
2690 Thomas Schwinge <thomas@codesourcery.com>
2691
2692 * libgomp.h (struct target_var_desc): Rename do_detach field to
2693 is_attach.
2694 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
2695 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
2696 (goacc_enter_data_internal): Don't affect reference counts
2697 for attach mappings.
2698 (goacc_exit_data_internal): Don't affect reference counts for detach
2699 mappings.
2700 * target.c (gomp_map_vars_existing): Don't affect reference counts for
2701 attach mappings.
2702 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
2703 mark attach mappings.
2704 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
2705 reference count for attach mappings.
2706 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
2707 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
2708 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
2709 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
2710 test as shouldfail.
2711 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
2712 gracefully in no-finalize mode.
2713 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
2714
53256ee3
GA
27152020-07-24 Thomas Schwinge <thomas@codesourcery.com>
2716
2717 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
2718 use.
2719 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2720 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2721
9bb403dc
GA
27222020-07-23 Julian Brown <julian@codesourcery.com>
2723 Thomas Schwinge <thomas@codesourcery.com>
2724
2725 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
2726 finalization for detach operation.
2727 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
2728 New test.
2729
27302020-07-23 Tobias Burnus <tobias@codesourcery.com>
2731
2732 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
2733 * libgomp_f.h.in (omp_check_defines): Check whether
2734 sizeof of determined Fortran kind and C typedef match.
2735 * omp_lib.f90.in: Add omp_depened_kind.
2736 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
2737 * configure: Regenerate.
2738 * Makefile.in: Regenerate.
2739 * testsuite/Makefile.in: Regenerate.
2740
3ea9abca
GA
27412020-07-22 Tobias Burnus <tobias@codesourcery.com>
2742
2743 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
2744 gcc/testsuite/c-c++-common/gomp/.
2745 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
2746 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
2747 from gcc/testsuite/gfortran.dg/gomp/.
2748 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
2749
27502020-07-22 Tobias Burnus <tobias@codesourcery.com>
2751
2752 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
2753 * omp_lib.h.in: Likewise.
2754
aeb34e15
GA
27552020-07-18 H.J. Lu <hjl.tools@gmail.com>
2756
2757 PR target/95620
2758 * testsuite/libgomp.c/pr95620.c: New test.
2759
96686b3f
GA
27602020-07-16 Julian Brown <julian@codesourcery.com>
2761 Thomas Schwinge <thomas@codesourcery.com>
2762
2763 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
2764 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
2765
fe8185b5
GA
27662020-07-15 Tobias Burnus <tobias@codesourcery.com>
2767
2768 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
2769 avoid conversion on 32bit systems from 32bit to 64bit due
2770 to -fdefault-integer-8.
2771
27722020-07-15 Tobias Burnus <tobias@codesourcery.com>
2773
2774 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
2775 variables; add character(kind=4) tests; update TODO comment.
2776
27772020-07-15 Tobias Burnus <tobias@codesourcery.com>
2778
2779 * allocator.c: Add ialias for omp_init_allocator and
2780 omp_destroy_allocator.
2781 * configure.ac: Set INTPTR_T_KIND.
2782 * configure: Regenerate.
2783 * Makefile.in: Regenerate.
2784 * testsuite/Makefile.in: Regenerate.
2785 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
2786 omp_set_default_allocator_, omp_get_default_allocator_): New
2787 functions and ialias_redirect.
2788 * icv.c: Add ialias for omp_set_default_allocator and
2789 omp_get_default_allocator.
2790 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
2791 omp_destroy_allocator_, omp_set_default_allocator_ and
2792 omp_get_default_allocator_.
2793 * omp_lib.f90.in: Add allocator traits parameters, declare
2794 allocator routines and add related kind parameters.
2795 * omp_lib.h.in: Likewise.
2796 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
2797 * testsuite/libgomp.fortran/alloc-1.F90: New test.
2798 * testsuite/libgomp.fortran/alloc-2.F90: New test.
2799 * testsuite/libgomp.fortran/alloc-3.F: New test.
2800 * testsuite/libgomp.fortran/alloc-4.f90: New test.
2801 * testsuite/libgomp.fortran/alloc-5.f90: New test.
2802
8ca07a30
GA
28032020-07-14 Tom de Vries <tom@codesourcery.com>
2804 Cesar Philippidis <cesar@codesourcery.com>
2805 Thomas Schwinge <thomas@codesourcery.com>
2806 Kwok Cheung Yeung <kcy@codesourcery.com>
2807
2808 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
2809 New variable.
2810 (acc_init_1): Set acc_init_thread to pthread_self (). Set
2811 acc_init_state to initializing at the start, and to initialized at the
2812 end.
2813 (self_initializing_p): New function.
2814 (acc_get_device_type): Return acc_device_none if called by thread that
2815 is currently executing acc_init_1.
2816 * libgomp.texi (acc_get_device_type): Update documentation.
2817 (Implementation Status and Implementation-Defined Behavior): Likewise.
2818 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
2819
28202020-07-14 David Edelsohn <dje.gcc@gmail.com>
2821
2822 * config/t-aix: Set BITS from compiler cpp macro.
2823
28242020-07-14 Tobias Burnus <tobias@codesourcery.com>
2825
2826 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
2827
28282020-07-14 Tobias Burnus <tobias@codesourcery.com>
2829
2830 PR fortran/67311
2831 * testsuite/libgomp.fortran/target-map-1.f90: New test.
2832
28332020-07-14 Jakub Jelinek <jakub@redhat.com>
2834
2835 * testsuite/libgomp.c/loop-21.c: New test.
2836
ea69fcf9
GA
28372020-07-13 Julian Brown <julian@codesourcery.com>
2838 Thomas Schwinge <thomas@codesourcery.com>
2839
2840 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
2841
86536295
GA
28422020-07-10 Julian Brown <julian@codesourcery.com>
2843 Thomas Schwinge <thomas@codesourcery.com>
2844
2845 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
2846 dynamic_refcount.
2847 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
2848 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
2849 dynamic_refcount.
2850 (acc_unmap_data): Update comment.
2851 (goacc_map_var_existing, goacc_enter_datum): Adjust for
2852 dynamic_refcount semantics.
2853 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
2854 Adjust for dynamic_refcount semantics.
2855 (goacc_enter_data_internal): Implement "present" case of dynamic
2856 memory-map handling here. Update "non-present" case for
2857 dynamic_refcount semantics.
2858 (goacc_exit_data_internal): Use goacc_exit_datum_1.
2859 * target.c (gomp_map_vars_internal): Remove
2860 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
2861 handling.
2862 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
2863 (gomp_load_image_to_device): Substitute dynamic_refcount for
2864 virtual_refcount.
2865 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
2866 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
2867 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
2868 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
2869 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
2870 trace output.
2871 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
2872 trace output.
2873 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
2874 test.
2875 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
2876 Remove stale comment.
2877 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
2878 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
2879 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2880 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2881 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2882 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
2883
28842020-07-10 Julian Brown <julian@codesourcery.com>
2885 Thomas Schwinge <thomas@codesourcery.com>
2886
2887 * oacc-mem.c (goacc_map_var_existing): New function.
2888 (goacc_enter_datum): Use above function.
2889 (goacc_exit_datum_1): New function.
2890 (goacc_exit_datum): Use above function.
2891
3f8ca9cb
GA
28922020-07-09 Julian Brown <julian@codesourcery.com>
2893 Thomas Schwinge <thomas@codesourcery.com>
2894
2895 PR middle-end/95270
2896 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
2897 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
2898
28992020-07-09 Julian Brown <julian@codesourcery.com>
2900
2901 * oacc-mem.c (find_group_last): Group data-movement clauses
2902 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
2903 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
2904
29052020-07-09 Jakub Jelinek <jakub@redhat.com>
2906
2907 * testsuite/libgomp.c/loop-19.c: New test.
2908 * testsuite/libgomp.c/loop-20.c: New test.
2909
29102020-07-09 Jakub Jelinek <jakub@redhat.com>
2911
2912 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
2913 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
2914 it. Remove __omp_alloctrait_value_max__.
2915 * allocator.c (omp_init_allocator): Handle omp_atv_default for
2916 omp_atk_alignment and omp_atk_pool_size.
2917
b991c834
GA
29182020-07-03 Thomas Schwinge <thomas@codesourcery.com>
2919
2920 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
2921 behavior for 'GOMP_MAP_FORCE_FROM'.
2922 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
2923
29242020-07-03 Thomas Schwinge <thomas@codesourcery.com>
2925
2926 * oacc-mem.c (goacc_exit_data_internal): Remove
2927 'GOMP_MAP_ALWAYS_FROM' handling.
2928
46fbb6c6
GA
29292020-06-30 Thomas Schwinge <thomas@codesourcery.com>
2930
2931 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
2932 'scan-assembler' with 'scan-offload-rtl'.
2933 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2934 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
2935 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
2936 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
2937
29382020-06-30 Thomas Schwinge <thomas@codesourcery.com>
2939
2940 * target.c (gomp_map_vars_existing): Assert 'kind !=
2941 GOMP_MAP_ATTACH'.
2942 (gomp_map_vars_internal): Clean up.
2943
9a33c41f
GA
29442020-06-27 Jakub Jelinek <jakub@redhat.com>
2945
2946 * testsuite/libgomp.c/loop-17.c: New test.
2947 * testsuite/libgomp.c/loop-18.c: New test.
2948
c9c05f73
GA
29492020-06-26 Marek Polacek <polacek@redhat.com>
2950
2951 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
2952
4543acc8
GA
29532020-06-23 Alexandre Oliva <oliva@adacore.com>
2954
2955 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
2956 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
2957
605a8f3b
GA
29582020-06-22 David Edelsohn <dje.gcc@gmail.com>
2959
2960 * Makefile.am: Use -include.
2961 * Makefile.in: Regenerate.
2962
f86e11a2
GA
29632020-06-21 David Edelsohn <dje.gcc@gmail.com>
2964
2965 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
2966 * Makefile.in: Regenerate
2967 * configure.ac (tmake_file): Substitute.
2968 * configure: Regenerate.
2969 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
2970 * config/t-aix: New file.
2971
aff95ee7
GA
29722020-06-17 Thomas Schwinge <thomas@codesourcery.com>
2973
2974 PR lto/94848
2975 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
2976 'dg-do run'.
2977
29782020-06-17 Andrew Stubbs <ams@codesourcery.com>
2979
2980 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
2981 variant for HSA_RUNTIME_LIB name.
2982 (find_executable_symbol_1): Delete.
2983 (find_executable_symbol): Delete.
2984 (init_kernel_properties): Add ".kd" suffix to symbol names.
2985 (find_load_offset): Delete.
2986 (create_and_finalize_hsa_program): Remove relocation handling.
2987
56638b9b
GA
29882020-06-16 Tobias Burnus <tobias@codesourcery.com>
2989
2990 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
2991
2c455ae0
GA
29922020-06-08 Tobias Burnus <tobias@codesourcery.com>
2993
2994 PR lto/94848
2995 PR middle-end/95551
2996 * testsuite/libgomp.fortran/target-var.f90: New test.
2997
1a59f3db
GA
29982020-06-05 Thomas Schwinge <thomas@codesourcery.com>
2999 Julian Brown <julian@codesourcery.com>
3000
3001 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
3002 special handling.
3003
30042020-06-05 Thomas Schwinge <thomas@codesourcery.com>
3005 Julian Brown <julian@codesourcery.com>
3006
3007 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3008 Simplify.
3009
30102020-06-05 Julian Brown <julian@codesourcery.com>
3011
3012 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
3013 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
3014
3add3425
GA
30152020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3016
3017 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3018 Evaluate 'copyfrom' individually for each entry.
3019 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
3020
30212020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3022
3023 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3024 Evaluate 'finalize' individually for each entry.
3025 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
3026 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
3027 file.
3028
30292020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3030
3031 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
3032 usage.
3033 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
3034
30352020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3036 Julian Brown <julian@codesourcery.com>
3037
3038 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
3039 checking.
3040 (acc_unmap_data, goacc_exit_data_internal): Restore
3041 'is_tgt_unmapped' checking.
3042 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
3043 file.
3044 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
3045 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3046 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3047 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3048 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3049 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3050
30512020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3052 Julian Brown <julian@codesourcery.com>
3053
3054 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
3055
30562020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3057
3058 PR libgomp/92854
3059 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
3060
30612020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3062
3063 PR libgomp/92854
3064 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
3065 more.
3066
30672020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3068 Julian Brown <julian@codesourcery.com>
3069
3070 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
3071 'gomp_map_vars'.
3072 (acc_map_data): Clean up accordingly.
3073
30742020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3075
3076 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
3077 of over-eager 'finalize' clause.
3078 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
3079 file.
3080 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3081 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3082 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3083 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3084 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3085 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
3086 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3087 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
3088
30892020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3090
3091 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
3092
30932020-06-04 Julian Brown <julian@codesourcery.com>
3094
3095 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
3096 error path.
3097 (goacc_detach_internal): Likewise.
3098
30992020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3100
3101 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
3102 the checkpoint.
3103 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3104 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3105 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3106 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3107 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3108
a9312a79
GA
31092020-06-02 Jakub Jelinek <jakub@redhat.com>
3110
3111 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
3112 defined.
3113
945b53cc
GA
31142020-05-30 Jakub Jelinek <jakub@redhat.com>
3115
3116 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
3117
31182020-05-30 Jakub Jelinek <jakub@redhat.com>
3119
3120 * allocator.c (omp_alloc): For size == 0, return NULL early.
3121
885ef72f
GA
31222020-05-29 H.J. Lu <hjl.tools@gmail.com>
3123
3124 PR bootstrap/95413
3125 * configure: Regenerated.
3126
8df7ee67
TK
31272020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
3128
3129 PR libfortran/95191
3130 * testsuite/libgomp.fortran/async_io_9.f90: New test.
3131
800bcc8c
JJ
31322020-05-19 Jakub Jelinek <jakub@redhat.com>
3133
3134 * omp.h.in (omp_uintptr_t): New typedef.
3135 (__GOMP_UINTPTR_T_ENUM): Define.
3136 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
3137 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
3138 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
3139 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
3140 omp_get_default_allocator, omp_alloc, omp_free): Declare.
3141 * libgomp.h (struct gomp_team_state): Add def_allocator field.
3142 (gomp_def_allocator): Declare.
3143 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
3144 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
3145 omp_alloc and omp_free.
3146 * team.c (gomp_team_start): Copy over ts.def_allocator.
3147 * env.c (gomp_def_allocator): New variable.
3148 (parse_wait_policy): Adjust function comment.
3149 (parse_allocator): New function.
3150 (handle_omp_display_env): Print OMP_ALLOCATOR.
3151 (initialize_env): Call parse_allocator.
3152 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
3153 * allocator.c: New file.
3154 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
3155 functions.
3156 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
3157 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
3158 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
3159 * Makefile.in: Regenerated.
3160
4c1a5d8b
L
31612020-05-15 H.J. Lu <hongjiu.lu@intel.com>
3162
3163 PR bootstrap/95147
3164 * configure: Regenerated.
3165
cdc34b50
TK
31662020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
3167
3168 PR libfortran/95119
3169 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
3170
31712020-05-14 H.J. Lu <hongjiu.lu@intel.com>
3172
3173 * configure: Regenerated.
3174
31752020-05-14 Jakub Jelinek <jakub@redhat.com>
3176
3177 * testsuite/libgomp.c-c++-common/target-40.c: New test.
3178
f884bef2
TB
31792020-05-13 Tobias Burnus <tobias@codesourcery.com>
3180
3181 PR fortran/94690
3182 * testsuite/libgomp.fortran/pr66199-3.f90: New.
3183 * testsuite/libgomp.fortran/pr66199-4.f90: New.
3184 * testsuite/libgomp.fortran/pr66199-5.f90: New.
3185 * testsuite/libgomp.fortran/pr66199-6.f90: New.
3186 * testsuite/libgomp.fortran/pr66199-7.f90: New.
3187 * testsuite/libgomp.fortran/pr66199-8.f90: New.
3188 * testsuite/libgomp.fortran/pr66199-9.f90: New.
3189
dc703151
JJ
31902020-05-12 Jakub Jelinek <jakub@redhat.com>
3191
3192 * testsuite/libgomp.c/target-39.c: New test.
3193
b9dc11b6
TS
31942020-04-29 Thomas Schwinge <thomas@codesourcery.com>
3195
a5d0bc12
TS
3196 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
3197 * openacc.f90 (acc_device_current): Likewise.
3198 * openacc.h (acc_device_current): Likewise.
3199 * openacc_lib.h (acc_device_current): Likewise.
3200
7f198924
TS
3201 PR target/94282
3202 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
3203 'dg-allow-blank-lines-in-output'.
3204
4912a04f
TS
3205 * oacc-init.c (get_openacc_name): Handle 'gcn'.
3206 * testsuite/lib/libgomp.exp
3207 (offload_target_to_openacc_device_type) [amdgcn*]: Return
3208 'radeon'. Adjust all users.
3209 (check_effective_target_openacc_amdgcn_accel_present): Rename
3210 to...
3211 (check_effective_target_openacc_radeon_accel_present): ... this.
3212 Adjust all users.
3213 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
3214 (check_effective_target_openacc_radeon_accel_selected): ... this.
3215 Adjust all users.
3216
b9dc11b6
TS
3217 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
3218 'dg-do run'.
3219
966de09b
AS
32202020-04-23 Andrew Stubbs <ams@codesourcery.com>
3221
3222 PR other/94629
3223
3224 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
3225 hsa_iterate_agents.
3226 (GOMP_OFFLOAD_init_device): Check return values from both calls to
3227 hsa_agent_iterate_regions.
3228
3f5d94c1
TS
32292020-04-20 Thomas Schwinge <thomas@codesourcery.com>
3230
3231 PR middle-end/94635
3232 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
3233 run'.
3234
85d8c05a
TB
32352020-04-20 Tobias Burnus <tobias@codesourcery.com>
3236
3237 PR middle-end/94120
3238 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
3239 test case.
3240
af557050
TB
32412020-04-17 Tobias Burnus <tobias@codesourcery.com>
3242
3243 PR middle-end/94635
3244 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
3245
af4c9257
TS
32462020-04-13 Thomas Schwinge <thomas@codesourcery.com>
3247
3248 PR libgomp/92843
3249 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
3250 Rename to...
3251 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
3252 ... this.
3253 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
3254 Rename to...
3255 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
3256 ... this.
3257 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
3258 Rename to...
3259 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
3260 ... this.
3261 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
3262 Rename to...
3263 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
3264 ... this.
3265 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
3266 Rename to...
3267 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
3268 ... this.
3269 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
3270 Rename to...
3271 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
3272 ... this.
3273 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
3274 Rename to...
3275 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
3276 ... this.
3277 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
3278 Rename to...
3279 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3280 ... this.
3281 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
3282 Rename to...
3283 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
3284 ... this.
3285 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
3286 Rename to...
3287 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
3288 ... this.
3289 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
3290 Rename to...
3291 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
3292 ... this.
3293 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
3294 Rename to...
3295 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
3296 ... this.
3297 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
3298 Rename to...
3299 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
3300 ... this.
3301 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
3302 Rename to...
3303 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
3304 ... this.
3305 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
3306 Rename to...
3307 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
3308 ... this.
3309 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
3310 Rename to...
3311 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
3312 ... this.
3313
be9862dd
JB
33142020-04-10 Julian Brown <julian@codesourcery.com>
3315 Thomas Schwinge <thomas@codesourcery.com>
3316
3317 PR libgomp/92843
3318 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
3319 New file.
3320 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
3321 Likewise.
3322 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
3323 Likewise.
3324 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
3325 Likewise.
3326 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
3327 Likewise.
3328 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
3329 Likewise.
3330 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
3331 Likewise.
3332 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
3333 Likewise.
3334 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
3335 Likewise.
3336 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
3337 Likewise.
3338 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
3339 Likewise.
3340 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
3341 Likewise.
3342 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
3343 Likewise.
3344 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
3345 Likewise.
3346 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
3347 Likewise.
3348 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
3349 Likewise.
3350
6b816a5f
TS
33512020-04-10 Thomas Schwinge <thomas@codesourcery.com>
3352
3353 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
3354 run'.
3355
13e41d8b
TB
33562020-04-08 Tobias Burnus <tobias@codesourcery.com>
3357
3358 PR middle-end/94120
3359 * libgomp.oacc-c++/declare-pr94120.C: New.
3360
749bd22d
MR
33612020-04-06 Maciej W. Rozycki <macro@wdc.com>
3362
3363 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
3364 files.
3365 * configure: Regenerate.
3366 * testsuite/libgomp-site-extra.exp.in: New file.
3367 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
3368 variable.
3369 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
3370 variable.
3371 * testsuite/Makefile.in: Regenerate.
3372
2b1e849b
TS
33732020-04-03 Thomas Schwinge <thomas@codesourcery.com>
3374
3375 PR tree-optimization/89713
3376 PR c/94392
3377 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
3378 'bar.sync'.
3379 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3380
689418b9
TB
33812020-03-31 Tobias Burnus <tobias@codesourcery.com>
3382
3383 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
3384 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
3385
c2211a60
TB
33862020-03-24 Tobias Burnus <tobias@codesourcery.com>
3387
3388 PR libgomp/81689
3389 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
3390
4897bb00
TB
33912020-03-20 Tobias Burnus <tobias@codesourcery.com>
3392
3393 PR libgomp/94251
3394 * target.c (gomp_load_image_to_device): Fix link
3395 variable handling.
3396
02f7334a
JJ
33972020-03-19 Jakub Jelinek <jakub@redhat.com>
3398
3399 PR c++/93931
3400 * testsuite/libgomp.c++/pr93931.C: New test.
3401
bb83e069
TB
34022020-03-19 Tobias Burnus <tobias@codesourcery.com>
3403
3404 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
3405 dg-allow-blank-lines-in-output.
3406
26cbcfe5
TB
34072020-03-18 Julian Brown <julian@codesourcery.com>
3408 Tobias Burnus <tobias@codesourcery.com>
3409
3410 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
3411 it work concurrently.
3412
4da92887
TB
34132020-03-18 Tobias Burnus <tobias@codesourcery.com>
3414
3415 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
3416 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
3417 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
3418
9c3cdb43
JJ
34192020-03-14 Jakub Jelinek <jakub@redhat.com>
3420
3421 PR middle-end/93566
3422 * testsuite/libgomp.c/pr93566.c: New test.
3423
83d45e1d
FH
34242020-02-21 Frederik Harwath <frederik@codesourcery.com>
3425
3426 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
3427 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
3428 integer(acc_device_property) for the type of the return value of
3429 acc_get_property.
3430
8d1a1cb1
TB
34312020-02-19 Tobias Burnus <tobias@codesourcery.com>
3432
3433 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
3434 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
3435 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
3436 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
3437 (acc_set_device_num): Fix Fortran argument name, use same name for C.
3438 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
3439 corrections; add note about the previous interface and named constant.
3440 (OpenACC library and environment variables): Fix two typos.
3441 * openacc.f90: Use for all procedures the argument names from the spec
3442 as for …_h they are user visible.
3443 (openacc_kinds): Rename acc_device_property to
3444 acc_device_property_kinds and change value to int32 ; and update users.
3445 Re-add acc_device_property for for backward compatibility.
3446 (acc_get_property_string_h): Clean up as acc_device_property_kind
3447 changed.
3448 (acc_get_property_h): Likewise and return c_size_t instead of
3449 acc_device_property.
3450 (openacc): Also export acc_device_property_kinds.
3451 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
3452 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
3453 handling; check against /= 0 instead of == 1 to match C.
3454 * openacc_lib.h: Use for all procedures the argument names from the spec
3455 as for …_h they are user visible. Place !GCC$ into the first column to
3456 be active also for fixed-form souce form.
3457 (acc_device_current, acc_device_property_kind, acc_device_property,
3458 acc_property_memory, acc_property_free_memory, acc_property_name,
3459 acc_property_vendor, acc_property_driver): New named constants.
3460 (acc_get_property, acc_get_property_string): New generic interface.
3461
2d9eb4e4
FH
34622020-02-13 Frederik Harwath <frederik@codesourcery.com>
3463
3464 PR libgomp/93481
3465 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
3466 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
3467 optional.
3468 (gomp_target_task_fn): Assert "devicep->async_run_func".
3469 (clear_unsupported_flags): New function to remove unsupported flags
3470 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
3471 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
3472 * testsuite/libgomp.c/target-33.c:
3473 Remove xfail for offload_target_nvptx.
3474 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
3475
34762020-02-10 Frederik Harwath <frederik@codesourcery.com>
3477
3478 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
3479 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
3480 * testsuite/libgomp.c/target-34.c: Likewise.
3481 * testsuite/libgomp.c/target-link-1.c: Add xfail for
3482 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
3483
9bc3b95d
JJ
34842020-02-09 Jakub Jelinek <jakub@redhat.com>
3485
3486 * testsuite/libgomp.c/target-38.c: New test.
3487
cb3f0648
JJ
34882020-02-06 Jakub Jelinek <jakub@redhat.com>
3489
3490 PR libgomp/93515
3491 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
3492
91bc3c98
TB
34932020-02-05 Tobias Burnus <tobias@codesourcery.com>
3494
3495 * testsuite/lib/libgomp.exp
3496 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
3497 and not as 'source' argument to libgomp_target_compile.
3498
591f869a
AS
34992020-02-03 Andrew Stubbs <ams@codesourcery.com>
3500
3501 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
3502 (gcn_gfx801_s): Remove.
3503 (isa_hsa_name): Remove gfx801.
3504 (isa_gcc_name): Remove gfx801/carizzo.
3505 (isa_code): Remove gfx801.
3506
e464fc90
TB
35072020-02-03 Julian Brown <julian@codesourcery.com>
3508 Tobias Burnus <tobias@codesourcery.com>
3509
3510 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
3511 and *_finalize variants; document acc_attach and acc_detach; update
3512 references from OpenACC 2.0 to 2.6.
3513 * openacc.f90 (openacc_version): Update to 201711.
3514 * openacc_lib.h (openacc_version): Update to 201711.
3515 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
3516 openacc_version to 201711.
3517 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3518
5a28e272
KCY
35192020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
3520
3521 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
3522 and vgpr_count fields.
3523 (struct kernel_info): Add a field for a hsa_kernel_description.
3524 (run_kernel): Reduce the number of threads/workers if the requested
3525 number would require too many VGPRs.
3526 (init_basic_kernel_info): Initialize description field with
3527 the hsa_kernel_description entry for the kernel.
3528
5ab5d81b
TB
35292020-01-29 Tobias Burnus <tobias@codesourcery.com>
3530
3531 PR bootstrap/93409
3532 * plugin/configfrag.ac (enable_offload_targets): Skip
3533 HSA and GCN plugin besides -m32 also for -mx32.
3534 * configure: Regenerate.
3535
989a5fb3
FH
35362020-01-29 Frederik Harwath <frederik@codesourcery.com>
3537
3538 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
3539
35402020-01-29 Frederik Harwath <frederik@codesourcery.com>
3541
3542 * plugin-gcn.c (struct agent_info): Add fields "name" and
3543 "vendor_name" ...
3544 (GOMP_OFFLOAD_init_device): ... and init from here.
3545 (struct hsa_context_info): Add field "driver_version_s" ...
3546 (init_hsa_contest): ... and init from here.
3547 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
3548 implementation.
3549 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
3550 Enable test execution for amdgcn and host offloading targets.
3551 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
3552 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
3553 (expect_device_properties): Split function into ...
3554 (expect_device_string_properties): ... this new function ...
3555 (expect_device_memory): ... and this new function.
3556 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
3557 Add test.
3558
278c3214
JB
35592020-01-28 Julian Brown <julian@codesourcery.com>
3560
3561 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
3562 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
3563 component/non-component variable refs in a single directive.
3564 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
3565
e8e66971
MR
35662020-01-24 Maciej W. Rozycki <macro@wdc.com>
3567
3568 * configure.ac: Handle `--with-toolexeclibdir='.
3569 * Makefile.in: Regenerate.
3570 * aclocal.m4: Regenerate.
3571 * configure: Regenerate.
3572 * testsuite/Makefile.in: Regenerate.
3573
9e424d97
FH
35742020-01-24 Frederik Harwath <frederik@codesourcery.com>
3575
3576 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
3577 (expect_device_properties): Remove "expected_free_mem" argument,
3578 change "expected_total_mem" argument type to size_t;
3579 change types of acc_get_property results to size_t,
3580 adapt format strings.
3581 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
3582 Use %zu instead of %zd to print size_t values.
3583 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
3584 rename to ...
3585 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
3586 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
3587 rename to ...
3588 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
3589
14e5e746
AS
35902020-01-23 Andrew Stubbs <ams@codesourcery.com>
3591
3592 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
3593 the device id.
3594
09e0ad62
AS
35952020-01-20 Andrew Stubbs <ams@codesourcery.com>
3596
3597 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
3598 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
3599 Adjust test dimensions for amdgcn.
3600 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
3601 gang/worker/vector expectations dynamically.
3602 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
3603 (main): Likewise.
3604 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
3605 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
3606 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
3607 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
3608 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
3609 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
3610 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
3611 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
3612 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
3613 (acc_gang): Recognise acc_device_radeon.
3614 (acc_worker): Likewise.
3615 (acc_vector): Likewise.
3616 (main): Set expectations for amdgcn.
3617 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
3618 (main): Adjust gang/worker/vector expectations dynamically.
3619 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
3620 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
3621 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
3622 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
3623 for amdgcn.
3624
6687d13a
AS
36252020-01-17 Andrew Stubbs <ams@codesourcery.com>
3626
3627 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
3628 acc_device_radeon.
3629 (openacc): Likewise.
3630 * openacc.f90 (openacc_kinds): Likewise.
3631 (openacc): Likewise.
3632 * openacc.h (acc_device_t): Likewise.
3633 * openacc_lib.h: Likewise.
3634 * testsuite/lib/libgomp.exp
3635 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
3636 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
3637 (cb_compute_construct_end): Likewise.
3638 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
3639 (cb_enqueue_launch_start): Likewise.
3640 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
3641 (cb_enter_data_end): Likewise.
3642 (cb_exit_data_start): Likewise.
3643 (cb_exit_data_end): Likewise.
3644 (cb_compute_construct_end): Likewise.
3645 (cb_enqueue_launch_start): Likewise.
3646 (cb_enqueue_launch_end): Likewise.
3647 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
3648 (main): Likewise.
3649
b3b75e66
TS
36502020-01-10 Thomas Schwinge <thomas@codesourcery.com>
3651
6fc0385c
TS
3652 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
3653 to use this instead of 'enum gomp_device_property'.
3654 (GOMP_OFFLOAD_get_property): Rename to...
3655 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
3656 * libgomp.h (struct gomp_device_descr): Move
3657 'GOMP_OFFLOAD_openacc_get_property'...
3658 (struct acc_dispatch_t): ... here. Adjust all users.
3659 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
3660
b3b75e66
TS
3661 * target.c (gomp_map_vars_internal)
3662 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
3663 paths.
3664
91df4397
JJ
36652020-01-10 Jakub Jelinek <jakub@redhat.com>
3666
3667 PR libgomp/93219
3668 * libgomp.h (gomp_print_string): Change return type from void to int.
3669 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
3670 not all characters have been written.
3671
df2c0d36
TB
36722020-01-08 Tobias Burnus <tobias@codesourcery.com>
3673
3674 * libgomp.texi: Fix typos, use https.
3675
f760c0c7
TB
36762020-01-03 Tobias Burnus <tobias@codesourcery.com>
3677
3678 * testsuite/libgomp.fortran/optional-map.f90: Add test for
3679 unallocated/disassociated actual arguments to nonallocatable/nonpointer
3680 dummy arguments; those are/shall be regarded as absent arguments.
3681 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
3682 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
3683
7e7065b9
JJ
36842020-01-01 Jakub Jelinek <jakub@redhat.com>
3685
8d9254fc
JJ
3686 Update copyright years.
3687
7e7065b9
JJ
3688 * libgomp.texi: Bump @copying's copyright year.
3689
2c829799
AM
36902019-12-31 Ayush Mittal <ayush.m@samsung.com>
3691
3692 PR libgomp/93065
3693 * oacc-init.c (goacc_runtime_deinitialize): New function.
3694
e9dcb75e
JJ
36952019-12-28 Jakub Jelinek <jakub@redhat.com>
3696
3697 PR bootstrap/93074
3698 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
3699 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
3700
6c84c8bf
MR
37012019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
3702 Frederik Harwath <frederik@codesourcery.com>
3703 Thomas Schwinge <tschwinge@codesourcery.com>
3704
3705 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
3706 * libgomp-plugin.h (gomp_device_property_value): New union.
3707 (gomp_device_property_value): New prototype.
3708 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
3709 constant.
3710 (acc_device_property_t): New enum.
3711 (acc_get_property, acc_get_property_string): New prototypes.
3712 * oacc-init.c (acc_get_device_type): Also assert that result
3713 is not `acc_device_current'.
3714 (get_property_any, acc_get_property, acc_get_property_string):
3715 New functions.
3716 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
3717 `acc_property_memory', `acc_property_free_memory',
3718 `acc_property_name', `acc_property_vendor' and
3719 `acc_property_driver' constants. Add `acc_device_property' data
3720 type.
3721 (openacc_internal): Add `acc_get_property' and
3722 `acc_get_property_string' interfaces. Add `acc_get_property_h',
3723 `acc_get_property_string_h', `acc_get_property_l' and
3724 `acc_get_property_string_l'.
3725 * oacc-host.c (host_get_property): New function.
3726 (host_dispatch): Wire it.
3727 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
3728 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
3729 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
3730 * libgomp.texi (OpenACC Runtime Library Routines): Add
3731 `acc_get_property'.
3732 (acc_get_property): New node.
3733 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
3734 function (stub).
3735 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
3736 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
3737 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
3738 calls.
3739 (GOMP_OFFLOAD_get_property): New function.
3740 (struct ptx_device): Add new field "name".
3741 (cuda_driver_version_s): Add new static variable ...
3742 (nvptx_init): ... and init from here.
3743
3744 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
3745 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
3746 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
3747 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
3748 with test helper functions.
3749
3750 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
3751
c8e759b4
MR
37522019-12-22 Maciej W. Rozycki <macro@wdc.com>
3753
3754 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
3755 variable.
3756
b092fb3b
TS
37572019-12-21 Thomas Schwinge <thomas@codesourcery.com>
3758
3759 * target.c (gomp_map_vars_internal): Restore 'omp declare target
3760 link' handling.
3761
9be3ac5d
JB
37622019-12-19 Julian Brown <julian@codesourcery.com>
3763
3764 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
3765 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
3766 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
3767
02817027
JB
37682019-12-19 Julian Brown <julian@codesourcery.com>
3769 Cesar Philippidis <cesar@codesourcery.com>
3770
3771 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
3772 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
3773 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
3774 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
3775 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
3776 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
3777 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
3778 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
3779 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
3780 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
3781 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
3782 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
3783 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
3784
c2eb021f
JB
37852019-12-19 Julian Brown <julian@codesourcery.com>
3786
3787 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
3788 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
3789 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
3790 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
3791 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
3792 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
3793 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
3794 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
3795 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
3796 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
3797 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
3798 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
3799
8e7e71ff
JB
38002019-12-19 Julian Brown <julian@codesourcery.com>
3801
3802 * libgomp.h (struct target_var_desc): Add do_detach flag.
3803 * oacc-init.c (acc_shutdown_1): Free aux block if present.
3804 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
3805 struct components. Tidy up and add some new checks.
3806 (goacc_enter_data_internal): Update call to find_group_last.
3807 (goacc_exit_data_internal): Support detach operations and
3808 GOMP_MAP_STRUCT.
3809 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
3810 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
3811 attach/detach in enter/exit data detection code.
3812 * target.c (gomp_map_vars_existing): Initialise do_detach field of
3813 tgt_var_desc.
3814 (gomp_map_vars_internal): Support attach.
3815 (gomp_unmap_vars_internal): Support detach.
3816
5d5be7bf
JB
38172019-12-19 Julian Brown <julian@codesourcery.com>
3818 Thomas Schwinge <thomas@codesourcery.com>
3819
3820 * libgomp.h (struct splay_tree_aux): Add attach_count field.
3821 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
3822 * libgomp.map (OACC_2.6): New section. Add acc_attach,
3823 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
3824 acc_detach_finalize_async.
3825 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
3826 acc_detach, acc_detach_async, acc_detach_finalize,
3827 acc_detach_finalize_async): New functions.
3828 * openacc.h (acc_attach, acc_attach_async, acc_detach,
3829 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
3830 prototypes.
3831 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
3832 (gomp_remove_var_internal): Free attachment counts if present.
3833 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
3834 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
3835
5bcd470b
JB
38362019-12-19 Julian Brown <julian@codesourcery.com>
3837 Cesar Philippidis <cesar@codesourcery.com>
3838
3839 * libgomp.h (gomp_map_val): Add prototype.
3840 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
3841 open-coding device-address calculation.
3842 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
3843 non-present case.
3844
378da98f
JB
38452019-12-19 Julian Brown <julian@codesourcery.com>
3846
3847 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
3848 field for virtual_refcount.
3849 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3850 (gomp_free_memmap): Remove prototype.
3851 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
3852 instead of calling gomp_free_memmap.
3853 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
3854 dynamic_refcount.
3855 (acc_unmap_data): Open code instead of forcing target_mem_desc's
3856 to_free field to NULL then calling gomp_unmap_vars. Handle
3857 REFCOUNT_INFINITY on target blocks.
3858 (goacc_enter_data): Rename to...
3859 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
3860 handling for mapping groups. Use virtual_refcount instead of
3861 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
3862 map_map_vars_async call. Re-do lookup for target pointer return value.
3863 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
3864 renamed goacc_enter_datum function.
3865 (goacc_exit_data): Rename to...
3866 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
3867 (acc_delete, acc_delete_async, acc_delete_finalize,
3868 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
3869 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
3870 goacc_exit_datum function.
3871 (gomp_acc_remove_pointer, find_pointer): Remove functions.
3872 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
3873 New functions.
3874 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
3875 goacc_exit_data_internal helper functions.
3876 * target.c (gomp_map_vars_internal): Handle
3877 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
3878 semantics.
3879 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
3880 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
3881 virtual_refcount field instead of dynamic_refcount.
3882 (gomp_free_memmap): Remove function.
3883 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
3884 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
3885 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
3886
2a656a93
JB
38872019-12-19 Julian Brown <julian@codesourcery.com>
3888 Thomas Schwinge <thomas@codesourcery.com>
3889
3890 * libgomp.h (struct splay_tree_aux): New.
3891 (struct splay_tree_key_s): Replace link_key field with aux pointer.
3892 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
3893 to aux struct.
3894 (gomp_remove_var_internal): Free aux block if present.
3895 (gomp_load_image_to_device): Zero-initialise aux field instead of
3896 link_key field.
3897 (omp_target_associate_pointer): Zero-initialise aux field.
3898
601399c0
JJ
38992019-12-18 Jakub Jelinek <jakub@redhat.com>
3900
3901 PR middle-end/86416
3902 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
3903 q or none.
3904 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
3905 L or none.
3906
a6163563
JB
39072019-12-19 Julian Brown <julian@codesourcery.com>
3908 Maciej W. Rozycki <macro@codesourcery.com>
3909 Tobias Burnus <tobias@codesourcery.com>
3910 Thomas Schwinge <thomas@codesourcery.com>
3911
3912 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
3913 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
3914 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
3915 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
3916 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
3917 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
3918 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
3919 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
3920 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
3921
6278b549
TS
39222019-12-18 Thomas Schwinge <thomas@codesourcery.com>
3923
77ce5555
TS
3924 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
3925 called...
3926 (goacc_insert_pointer): ... from here, "present" case.
3927 (goacc_insert_pointer): Inline function into...
3928 (GOACC_enter_exit_data): ... here, and simplify.
3929
9444a299
TS
3930 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
3931 called...
3932 (goacc_insert_pointer): ... from here, "not present" case.
3933
5031b619
TS
3934 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
3935 all users.
3936
1a79b578
TS
3937 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
3938 'goacc_enter_data', 'goacc_exit_data'.
3939
34cfe31e
TS
3940 * oacc-mem.c (delete_copyout): Refactor into...
3941 (goacc_exit_data): ... this. Adjust all users.
3942
aaf0e9d7
TS
3943 * oacc-mem.c (present_create_copy): Refactor into...
3944 (goacc_enter_data): ... this. Adjust all users.
3945
83d1d065
TS
3946 * target.c (gomp_unmap_vars_internal): Add a safeguard to
3947 'gomp_remove_var'.
3948
cc3f11f5
TS
3949 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
3950 like 'GOMP_MAP_FROM'.
3951
ddb25eb9
TS
3952 PR libgomp/92726
3953 PR libgomp/92970
3954 PR libgomp/92984
3955 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
3956 fails.
3957 (GOACC_enter_exit_data): Simplify accordingly.
3958 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
3959 subsuming...
3960 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
3961 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
3962 file.
3963 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
3964 subsuming...
3965 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
3966 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
3967 file.
3968 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
3969 subsuming...
3970 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
3971
32128577
TS
3972 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
3973 'finalize' handling.
3974
ba40277f
TS
3975 PR libgomp/92848
3976 * oacc-mem.c (acc_map_data, present_create_copy)
3977 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
3978 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
3979 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
3980 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
3981 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
3982 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
3983 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
3984 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
3985 Remove "XFAIL"s.
3986
6278b549
TS
3987 * target.c (gomp_unmap_tgt): Make it 'static'.
3988 * libgomp.h (gomp_unmap_tgt): Remove.
3989
c80c9e26
TB
39902019-12-18 Tobias Burnus <tobias@codesourcery.com>
3991
3992 PR middle-end/86416
3993 * testsuite/libgomp.c/pr86416-1.c: New.
3994 * testsuite/libgomp.c/pr86416-2.c: New.
3995
0b8499a4
TB
39962019-12-17 Tobias Burnus <tobias@codesourcery.com>
3997
3998 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
3999 all symbols as public except for the 'use …, only' imported symbol,
4000 which is private.
4001 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4002 all symbols from module openacc_kinds as PUBLIC
4003 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
4004 fix comment typo.
4005 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
4006
1cbd94e8
JB
40072019-12-13 Julian Brown <julian@codesourcery.com>
4008
4009 PR libgomp/92881
4010
4011 * libgomp.h (gomp_remove_var_async): Add prototype.
4012 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
4013 gomp_remove_var.
4014 * target.c (gomp_unref_tgt): Change return type to bool, indicating
4015 whether target_mem_desc was unmapped.
4016 (gomp_unref_tgt_void): New.
4017 (gomp_remove_var): Reimplement in terms of...
4018 (gomp_remove_var_internal): ...this new helper function.
4019 (gomp_remove_var_async): New, implemented using above helper function.
4020 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
4021 gomp_unref_tgt.
4022
26b74ed0
AS
40232019-12-13 Andrew Stubbs <ams@codesourcery.com>
4024
4025 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
4026 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4027 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
4028 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
4029 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
4030 Likewise.
4031 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
4032 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
4033
7858bb96
TB
40342019-12-13 Tobias Burnus <tobias@codesourcery.com>
4035
4036 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
4037 as public except for the 'use …, only' imported symbol, which is
4038 private.
4039 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4040 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
4041 attributes for acc_copyout_finalize and acc_delete_finalize.
4042
f8ac7d8f
JJ
40432019-12-11 Jakub Jelinek <jakub@redhat.com>
4044
4045 PR fortran/92899
4046 * testsuite/libgomp.fortran/atomic1.f90: New test.
4047
3d1b5e71
TS
40482019-12-11 Thomas Schwinge <thomas@codesourcery.com>
4049
d6e8c01c
TS
4050 PR libgomp/92843
4051 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
4052 reference counting for structured 'REFCOUNT_INFINITY'. Add some
4053 assertions.
4054 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
4055 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
4056 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
4057 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4058 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4059
57963e39
TS
4060 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
4061 * oacc-mem.c: ... here.
4062 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
4063 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
4064 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4065 Remove.
4066 * libgomp_g.h: Update.
4067
c5578b56
TS
4068 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
4069 * oacc-async.c: ... here.
4070 * oacc-int.h (goacc_wait): Declare.
4071 * libgomp_g.h: Update
4072
3d1b5e71
TS
4073 PR libgomp/92854
4074 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
4075 New file.
4076 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
4077 Likewise.
4078 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
4079 Likewise.
4080 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
4081 Likewise.
4082 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
4083 Likewise.
4084 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
4085 Likewise.
4086
5e939438
TS
40872019-12-11 Thomas Schwinge <thomas@codesourcery.com>
4088 Julian Brown <julian@codesourcery.com>
4089
4090 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
4091 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
4092
93d90219
TB
40932019-12-11 Tobias Burnus <tobias@codesourcery.com>
4094
4095 * omp_lib.h.in: Fix spelling of function declaration
4096 omp_get_cancell(l)ation.
4097 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
4098 Fix typos.
4099 * env.c: Fix comment typos.
4100 * oacc-host.c: Likewise.
4101 * ordered.c: Likewise.
4102 * task.c: Likewise.
4103 * team.c: Likewise.
4104 * config/gcn/task.c: Likewise.
4105 * config/gcn/team.c: Likewise.
4106 * config/nvptx/task.c: Likewise.
4107 * config/nvptx/team.c: Likewise.
4108 * plugin/plugin-gcn.c: Likewise.
4109 * testsuite/libgomp.fortran/jacobi.f: Likewise.
4110 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4111 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
4112
a0221aee
TB
41132019-12-11 Tobias Burnus <tobias@codesourcery.com>
4114
4115 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
4116 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
4117 unnecessary 'dg-additional-options "-w"'.
4118
47afc7b4
TS
41192019-12-09 Thomas Schwinge <thomas@codesourcery.com>
4120 Julian Brown <julian@codesourcery.com>
4121
4122 PR libgomp/92116
4123 PR libgomp/92877
4124
4125 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
4126 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
4127 Adjust all users.
4128 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4129 Remove XFAIL.
4130 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4131 Likewise.
4132 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
4133
b5859e40
TS
41342019-12-09 Thomas Schwinge <thomas@codesourcery.com>
4135
cec41816
TS
4136 PR libgomp/92503
4137 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
4138 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
4139 file.
4140 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
4141 Likewise.
4142 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
4143 Likewise.
4144 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
4145 Likewise.
4146 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4147 Likewise.
4148 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4149 Likewise.
4150 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4151 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4152 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4153 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4154 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4155 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4156 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4157 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4158 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4159 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4160
e103542b
TS
4161 PR libgomp/92840
4162 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
4163 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
4164 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
4165 New file.
4166 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
4167 Likewise.
4168 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
4169 Likewise.
4170 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4171 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
4172
41f36f22
TS
4173 PR libgomp/92511
4174 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
4175 this file...
4176 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
4177 this file...
4178 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
4179 file...
4180 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
4181 file...
4182 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4183 ... with their content moved into, and extended in this new file.
4184 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
4185 New file.
4186 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
4187 Likewise.
4188 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
4189 Likewise.
4190 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
4191 Likewise.
4192
6effebe1
TS
4193 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
4194
7d020473
TS
4195 PR libgomp/92854
4196 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
4197
1e1fb715
TS
4198 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
4199
b5859e40
TS
4200 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
4201
11586ed9
TB
42022019-12-09 Tobias Burnus <tobias@codesourcery.com>
4203
4204 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
4205 unique.
4206 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
4207 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4208 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
4209 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
4210 Ditto.
4211 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
4212 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
4213
3ad4a03a
KCY
42142019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
4215
4216 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
4217
6e4d01d6
TB
42182019-12-06 Tobias Burnus <tobias@codesourcery.com>
4219 Kwok Cheung Yeung <kcy@codesourcery.com>
4220
4221 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
4222 if input it a NULL pointer.
4223 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
4224 diagnostic of NULL pointer.
4225 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
4226 * testsuite/libgomp.fortran/optional-map.f90: New.
4227 * testsuite/libgomp.fortran/use_device_addr-1.f90
4228 (test_dummy_opt_callee_1_absent): New.
4229 (test_dummy_opt_call_1): Call it.
4230 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
4231 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
4232 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
4233 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
4234 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
4235 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
4236 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
4237 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
4238 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
4239 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
4240 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
4241 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
4242 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
4243 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
4244 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
4245 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
4246
ad80ec46
TB
42472019-12-05 Tobias Burnus <tobias@codesourcery.com>
4248
4249 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
4250 expect dg-output of 'Error termination.' for GCN.
4251 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4252 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4253
a8a5f4cc
JJ
42542019-12-04 Jakub Jelinek <jakub@redhat.com>
4255
4256 PR fortran/92756
4257 * testsuite/libgomp.fortran/teams1.f90: New test.
4258 * testsuite/libgomp.fortran/teams2.f90: New test.
4259
d8f0024b
FH
42602019-12-03 Frederik Harwath <frederik@codesourcery.com>
4261
4262 * oacc-init.c (acc_known_device_type): Add function.
4263 (unknown_device_type_error): Add function.
4264 (name_of_acc_device_t): Change to call unknown_device_type_error
4265 on unknown type.
4266 (resolve_device): Use acc_known_device_type.
4267 (acc_init): Fail if acc_device_t argument is not valid.
4268 (acc_shutdown): Likewise.
4269 (acc_get_num_devices): Likewise.
4270 (acc_set_device_type): Likewise.
4271 (acc_get_device_num): Likewise.
4272 (acc_set_device_num): Likewise.
4273 (acc_on_device): Add comment that argument validity is not checked.
4274
83caa34e
AS
42752019-12-03 Andrew Stubbs <ams@codesourcery.com>
4276
4277 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
4278 Recognize amdgcn.
4279 (check_effective_target_openacc_amdgcn_accel_present): New proc.
4280 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
4281 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
4282 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4283 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4284
00484365
SN
42852019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
4286
4287 PR libgomp/91938
4288 * configure.tgt: Avoid IE tls on *-*-musl*.
4289
9909a059
TB
42902019-11-29 Tobias Burnus <tobias@codesourcery.com>
4291
4292 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
4293 adding a common-block test case.
4294
b3f44388
JJ
42952019-11-29 Jakub Jelinek <jakub@redhat.com>
4296
4297 PR c++/60228
4298 * testsuite/libgomp.c++/udr-20.C: New test.
4299 * testsuite/libgomp.c++/udr-21.C: New test.
4300
b1a73b48
TS
43012019-11-27 Thomas Schwinge <thomas@codesourcery.com>
4302
4303 * testsuite/lib/libgomp.exp
4304 (check_effective_target_offload_target_nvptx): New proc.
4305 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
4306 'dg-skip-if'.
4307 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
4308 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
4309 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
4310
b8e72446
RO
43112019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4312
4313 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
4314 * testsuite/libgomp.c/pr39591-2.c: Likewise.
4315 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4316 * testsuite/libgomp.c/private-1.c: Likewise.
4317 * testsuite/libgomp.c/task-1.c: Likewise.
4318 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
4319
d88b27da
JB
43202019-11-20 Julian Brown <julian@codesourcery.com>
4321
4322 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
4323 aq->mutex here.
4324 (queue_push_launch): Lock aq->mutex before calling
4325 wait_for_queue_nonfull.
4326 (queue_push_callback): Likewise.
4327 (queue_push_asyncwait): Likewise.
4328 (queue_push_placeholder): Likewise.
4329
8d2f4ddf
JB
43302019-11-20 Julian Brown <julian@codesourcery.com>
4331
4332 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
4333 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
4334 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
4335 return code.
4336
e307b05f
JB
43372019-11-20 Julian Brown <julian@codesourcery.com>
4338
4339 PR libgomp/92511
4340
4341 * oacc-mem.c (present_create_copy): Fix device pointer return value in
4342 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
4343 in non-present/create case.
4344 (delete_copyout): Change error condition to fail only on copies outside
4345 of mapped block. Adjust error message accordingly.
4346 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
4347 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
4348 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
4349 message.
4350 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4351 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
4352 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4353
83115e9e
MR
43542019-11-20 Maciej W. Rozycki <macro@wdc.com>
4355
4356 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
4357 libatomic in build-tree testing.
4358
a1289887
MR
43592019-11-18 Maciej W. Rozycki <macro@wdc.com>
4360
4361 * testsuite/Makefile.in: Regenerate.
4362
8916ba87
AS
43632019-11-15 Andrew Stubbs <ams@codesourcery.com>
4364
4365 * testsuite/libgomp.c/target-print-1.c: New file.
4366 * testsuite/libgomp.fortran/target-print-1.f90: New file.
4367 * testsuite/libgomp.oacc-c/print-1.c: New file.
4368 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
4369
237957cc
AS
43702019-11-13 Andrew Stubbs <ams@codesourcery.com>
4371 Kwok Cheung Yeung <kcy@codesourcery.com>
4372 Julian Brown <julian@codesourcery.com>
4373 Tom de Vries <tom@codesourcery.com>
4374
4375 * plugin/Makefrag.am: Add amdgcn plugin support.
4376 * plugin/configfrag.ac: Likewise.
4377 * plugin/plugin-gcn.c: New file.
4378 * configure: Regenerate.
4379 * Makefile.in: Regenerate.
4380 * testsuite/Makefile.in: Regenerate.
4381
cee16451
AS
43822019-11-13 Andrew Stubbs <ams@codesourcery.com>
4383
4384 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
4385 and use team_malloc variants.
4386 (gomp_gcn_exit_kernel): Use team_free.
4387 * libgomp.h (TEAM_ARENA_SIZE): Define.
4388 (TEAM_ARENA_START): Define.
4389 (TEAM_ARENA_FREE): Define.
4390 (TEAM_ARENA_END): Define.
4391 (team_malloc): New function.
4392 (team_malloc_cleared): New function.
4393 (team_free): New function.
4394 * team.c (gomp_new_team): Initialize and use team_malloc.
4395 (free_team): Use team_free.
4396 (gomp_free_thread): Use team_free.
4397 (gomp_pause_host): Use team_free.
4398 * work.c (gomp_init_work_share): Use team_malloc.
4399 (gomp_fini_work_share): Use team_free.
4400
fa499995
AS
44012019-11-13 Andrew Stubbs <ams@codesourcery.com>
4402 Kwok Cheung Yeung <kcy@codesourcery.com>
4403 Julian Brown <julian@codesourcery.com>
4404 Tom de Vries <tom@codesourcery.com>
4405
4406 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
4407 * Makefile.in: Regenerate.
4408 * config.h.in (PLUGIN_GCN): Add new undef.
4409 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
4410 * config/gcn/affinity-fmt.c: New file.
4411 * config/gcn/bar.c: New file.
4412 * config/gcn/bar.h: New file.
4413 * config/gcn/doacross.h: New file.
4414 * config/gcn/icv-device.c: New file.
4415 * config/gcn/oacc-target.c: New file.
4416 * config/gcn/simple-bar.h: New file.
4417 * config/gcn/target.c: New file.
4418 * config/gcn/task.c: New file.
4419 * config/gcn/team.c: New file.
4420 * config/gcn/time.c: New file.
4421 * configure.ac: Add amdgcn*-*-*.
4422 * configure: Regenerate.
4423 * configure.tgt: Add amdgcn*-*-*.
4424 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
4425 * libgomp.h (gcn_thrs): Add amdgcn variant.
4426 (set_gcn_thrs): Likewise.
4427 (gomp_thread): Likewise.
4428 * oacc-int.h (goacc_thread): Likewise.
4429 * oacc-target.c: New file.
4430 * openacc.f90 (acc_device_gcn): New parameter.
4431 * openacc.h (acc_device_t): Add acc_device_gcn.
4432 * team.c (gomp_free_pool_helper): Add amdgcn support.
4433
d2903ce0
AS
44342019-11-13 Andrew Stubbs <ams@codesourcery.com>
4435 Julian Brown <julian@codesourcery.com>
4436
4437 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
4438 parameter.
4439 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
4440 queue constructor.
4441 * oacc-host.c (host_openacc_async_construct): Add device parameter.
4442 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
4443 device parameter.
4444
b3d14b3a
AS
44452019-11-13 Andrew Stubbs <ams@codesourcery.com>
4446
4447 * configure.tgt (nvptx*-*-*): Add "accel" directory.
4448 * config/nvptx/libgomp-plugin.c: Move ...
4449 * config/accel/libgomp-plugin.c: ... to here.
4450 * config/nvptx/lock.c: Move ...
4451 * config/accel/lock.c: ... to here.
4452 * config/nvptx/mutex.c: Move ...
4453 * config/accel/mutex.c: ... to here.
4454 * config/nvptx/mutex.h: Move ...
4455 * config/accel/mutex.h: ... to here.
4456 * config/nvptx/oacc-async.c: Move ...
4457 * config/accel/oacc-async.c: ... to here.
4458 * config/nvptx/oacc-cuda.c: Move ...
4459 * config/accel/oacc-cuda.c: ... to here.
4460 * config/nvptx/oacc-host.c: Move ...
4461 * config/accel/oacc-host.c: ... to here.
4462 * config/nvptx/oacc-init.c: Move ...
4463 * config/accel/oacc-init.c: ... to here.
4464 * config/nvptx/oacc-mem.c: Move ...
4465 * config/accel/oacc-mem.c: ... to here.
4466 * config/nvptx/oacc-plugin.c: Move ...
4467 * config/accel/oacc-plugin.c: ... to here.
4468 * config/nvptx/omp-lock.h: Move ...
4469 * config/accel/omp-lock.h: ... to here.
4470 * config/nvptx/openacc.f90: Move ...
4471 * config/accel/openacc.f90: ... to here.
4472 * config/nvptx/pool.h: Move ...
4473 * config/accel/pool.h: ... to here.
4474 * config/nvptx/proc.c: Move ...
4475 * config/accel/proc.c: ... to here.
4476 * config/nvptx/ptrlock.c: Move ...
4477 * config/accel/ptrlock.c: ... to here.
4478 * config/nvptx/ptrlock.h: Move ...
4479 * config/accel/ptrlock.h: ... to here.
4480 * config/nvptx/sem.c: Move ...
4481 * config/accel/sem.c: ... to here.
4482 * config/nvptx/sem.h: Move ...
4483 * config/accel/sem.h: ... to here.
4484 * config/nvptx/thread-stacksize.h: Move ...
4485 * config/accel/thread-stacksize.h: ... to here.
4486
62aee289
MR
44872019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
4488 Tobias Burnus <tobias@codesourcery.com>
4489 Frederik Harwath <frederik@codesourcery.com>
4490 Thomas Schwinge <thomas@codesourcery.com>
4491
4492 libgomp/
4493 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
4494 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
4495 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
4496
a2c26c50
TB
44972019-11-11 Tobias Burnus <tobias@codesourcery.com>
4498 Kwok Cheung Yeung <kcy@codesourcery.com>
4499
4500 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
4501 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
4502
6d4868f3
TS
45032019-11-11 Thomas Schwinge <thomas@codesourcery.com>
4504
bfa1837b
TS
4505 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
4506
6d4868f3
TS
4507 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
4508 run'.
4509 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
4510 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
4511
5d183d17
FH
45122019-11-06 Thomas Schwinge <thomas@codesourcery.com>
4513
4514 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
4515 Add expected warnings about missing reduction clauses.
4516 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4517 Likewise.
4518 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
4519 Likewise.
4520 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4521 Likewise.
4522
d8f03b03
TB
45232019-11-04 Tobias Burnus <tobias@codesourcery.com>
4524
4525 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
4526 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
4527 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
4528 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
4529 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
4530 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
4531
12fd2ec5
TB
45322019-11-04 Tobias Burnus <tobias@codesourcery.com>
4533
4534 PR fortran/92305
4535 * testsuite/libgomp.fortran/allocatable2.f90: Use
4536 unique numbers with 'stop'.
4537 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
4538 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
4539 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
4540 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
4541 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
4542
92e63bd2
TB
45432019-11-01 Tobias Burnus <tobias@codesourcery.com>
4544
4545 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
4546 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
4547 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
4548 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
4549 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
4550 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
4551
91ae0a46
TB
45522019-10-30 Tobias Burnus <tobias@codesourcery.com>
4553
4554 * testsuite/libgomp.fortran/target9.f90: New.
4555
c425e66b
TB
45562019-10-30 Tobias Burnus <tobias@codesourcery.com>
4557
4558 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
4559 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
4560 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
4561 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
4562 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
4563 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
4564 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
4565 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
4566 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
4567 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
4568 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
4569 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
4570 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
4571 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
4572 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
4573 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
4574 * testsuite/libgomp.fortran/associate1.f90: Ditto.
4575 * testsuite/libgomp.fortran/associate2.f90: Ditto.
4576 * testsuite/libgomp.fortran/associate3.f90: Ditto.
4577 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
4578 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
4579 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
4580 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
4581 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
4582 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
4583 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
4584 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
4585 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
4586 * testsuite/libgomp.fortran/character1.f90: Ditto.
4587 * testsuite/libgomp.fortran/character2.f90: Ditto.
4588 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
4589 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
4590 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
4591 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
4592 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
4593 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
4594 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
4595 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
4596 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
4597 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
4598 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
4599 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
4600 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
4601 * testsuite/libgomp.fortran/do1.f90: Ditto.
4602 * testsuite/libgomp.fortran/do2.f90: Ditto.
4603 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
4604 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
4605 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
4606 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
4607 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
4608 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
4609 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
4610 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
4611 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
4612 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
4613 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
4614 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
4615 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
4616 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
4617 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
4618 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
4619 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
4620 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
4621 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
4622 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
4623 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
4624 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
4625 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
4626 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
4627 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
4628 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
4629 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
4630 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
4631 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
4632 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
4633 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
4634 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
4635 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
4636 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
4637 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
4638 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
4639 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
4640 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
4641 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
4642 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
4643 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
4644 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
4645 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
4646 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
4647 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
4648 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
4649 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
4650 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
4651 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
4652 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
4653 * testsuite/libgomp.fortran/lib1.f90: Ditto.
4654 * testsuite/libgomp.fortran/lib4.f90: Ditto.
4655 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
4656 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
4657 * testsuite/libgomp.fortran/nested1.f90: Ditto.
4658 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
4659 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
4660 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
4661 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
4662 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
4663 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
4664 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4665 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
4666 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
4667 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
4668 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
4669 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
4670 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
4671 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
4672 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4673 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
4674 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4675 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
4676 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
4677 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
4678 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
4679 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
4680 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
4681 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
4682 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
4683 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
4684 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
4685 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
4686 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
4687 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
4688 * testsuite/libgomp.fortran/pr28390.f: Ditto.
4689 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
4690 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
4691 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
4692 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
4693 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
4694 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
4695 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
4696 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
4697 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
4698 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
4699 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
4700 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
4701 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
4702 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
4703 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
4704 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
4705 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
4706 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
4707 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
4708 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
4709 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
4710 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
4711 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
4712 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
4713 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
4714 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
4715 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
4716 * testsuite/libgomp.fortran/reference1.f90: Ditto.
4717 * testsuite/libgomp.fortran/reference2.f90: Ditto.
4718 * testsuite/libgomp.fortran/retval1.f90: Ditto.
4719 * testsuite/libgomp.fortran/retval2.f90: Ditto.
4720 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
4721 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
4722 * testsuite/libgomp.fortran/simd1.f90: Ditto.
4723 * testsuite/libgomp.fortran/simd2.f90: Ditto.
4724 * testsuite/libgomp.fortran/simd3.f90: Ditto.
4725 * testsuite/libgomp.fortran/simd4.f90: Ditto.
4726 * testsuite/libgomp.fortran/simd5.f90: Ditto.
4727 * testsuite/libgomp.fortran/simd6.f90: Ditto.
4728 * testsuite/libgomp.fortran/simd7.f90: Ditto.
4729 * testsuite/libgomp.fortran/stack.f90: Ditto.
4730 * testsuite/libgomp.fortran/strassen.f90: Ditto.
4731 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
4732 * testsuite/libgomp.fortran/tabs2.f: Ditto.
4733 * testsuite/libgomp.fortran/target1.f90: Ditto.
4734 * testsuite/libgomp.fortran/target2.f90: Ditto.
4735 * testsuite/libgomp.fortran/target3.f90: Ditto.
4736 * testsuite/libgomp.fortran/target4.f90: Ditto.
4737 * testsuite/libgomp.fortran/target5.f90: Ditto.
4738 * testsuite/libgomp.fortran/target6.f90: Ditto.
4739 * testsuite/libgomp.fortran/target7.f90: Ditto.
4740 * testsuite/libgomp.fortran/target8.f90: Ditto.
4741 * testsuite/libgomp.fortran/task1.f90: Ditto.
4742 * testsuite/libgomp.fortran/task2.f90: Ditto.
4743 * testsuite/libgomp.fortran/task3.f90: Ditto.
4744 * testsuite/libgomp.fortran/task4.f90: Ditto.
4745 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
4746 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
4747 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
4748 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
4749 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
4750 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
4751 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
4752 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
4753 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
4754 * testsuite/libgomp.fortran/udr1.f90: Ditto.
4755 * testsuite/libgomp.fortran/udr10.f90: Ditto.
4756 * testsuite/libgomp.fortran/udr11.f90: Ditto.
4757 * testsuite/libgomp.fortran/udr12.f90: Ditto.
4758 * testsuite/libgomp.fortran/udr13.f90: Ditto.
4759 * testsuite/libgomp.fortran/udr14.f90: Ditto.
4760 * testsuite/libgomp.fortran/udr15.f90: Ditto.
4761 * testsuite/libgomp.fortran/udr2.f90: Ditto.
4762 * testsuite/libgomp.fortran/udr3.f90: Ditto.
4763 * testsuite/libgomp.fortran/udr4.f90: Ditto.
4764 * testsuite/libgomp.fortran/udr5.f90: Ditto.
4765 * testsuite/libgomp.fortran/udr6.f90: Ditto.
4766 * testsuite/libgomp.fortran/udr7.f90: Ditto.
4767 * testsuite/libgomp.fortran/udr8.f90: Ditto.
4768 * testsuite/libgomp.fortran/udr9.f90: Ditto.
4769 * testsuite/libgomp.fortran/vla1.f90: Ditto.
4770 * testsuite/libgomp.fortran/vla2.f90: Ditto.
4771 * testsuite/libgomp.fortran/vla3.f90: Ditto.
4772 * testsuite/libgomp.fortran/vla4.f90: Ditto.
4773 * testsuite/libgomp.fortran/vla5.f90: Ditto.
4774 * testsuite/libgomp.fortran/vla6.f90: Ditto.
4775 * testsuite/libgomp.fortran/vla7.f90: Ditto.
4776 * testsuite/libgomp.fortran/vla8.f90: Ditto.
4777 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
4778 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
4779
01509e2f
TB
47802019-10-30 Tobias Burnus <tobias@codesourcery.com>
4781
4782 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
4783 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
4784 Ditto; add 'dg-do run' for torture testing.
4785 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
4786 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
4787 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
4788 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
4789 * testsuite/libgomp.fortran/pr28390.f: Ditto.
4790 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
4791 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
4792 * testsuite/libgomp.fortran/task2.f90: Ditto.
4793 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
4794 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
4795 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
4796 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
4797 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
4798 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
4799
ffbdd78a
TB
48002019-10-28 Tobias Burnus <tobias@codesourcery.com>
4801
4802 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
4803 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
4804 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
4805 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
4806 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
4807 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
4808 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
4809 Use 'stop' not abort().
4810 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
4811 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
4812 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
4813 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
4814 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
4815 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
4816 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
4817 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
4818 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
4819 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
4820 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
4821 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
4822 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
4823 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
4824 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
4825 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
4826 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
4827 Ditto.
4828 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4829 Ditto.
4830 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4831 Ditto.
4832 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4833 Ditto.
4834 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4835 Ditto.
4836 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
4837 Ditto.
4838 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
4839 Ditto.
4840 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
4841 Ditto.
4842 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
4843 Ditto.
4844 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
4845 Ditto.
4846 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
4847 Ditto.
4848 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
4849 Ditto.
4850 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
4851 Ditto.
4852 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
4853 Ditto.
4854 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
4855 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
4856 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
4857 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
4858 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
4859 Likewise and also add 'dg-do run'.
4860 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
4861 Ditto.
4862
ec084613
CP
48632019-10-25 Cesar Philippidis <cesar@codesourcery.com>
4864 Tobias Burnus <tobias@codesourcery.com>
4865
4866 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
4867 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
4868 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
4869
77ef3394
JJ
48702019-10-14 Jakub Jelinek <jakub@redhat.com>
4871
4872 PR libgomp/92081
4873 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
4874 than 0.
4875
08c14aaa
TB
48762019-10-11 Tobias Burnus <tobias@codesourcery.com>
4877
4878 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
4879 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
4880
6bbead0c
TS
48812019-10-09 Thomas Schwinge <thomas@codesourcery.com>
4882
4883 PR middle-end/92036
4884 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
4885 file.
4886
eba3dee8
TB
48872019-10-09 Tobias Burnus <tobias@codesourcery.com>
4888
4889 PR testsuite/91884
4890 * testsuite/libgomp.fortran/fortran.exp: Conditionally
4891 add -lquadmath.
4892 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
4893
7d48e14f
JJ
48942019-10-09 Jakub Jelinek <jakub@redhat.com>
4895
4896 PR libgomp/92028
4897 * target.c (gomp_map_vars_internal): Readd the previous
4898 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
4899 though do that just in the !not_found_cnt case.
4900
65b67cf3
TB
49012019-10-08 Tobias Burnus <tobias@codesourcery.com>
4902
4903 * gfortran.dg/gomp/target-simd.f90: New.
4904
6c7e076b
JB
49052019-10-02 Julian Brown <julian@codesourcery.com>
4906 Cesar Philippidis <cesar@codesourcery.com>
4907
4908 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
4909 * target.c (FIELD_TGT_EMPTY): Define.
4910 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
4911 as switch instead of list of ifs.
4912 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
4913
d61bff85
AT
49142019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
4915
4916 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
4917 include. Replace alloca () with __builtin_alloca ().
4918 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
4919
810f316d
JJ
49202019-10-01 Jakub Jelinek <jakub@redhat.com>
4921
4922 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
4923 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
4924 * oacc-parallel.c: Don't include "libgomp_g.h".
4925 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
4926 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
4927 * aclocal.m4: Regenerated.
4928 * config.h.in: Regenerated.
4929 * configure: Regenerated.
4930 * Makefile.in: Regenerated.
4931
d7f9ee98
KCY
49322019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4933
4934 * libgomp_g.h: Include stdint.h instead of gstdint.h.
4935
e9085da5
MR
49362019-09-27 Maciej W. Rozycki <macro@wdc.com>
4937
4938 * configure: Regenerate.
4939
c28712be
TB
49402019-09-13 Tobias Burnus <tobias@codesourcery.com>
4941
4942 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
4943 string is initialized.
4944
3c086f8d
FW
49452019-09-06 Florian Weimer <fweimer@redhat.com>
4946
4947 * configure: Regenerate.
4948
c6c2d1bc
CLT
49492019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
4950
4951 PR other/79543
4952 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
4953 scanning to conform to the GNU Coding Standards.
4954 * configure: Regenerate.
4955
5cb72d83
JJ
49562019-08-28 Jakub Jelinek <jakub@redhat.com>
4957
4958 PR libgomp/91530
4959 * testsuite/libgomp.c/scan-21.c: New test.
4960 * testsuite/libgomp.c/scan-22.c: New test.
4961
0ad7981c
JJ
49622019-08-27 Jakub Jelinek <jakub@redhat.com>
4963
4964 PR libgomp/91530
4965 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
4966 targets.
4967 * testsuite/libgomp.c/scan-12.c: Likewise.
4968 * testsuite/libgomp.c/scan-13.c: Likewise.
4969 * testsuite/libgomp.c/scan-14.c: Likewise.
4970 * testsuite/libgomp.c/scan-15.c: Likewise.
4971 * testsuite/libgomp.c/scan-16.c: Likewise.
4972 * testsuite/libgomp.c/scan-17.c: Likewise.
4973 * testsuite/libgomp.c/scan-18.c: Likewise.
4974 * testsuite/libgomp.c/scan-19.c: Likewise.
4975 * testsuite/libgomp.c/scan-20.c: Likewise.
4976 * testsuite/libgomp.c++/scan-9.C: Likewise.
4977 * testsuite/libgomp.c++/scan-10.C: Likewise.
4978 * testsuite/libgomp.c++/scan-11.C: Likewise.
4979 * testsuite/libgomp.c++/scan-12.C: Likewise.
4980 * testsuite/libgomp.c++/scan-14.C: Likewise.
4981 * testsuite/libgomp.c++/scan-15.C: Likewise.
4982 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
4983 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
4984 * testsuite/libgomp.c++/scan-16.C: Likewise.
4985
1e67491a
TK
49862019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
4987
4988 PR fortran/91473
4989 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
4990 -std=legacy so invalid code in the test case is accepted.
4991
393fdeb1
TK
49922019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
4993
4994 PR fortran/91422
4995 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
4996 dimension.
4997
8860d270
JJ
49982019-08-08 Jakub Jelinek <jakub@redhat.com>
4999
5000 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
5001 perform the lookup in the first loop only if !not_found_cnt, otherwise
5002 perform lookups for it in the second loop guarded with
5003 if (not_found_cnt || has_firstprivate).
5004 * testsuite/libgomp.c/target-37.c: New test.
5005 * testsuite/libgomp.c++/target-22.C: New test.
5006
398e3feb
JJ
50072019-08-07 Jakub Jelinek <jakub@redhat.com>
5008
5009 * testsuite/libgomp.c/target-18.c (struct S): New type.
5010 (foo): Use use_device_addr clause instead of use_device_ptr clause
5011 where required by OpenMP 5.0, add further tests for both use_device_ptr
5012 and use_device_addr clauses.
5013 * testsuite/libgomp.c++/target-9.C (struct S): New type.
5014 (foo): Use use_device_addr clause instead of use_device_ptr clause
5015 where required by OpenMP 5.0, add further tests for both use_device_ptr
5016 and use_device_addr clauses. Add t and u arguments.
5017 (main): Adjust caller.
5018
d81ab49d
JJ
50192019-08-06 Jakub Jelinek <jakub@redhat.com>
5020
5021 * testsuite/libgomp.c++/loop-13.C: New test.
5022 * testsuite/libgomp.c++/loop-14.C: New test.
5023 * testsuite/libgomp.c++/loop-15.C: New test.
5024
c3ac76aa
JJ
50252019-07-31 Jakub Jelinek <jakub@redhat.com>
5026
5027 PR middle-end/91301
5028 * testsuite/libgomp.c++/for-27.C: New test.
5029
8dc63166
SK
50302019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
5031
393fdeb1 5032 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 5033 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 5034
554a530f
JJ
50352019-07-20 Jakub Jelinek <jakub@redhat.com>
5036
5037 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
5038
6cda84b5
JJ
50392019-07-08 Jakub Jelinek <jakub@redhat.com>
5040
5041 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
5042 * testsuite/libgomp.c++/scan-16.C: Likewise.
5043
1f52d1a8
JJ
50442019-07-06 Jakub Jelinek <jakub@redhat.com>
5045
6f67abcd
JJ
5046 * testsuite/libgomp.c/scan-19.c: New test.
5047 * testsuite/libgomp.c/scan-20.c: New test.
5048
1f52d1a8
JJ
5049 * testsuite/libgomp.c/scan-11.c: New test.
5050 * testsuite/libgomp.c/scan-12.c: New test.
5051 * testsuite/libgomp.c/scan-13.c: New test.
5052 * testsuite/libgomp.c/scan-14.c: New test.
5053 * testsuite/libgomp.c/scan-15.c: New test.
5054 * testsuite/libgomp.c/scan-16.c: New test.
5055 * testsuite/libgomp.c/scan-17.c: New test.
5056 * testsuite/libgomp.c/scan-18.c: New test.
5057 * testsuite/libgomp.c++/scan-9.C: New test.
5058 * testsuite/libgomp.c++/scan-10.C: New test.
5059 * testsuite/libgomp.c++/scan-11.C: New test.
5060 * testsuite/libgomp.c++/scan-12.C: New test.
5061 * testsuite/libgomp.c++/scan-13.C: New test.
5062 * testsuite/libgomp.c++/scan-14.C: New test.
5063 * testsuite/libgomp.c++/scan-15.C: New test.
5064 * testsuite/libgomp.c++/scan-16.C: New test.
5065
2f03073f
JJ
50662019-07-04 Jakub Jelinek <jakub@redhat.com>
5067
5068 * testsuite/libgomp.c/scan-9.c: New test.
5069 * testsuite/libgomp.c/scan-10.c: New test.
5070
2f6bb511
JJ
50712019-07-03 Jakub Jelinek <jakub@redhat.com>
5072
5073 * testsuite/libgomp.c++/scan-1.C: New test.
5074 * testsuite/libgomp.c++/scan-2.C: New test.
5075 * testsuite/libgomp.c++/scan-3.C: New test.
5076 * testsuite/libgomp.c++/scan-4.C: New test.
5077 * testsuite/libgomp.c++/scan-5.C: New test.
5078 * testsuite/libgomp.c++/scan-6.C: New test.
5079 * testsuite/libgomp.c++/scan-7.C: New test.
5080 * testsuite/libgomp.c++/scan-8.C: New test.
5081 * testsuite/libgomp.c/scan-1.c: New test.
5082 * testsuite/libgomp.c/scan-2.c: New test.
5083 * testsuite/libgomp.c/scan-3.c: New test.
5084 * testsuite/libgomp.c/scan-4.c: New test.
5085 * testsuite/libgomp.c/scan-5.c: New test.
5086 * testsuite/libgomp.c/scan-6.c: New test.
5087 * testsuite/libgomp.c/scan-7.c: New test.
5088 * testsuite/libgomp.c/scan-8.c: New test.
5089
bd194a51
TS
50902019-06-18 Thomas Schwinge <thomas@codesourcery.com>
5091
85fca03a
TS
5092 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
5093 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
5094 Likewise.
5095
bd194a51
TS
5096 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
5097 check.
5098
6652161e
CP
50992019-06-18 Cesar Philippidis <cesar@codesourcery.com>
5100
5101 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
5102 file.
5103
3a37d6f6
TS
51042019-06-18 Thomas Schwinge <thomas@codesourcery.com>
5105
4017da8d
TS
5106 PR fortran/90743
5107 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
5108 case.
5109 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
5110 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
5111 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
5112 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
5113
6f7c1f65
TS
5114 PR testsuite/90861
5115 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
5116
3a37d6f6
TS
5117 PR middle-end/90862
5118 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
5119
f45ce17d
TV
51202019-06-16 Tom de Vries <tdevries@suse.de>
5121
5122 PR tree-optimization/89376
5123 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
5124
00908992
TV
51252019-06-15 Tom de Vries <tdevries@suse.de>
5126
5127 PR tree-optimization/89713
5128 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
5129 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
5130
211b7533
JJ
51312019-06-15 Jakub Jelinek <jakub@redhat.com>
5132
5133 PR middle-end/90779
5134 * testsuite/libgomp.c/pr90779.c: New test.
5135 * testsuite/libgomp.fortran/pr90779.f90: New test.
5136
120a01d1
TV
51372019-06-15 Tom de Vries <tdevries@suse.de>
5138
5139 PR tree-optimization/90009
5140 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
5141
c29c92c7
FX
51422019-06-13 Feng Xue <fxue@os.amperecomputing.com>
5143
5144 PR tree-optimization/89713
5145 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
5146
ce9c4ec3
JJ
51472019-06-11 Jakub Jelinek <jakub@redhat.com>
5148
5149 PR target/90811
5150 * testsuite/libgomp.c/pr90811.c: New test.
5151
28b3a77c
JJ
51522019-06-05 Jakub Jelinek <jakub@redhat.com>
5153
5154 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
5155 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
5156
7855700e
JJ
51572019-06-04 Jakub Jelinek <jakub@redhat.com>
5158
5159 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
5160 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
5161 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
5162 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
5163
a7155c2e
RO
51642019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5165
5166 * configure.ac: Call AX_COUNT_CPUS.
5167 Substitute CPU_COUNT.
5168 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
5169 count fallback.
5170 * aclocal.m4: Regenerate.
5171 * configure: Regenerate.
5172 * Makefile.in, testsuite/Makefile.in: Regenerate.
5173
7e47198b
JJ
51742019-05-29 Jakub Jelinek <jakub@redhat.com>
5175
5176 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
5177 to ...
5178 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
5179 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
5180 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
5181
fcfb8032
JJ
51822019-05-27 Jakub Jelinek <jakub@redhat.com>
5183
8e7757ba
JJ
5184 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
5185
36c7a3ff
JJ
5186 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
5187
fcfb8032
JJ
5188 PR libgomp/90641
5189 * work.c (gomp_init_work_share): Instead of aligning final ordered
5190 value to multiples of long long alignment, align to that the
5191 first part (ordered team ids) and if inline_ordered_team_ids
5192 is not on a long long alignment boundary within the structure,
5193 use __alignof__ (long long) - 1 pad size always.
5194 * loop.c (GOMP_loop_start): Fix *mem computation if
5195 inline_ordered_team_ids is not aligned on long long alignment boundary
5196 within the structure.
5197 * loop-ull.c (GOMP_loop_ull_start): Likewise.
5198 * sections.c (GOMP_sections2_start): Likewise.
5199
b5c26449
JJ
52002019-05-24 Jakub Jelinek <jakub@redhat.com>
5201
6c7ae8c5
JJ
5202 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
5203 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
5204
b5c26449
JJ
5205 PR libgomp/90585
5206 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
5207 HAVE_INTTYPES_H is defined.
5208 (print_uint64_t): New typedef.
5209 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
5210 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
5211 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
5212 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
5213 before casting to void *.
5214 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
5215 * oacc-mem.c: Don't include config.h nor stdint.h.
5216 * target.c: Don't include config.h.
5217 * oacc-cuda.c: Likewise.
5218 * oacc-host.c: Don't include stdint.h.
5219
3e03ed66
JJ
52202019-05-20 Jakub Jelinek <jakub@redhat.com>
5221
5222 PR libgomp/90527
5223 * alloc.c (_GNU_SOURCE): Define.
5224
5fae049d
TS
52252019-05-17 Thomas Schwinge <thomas@codesourcery.com>
5226
5227 * acc_prof.h: New file.
5228 * oacc-profiling.c: Likewise.
5229 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
5230 Add these, respectively.
5231 * Makefile.in: Regenerate.
5232 * env.c (initialize_env): Call goacc_profiling_initialize.
5233 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
5234 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
5235 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
5236 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
5237 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
5238 acc_prof_register, acc_prof_unregister, and acc_register_library.
5239 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
5240 GOMP_PLUGIN_goacc_thread.
5241 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
5242 prof_callbacks_enabled members.
5243 (goacc_prof_enabled, goacc_profiling_initialize)
5244 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
5245 (goacc_profiling_dispatch): Declare.
5246 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
5247 (GOACC_PROFILING_SETUP_P): Define.
5248 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
5249 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
5250 OpenACC Profiling Interface.
5251 * oacc-cuda.c (acc_get_current_cuda_device)
5252 (acc_get_current_cuda_context, acc_get_cuda_stream)
5253 (acc_set_cuda_stream): Likewise.
5254 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
5255 (acc_init, acc_set_device_type, acc_get_device_type)
5256 (acc_get_device_num, goacc_lazy_initialize): Likewise.
5257 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
5258 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
5259 (acc_unmap_data, present_create_copy, delete_copyout)
5260 (update_dev_host): Likewise.
5261 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
5262 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
5263 Likewise.
5264 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
5265 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
5266 Likewise.
5267 * libgomp.texi: Update.
5268 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
5269 file.
5270 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
5271 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5272 Likewise.
5273 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5274 Likewise.
5275 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
5276 Likewise.
5277 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
5278 Likewise.
5279
1f4c5b9b
CLT
52802019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
5281
5282 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
5283 (struct goacc_asyncqueue_list): Likewise.
5284 (goacc_aq): Likewise.
5285 (goacc_aq_list): Likewise.
5286 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
5287 (GOMP_OFFLOAD_openacc_async_test): Remove.
5288 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
5289 (GOMP_OFFLOAD_openacc_async_wait): Remove.
5290 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
5291 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
5292 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
5293 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
5294 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
5295 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
5296 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
5297 (GOMP_OFFLOAD_openacc_async_exec): Declare.
5298 (GOMP_OFFLOAD_openacc_async_construct): Declare.
5299 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
5300 (GOMP_OFFLOAD_openacc_async_test): Declare.
5301 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
5302 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
5303 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
5304 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
5305 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
5306
5307 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
5308 (gomp_acc_insert_pointer): Adjust declaration.
5309 (gomp_copy_host2dev): New declaration.
5310 (gomp_copy_dev2host): Likewise.
5311 (gomp_map_vars_async): Likewise.
5312 (gomp_unmap_tgt): Likewise.
5313 (gomp_unmap_vars_async): Likewise.
5314 (gomp_fini_device): Likewise.
5315
5316 * oacc-async.c (get_goacc_thread): New function.
5317 (get_goacc_thread_device): New function.
5318 (lookup_goacc_asyncqueue): New function.
5319 (get_goacc_asyncqueue): New function.
5320 (acc_async_test): Adjust code to use new async design.
5321 (acc_async_test_all): Likewise.
5322 (acc_wait): Likewise.
5323 (acc_wait_async): Likewise.
5324 (acc_wait_all): Likewise.
5325 (acc_wait_all_async): Likewise.
5326 (goacc_async_free): New function.
5327 (goacc_init_asyncqueues): Likewise.
5328 (goacc_fini_asyncqueues): Likewise.
5329 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
5330 design.
5331 (acc_set_cuda_stream): Likewise.
5332 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
5333 (host_openacc_register_async_cleanup): Remove.
5334 (host_openacc_async_exec): New function.
5335 (host_openacc_async_test): Adjust parameters.
5336 (host_openacc_async_test_all): Remove.
5337 (host_openacc_async_wait): Remove.
5338 (host_openacc_async_wait_async): Remove.
5339 (host_openacc_async_wait_all): Remove.
5340 (host_openacc_async_wait_all_async): Remove.
5341 (host_openacc_async_set_async): Remove.
5342 (host_openacc_async_synchronize): New function.
5343 (host_openacc_async_serialize): New function.
5344 (host_openacc_async_host2dev): New function.
5345 (host_openacc_async_dev2host): New function.
5346 (host_openacc_async_queue_callback): New function.
5347 (host_openacc_async_construct): New function.
5348 (host_openacc_async_destruct): New function.
5349 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 5350 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
5351 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
5352 (goacc_attach_host_thread_to_device): Remove old async code usage.
5353 * oacc-int.h (goacc_init_asyncqueues): New declaration.
5354 (goacc_fini_asyncqueues): Likewise.
5355 (goacc_async_copyout_unmap_vars): Likewise.
5356 (goacc_async_free): Likewise.
5357 (get_goacc_asyncqueue): Likewise.
5358 (lookup_goacc_asyncqueue): Likewise.
5359 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
5360 design.
5361 (present_create_copy): Adjust code to use new async design.
5362 (delete_copyout): Likewise.
5363 (update_dev_host): Likewise.
5364 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
5365 async design.
5366 (gomp_acc_remove_pointer): Adjust code to use new async design.
5367 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
5368 design.
5369 (GOACC_enter_exit_data): Likewise.
5370 (goacc_wait): Likewise.
5371 (GOACC_update): Likewise.
5372 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
5373 when called, warn as obsolete in comment.
5374 * target.c (goacc_device_copy_async): New function.
5375 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
5376 add goacc_device_copy_async case.
5377 (gomp_copy_dev2host): Likewise.
5378 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
5379 (gomp_map_pointer): Likewise.
5380 (gomp_map_fields_existing): Likewise.
5381 (gomp_map_vars_internal): New always_inline function, renamed from
5382 gomp_map_vars.
5383 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
5384 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
5385 passing goacc_asyncqueue argument.
5386 (gomp_unmap_tgt): Remove static, add attribute_hidden.
5387 (gomp_unref_tgt): New function.
5388 (gomp_unmap_vars_internal): New always_inline function, renamed from
5389 gomp_unmap_vars.
5390 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
5391 (gomp_unmap_vars_async): Implement by calling
5392 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
5393 (gomp_fini_device): New function.
5394 (gomp_exit_data): Adjust gomp_copy_dev2host call.
5395 (gomp_load_plugin_for_device): Remove old interface, adjust to load
5396 new async interface.
5397 (gomp_target_fini): Adjust code to call gomp_fini_device.
5398
5399 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
5400 (struct ptx_stream): Remove.
5401 (struct nvptx_thread): Remove current_stream field.
5402 (cuda_map_create): Remove.
5403 (cuda_map_destroy): Remove.
5404 (map_init): Remove.
5405 (map_fini): Remove.
5406 (map_pop): Remove.
5407 (map_push): Remove.
5408 (struct goacc_asyncqueue): Define.
5409 (struct nvptx_callback): Define.
5410 (struct ptx_free_block): Define.
5411 (struct ptx_device): Remove null_stream, active_streams, async_streams,
5412 stream_lock, and next fields.
5413 (enum ptx_event_type): Remove.
5414 (struct ptx_event): Remove.
5415 (ptx_event_lock): Remove.
5416 (ptx_events): Remove.
5417 (init_streams_for_device): Remove.
5418 (fini_streams_for_device): Remove.
5419 (select_stream_for_async): Remove.
5420 (nvptx_init): Remove ptx_events and ptx_event_lock references.
5421 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
5422 case.
5423 (nvptx_open_device): Add free_blocks initialization, remove
5424 init_streams_for_device call.
5425 (nvptx_close_device): Remove fini_streams_for_device call, add
5426 free_blocks destruct code.
5427 (event_gc): Remove.
5428 (event_add): Remove.
5429 (nvptx_exec): Adjust parameters and code.
5430 (nvptx_free): Likewise.
5431 (nvptx_host2dev): Remove.
5432 (nvptx_dev2host): Remove.
5433 (nvptx_set_async): Remove.
5434 (nvptx_async_test): Remove.
5435 (nvptx_async_test_all): Remove.
5436 (nvptx_wait): Remove.
5437 (nvptx_wait_async): Remove.
5438 (nvptx_wait_all): Remove.
5439 (nvptx_wait_all_async): Remove.
5440 (nvptx_get_cuda_stream): Remove.
5441 (nvptx_set_cuda_stream): Remove.
5442 (GOMP_OFFLOAD_alloc): Adjust code.
5443 (GOMP_OFFLOAD_free): Likewise.
5444 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
5445 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
5446 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
5447 (GOMP_OFFLOAD_openacc_async_wait): Remove.
5448 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
5449 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
5450 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
5451 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
5452 (cuda_free_argmem): New function.
5453 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
5454 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
5455 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
5456 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
5457 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
5458 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
5459 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
5460 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
5461 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
5462 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
5463 (cuda_callback_wrapper): New function.
5464 (cuda_memcpy_sanity_check): New function.
5465 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
5466 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
5467 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
5468 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
5469
da2d30c1
TS
54702019-05-07 Thomas Schwinge <thomas@codesourcery.com>
5471
5472 PR target/87835
5473 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
5474
2bbbfa4e
TS
54752019-05-06 Thomas Schwinge <thomas@codesourcery.com>
5476
5477 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
5478
bbf1efe1
KB
54792019-03-27 Kevin Buettner <kevinb@redhat.com>
5480
5481 * team.c (gomp_team_start): Initialize pool->threads[0].
5482
1241136c
TS
54832019-02-22 Thomas Schwinge <thomas@codesourcery.com>
5484
b03d721a
TS
5485 * testsuite/libgomp.oacc-c++/c++.exp: Specify
5486 "-foffload=$offload_target".
5487 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5488 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5489 * testsuite/lib/libgomp.exp
5490 (check_effective_target_openacc_nvidia_accel_configured): Remove,
5491 as (conceptually) merged into
5492 check_effective_target_openacc_nvidia_accel_selected. Adjust all
5493 users.
5494
0a0384b4
TS
5495 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
5496 * testsuite/libgomp-test-support.exp.in: Adjust.
5497 * testsuite/lib/libgomp.exp: Likewise. Don't populate
5498 openacc_device_types_s.
5499 (offload_target_to_openacc_device_type): New proc.
5500 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
5501 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5502 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5503 * Makefile.in: Regenerate.
5504 * configure: Likewise.
5505 * testsuite/Makefile.in: Likewise.
5506
ee332b4a
TS
5507 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
5508 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
5509 instead of OFFLOAD_TARGETS.
5510 * target.c (gomp_target_init): Adjust.
5511 * testsuite/libgomp-test-support.exp.in: Likewise.
5512 * testsuite/lib/libgomp.exp: Likewise. Populate
5513 openacc_device_types_s instead of offload_targets_s_openacc.
5514 (check_effective_target_openacc_nvidia_accel_selected)
5515 (check_effective_target_openacc_host_selected): Adjust.
5516 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
5517 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5518 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5519 * Makefile.in: Regenerate.
5520 * config.h.in: Likewise.
5521 * configure: Likewise.
5522 * testsuite/Makefile.in: Likewise.
5523
1241136c
TS
5524 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
5525 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
5526 "offloading: supported, but hardware not accessible".
5527 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5528 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5529
19695f4d
CLT
55302019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
5531
5532 PR c/87924
5533 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
5534 goacc_wait().
5535 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
5536 and related adjustment.
5537
8b44f8ec
JJ
55382019-01-30 Jakub Jelinek <jakub@redhat.com>
5539
5540 PR c++/88988
5541 * testsuite/libgomp.c++/pr88988.C: New test.
5542
be3a87e7
JJ
55432019-01-28 Jakub Jelinek <jakub@redhat.com>
5544
5545 PR middle-end/89002
5546 * testsuite/libgomp.c/pr89002.c: New test.
5547
497ef4d7
RB
55482019-01-28 Richard Biener <rguenther@suse.de>
5549
5550 PR testsuite/89064
5551 PR tree-optimization/86865
5552 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
5553
738c56d4
TV
55542019-01-24 Tom de Vries <tdevries@suse.de>
5555
5556 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
5557 once instantiated_devices drops to 0.
5558
4a75460b
TV
55592019-01-23 Tom de Vries <tdevries@suse.de>
5560
5561 PR target/PR88946
5562 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
5563 cuMemFree.
5564 (nvptx_exec): Don't call map_push if mapnum == 0.
5565 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
5566
4fef8e4d
TV
55672019-01-23 Tom de Vries <tdevries@suse.de>
5568
5569 PR target/88941
5570 PR target/88939
5571 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
5572 (map_fini): Remove "assert (!s->map->active)".
5573 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
5574
2ee6cb22
TV
55752019-01-23 Tom de Vries <tdevries@suse.de>
5576
5577 PR target/87835
5578 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
5579 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
5580
d41d952c
TV
55812019-01-15 Tom de Vries <tdevries@suse.de>
5582
5583 PR target/80547
5584 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
5585 New test.
5586
efb56ae8
TV
55872019-01-12 Tom de Vries <tdevries@suse.de>
5588
5589 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
5590 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
5591 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
5592 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
5593
2c2ff168
TV
55942019-01-12 Tom de Vries <tdevries@suse.de>
5595
5596 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
5597
a1057758
TV
55982019-01-12 Tom de Vries <tdevries@suse.de>
5599
5600 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
5601 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
5602 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
5603
56314b77
TV
56042019-01-12 Tom de Vries <tdevries@suse.de>
5605
5606 PR target/85486
5607 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
5608 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
5609
b39e4366
TV
56102019-01-12 Tom de Vries <tdevries@suse.de>
5611
5612 PR target/85381
5613 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
5614 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
5615
2cb7a501
TV
56162019-01-12 Tom de Vries <tdevries@suse.de>
5617
5618 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
5619 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
5620 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
5621
8e77f71e
TV
56222019-01-12 Tom de Vries <tdevries@suse.de>
5623
5624 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
5625 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
5626 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
5627
52d22ece
TV
56282019-01-12 Tom de Vries <tdevries@suse.de>
5629
5630 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
5631 resources diagnostic.
5632
2b9d9e39
TV
56332019-01-12 Tom de Vries <tdevries@suse.de>
5634
5635 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
5636 vector length to be 128.
5637 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
5638 length 2097152 to be reduced to 1024 instead of 32.
5639
4102bda6
TS
56402019-01-11 Thomas Schwinge <thomas@codesourcery.com>
5641 James Norris <jnorris@codesourcery.com>
5642
5643 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
5644 Library Routines", and "Environment Variables".
5645
052aaace
TV
56462019-01-11 Tom de Vries <tdevries@suse.de>
5647
5648 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
5649 num_workers 16.
5650
9390f916
TV
56512019-01-11 Tom de Vries <tdevries@suse.de>
5652
5653 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
5654 -foffload=-w.
5655 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
5656 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
5657 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
5658 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
5659
2c3e7ad2
TV
56602019-01-11 Tom de Vries <tdevries@suse.de>
5661
5662 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
5663 test.
5664
e222497d
NS
56652019-01-10 Nathan Sidwell <nathan@acm.org>
5666 Julian Brown <julian@codesourcery.com>
5667
5668 PR lto/71959
5669 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
5670 * testsuite/libgomp.oacc-c++/pr71959.C: New.
5671
cb87fec3
SH
56722019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5673
5674 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
5675 and paste code.
5676
30b4d0d0
SH
56772019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5678
5679 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
5680 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
5681 write.
5682
5d0bc70a
TV
56832019-01-09 Tom de Vries <tdevries@suse.de>
5684
5685 PR target/88756
5686 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
5687 #define instead of "const int".
5688 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
5689 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
5690 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
5691 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
5692
2c372e81
TV
56932019-01-09 Tom de Vries <tdevries@suse.de>
5694
5695 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
5696 one worker.
5697
43493c97
TV
56982019-01-07 Tom de Vries <tdevries@suse.de>
5699
5700 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
5701 GOMP_OPENACC_DIM argument.
5702
5c571497
TV
57032019-01-03 Tom de Vries <tdevries@suse.de>
5704
5705 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
5706 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
5707
a5544970
JJ
57082019-01-01 Jakub Jelinek <jakub@redhat.com>
5709
5710 Update copyright years.
5711
3f27508c
JJ
57122019-01-01 Jakub Jelinek <jakub@redhat.com>
5713
5714 * libgomp.texi: Bump @copying's copyright year.
5715
59d5960c
TS
57162018-12-28 Thomas Schwinge <thomas@codesourcery.com>
5717
5718 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
5719 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
5720 (GOACC_declare): Redefine the "device" argument to "flags".
5721
a44c1790
TS
57222018-12-28 Thomas Schwinge <thomas@codesourcery.com>
5723 Cesar Philippidis <cesar@codesourcery.com>
5724
5725 * target.c (struct gomp_coalesce_chunk): New structure.
5726 (struct gomp_coalesce_buf): Update the chunks member to use that
5727 type. Adjust all users.
5728
a152954e
TV
57292018-12-19 Tom de Vries <tdevries@suse.de>
5730
5731 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
5732 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
5733 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
5734
49188cd1
TV
57352018-12-19 Tom de Vries <tdevries@suse.de>
5736
5737 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
5738 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
5739 gcc/testsuite/gcc.dg/goacc.
5740 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
5741
c759830b
TS
57422018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5743 Chung-Lin Tang <cltang@codesourcery.com>
5744
5745 * oacc-mem.c (acc_present_or_create): Remove definition and change
5746 to alias of acc_create.
5747 (acc_present_or_copyin): Remove definition and change to alias of
5748 acc_copyin.
5749 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
5750 of acc_present_or_create.
5751 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
5752 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5753 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5754 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5755 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5756 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5757 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5758 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5759 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5760 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5761 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5762 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5763 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5764 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5765 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5766 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5767
7de562ee
TS
57682018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5769
f847198e
TS
5770 PR libgomp/88495
5771 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
5772 "identical parameters".
5773 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
5774 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
5775
c8ab8aab
TS
5776 PR libgomp/88484
5777 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
5778 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
5779
1404af62
TS
5780 PR libgomp/88407
5781 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
5782 (nvptx_wait_async): Unseen async-argument is a no-op.
5783 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
5784 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
5785 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5786 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5787 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
5788 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
5789 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
5790 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
5791 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
5792
7de562ee
TS
5793 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
5794 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5795
17469af7
CLT
57962018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
5797
5798 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
5799 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5800 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5801
18c247cc
TS
58022018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5803
5804 PR libgomp/88370
5805 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
5806 (acc_set_cuda_stream): Clarify.
5807 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
5808 "async_valid_p".
5809 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
5810 acc_async_sync".
5811 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
5812 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
5813 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
5814 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5815
b0aba46c
TV
58162018-12-14 Tom de Vries <tdevries@suse.de>
5817
5818 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
5819 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
5820 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
5821 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
5822 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
5823
fe0827ee
TV
58242018-12-13 Tom de Vries <tdevries@suse.de>
5825
5826 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
5827 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
5828 * fortran.c (omp_display_affinity_): ... here.
5829 * libgomp.h (gomp_print_string): Declare.
5830 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
5831 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
5832 write.
5833
a51f8c92
JJ
58342018-12-13 Jakub Jelinek <jakub@redhat.com>
5835
5836 PR libgomp/88460
5837 * testsuite/libgomp.c++/for-24.C (results): Include it in
5838 omp declare target region.
5839 (main): Use map (always, tofrom: results) instead of
5840 map (tofrom: results).
5841
a6ef2ac9
JJ
58422018-12-12 Jakub Jelinek <jakub@redhat.com>
5843
7a289b7d
JJ
5844 PR fortran/88463
5845 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
5846 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
5847
a6ef2ac9
JJ
5848 * testsuite/libgomp.c-c++-common/for-16.c: New test.
5849
9c47a019
AS
58502018-12-12 Andreas Schwab <schwab@suse.de>
5851
5852 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
5853 clobbered.
5854
d0cbb206
TK
58552018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
5856
5857 PR fortran/88411
5858 * testsuite/libgomp.fortran/async_io_8.f90: New test.
5859
84ca08d2
TS
58602018-12-09 Thomas Schwinge <thomas@codesourcery.com>
5861 Jakub Jelinek <jakub@redhat.com>
5862
5863 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
5864 devicep->host2dev_func.
5865
6997628d
JJ
58662018-12-08 Jakub Jelinek <jakub@redhat.com>
5867
5868 PR libgomp/87995
5869 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
5870 tls_runtime effective target.
5871 (t): New threadprivate variable.
5872 (main): Set t in threads which execute iterations of the worksharing
5873 loop. Propagate that to the task after the loop and don't abort
5874 if the current taskgroup hasn't been cancelled.
5875
daa8c1d7
JJ
58762018-12-02 Jakub Jelinek <jakub@redhat.com>
5877
4a82df9a
JJ
5878 * testsuite/libgomp.c/task-reduction-3.c: New test.
5879
daa8c1d7
JJ
5880 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
5881
fe570ff8
CP
58822018-11-30 Cesar Philippidis <cesar@codesourcery.com>
5883
5884 PR libgomp/88288
5885 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
5886 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
5887
c223608f
TS
58882018-11-30 Thomas Schwinge <thomas@codesourcery.com>
5889
5890 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
5891
fc60283c
RB
58922018-10-19 Richard Biener <rguenther@suse.de>
5893
5894 PR tree-optimization/88182
5895 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
5896
ffcf3b79
JJ
58972018-11-26 Jakub Jelinek <jakub@redhat.com>
5898
5899 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
5900 (RUNTEST): Don't define.
5901 (RUNTESTDEFAULTFLAGS): Add.
5902 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
5903 (distclean-am): Depend on distclean-DEJAGNU.
5904 (check-am): If -j% option is present in MFLAGS and if
5905 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
5906 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
5907 * testsuite/Makefile.in: Regenerated.
5908
ef6e6914
RB
59092018-11-26 Richard Biener <rguenther@suse.de>
5910
5911 PR tree-optimization/88182
5912 * testsuite/libgomp.c++/pr88182.C: New testcase.
5913
72d3bb76
JJ
59142018-11-20 Jakub Jelinek <jakub@redhat.com>
5915
5916 PR bootstrap/88106
5917 * config/mingw32/affinity-fmt.c: New file.
5918
207286c3
JJ
59192018-11-09 Jakub Jelinek <jakub@redhat.com>
5920
9666c522
JJ
5921 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
5922 (gomp_display_affinity): Use __builtin_choose_expr to handle
5923 properly handle argument having integral, or pointer or some other
5924 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
5925 with uint64_t type instead of %llx and unsigned long long.
5926
207286c3
JJ
5927 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
5928 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
5929
2033f45b
RO
59302018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5931
5932 * affinity.c: Include <string.h>, <stdio.h>.
5933 (gomp_display_affinity_place): Remove cpusetp.
5934 * teams.c: Include <limits.h>.
5935
28567c40
JJ
59362018-11-08 Jakub Jelinek <jakub@redhat.com>
5937
8991d779
JJ
5938 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
5939 in_reduction clause for s[0].
5940
28567c40
JJ
5941 * affinity.c (gomp_display_affinity_place): New function.
5942 * affinity-fmt.c: New file.
5943 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
5944 * config/linux/affinity.c (gomp_display_affinity_place): New function.
5945 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
5946 Move these functions to ...
5947 * config/nvptx/teams.c: ... here. New file.
5948 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
5949 New functions.
5950 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
5951 functions.
5952 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
5953 and _aligned_malloc.
5954 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
5955 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
5956 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
5957 gomp_affinity_format_len): New variables.
5958 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
5959 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
5960 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
5961 modifiers. Display (non-default) chunk sizes. Print
5962 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
5963 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
5964 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
5965 * fortran.c: Include stdio.h and string.h.
5966 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
5967 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
5968 (omp_set_affinity_format_, omp_get_affinity_format_,
5969 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
5970 omp_pause_resource_all_): New functions.
5971 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
5972 switch.
5973 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
5974 functions to ...
5975 * teams.c: ... here. New file.
5976 * libgomp_g.h: Include gstdint.h.
5977 (GOMP_loop_nonmonotonic_runtime_start,
5978 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
5979 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
5980 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
5981 GOMP_parallel_loop_nonmonotonic_runtime,
5982 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5983 GOMP_loop_ull_nonmonotonic_runtime_start,
5984 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
5985 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
5986 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5987 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
5988 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
5989 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5990 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
5991 GOMP_teams_reg): Declare.
5992 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
5993 gomp_aligned_alloc uses fallback implementation.
5994 (gomp_aligned_alloc, gomp_aligned_free): Declare.
5995 (enum gomp_schedule_type): Add GFS_MONOTONIC.
5996 (struct gomp_doacross_work_share): Add extra field.
5997 (struct gomp_work_share): Add task_reductions field.
5998 (struct gomp_taskgroup): Add workshare and reductions fields.
5999 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
6000 (gomp_thread_handle): New typedef.
6001 (gomp_display_affinity_place, gomp_set_affinity_format,
6002 gomp_display_string, gomp_display_affinity,
6003 gomp_display_affinity_thread): Declare.
6004 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
6005 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
6006 gomp_workshare_task_reduction_register): Declare.
6007 (gomp_team_start): Add taskgroup argument.
6008 (gomp_pause_host): Declare.
6009 (gomp_init_work_share, gomp_work_share_start): Change bool argument
6010 to size_t.
6011 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
6012 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
6013 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
6014 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6015 GOMP_loop_ull_doacross_start,
6016 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6017 GOMP_loop_maybe_nonmonotonic_runtime_next,
6018 GOMP_loop_maybe_nonmonotonic_runtime_start,
6019 GOMP_loop_nonmonotonic_runtime_next,
6020 GOMP_loop_nonmonotonic_runtime_start,
6021 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6022 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6023 GOMP_loop_ull_nonmonotonic_runtime_next,
6024 GOMP_loop_ull_nonmonotonic_runtime_start,
6025 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6026 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
6027 GOMP_taskgroup_reduction_register,
6028 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6029 GOMP_teams_reg and GOMP_taskwait_depend.
6030 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
6031 omp_{capture,display}_affinity{,_}, and
6032 omp_[gs]et_affinity_format{,_}.
6033 * loop.c: Include string.h.
6034 (GOMP_loop_runtime_next): Add ialias.
6035 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6036 (gomp_loop_static_start, gomp_loop_dynamic_start,
6037 gomp_loop_guided_start, gomp_loop_ordered_static_start,
6038 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6039 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6040 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
6041 or gomp_doacross_init callers.
6042 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
6043 GOMP_loop_doacross_start): New functions.
6044 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6045 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
6046 Mask off GFS_MONOTONIC bit.
6047 (GOMP_loop_maybe_nonmonotonic_runtime_next,
6048 GOMP_loop_maybe_nonmonotonic_runtime_start,
6049 GOMP_loop_nonmonotonic_runtime_next,
6050 GOMP_loop_nonmonotonic_runtime_start,
6051 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6052 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
6053 functions.
6054 (gomp_parallel_loop_start): Pass NULL as taskgroup to
6055 gomp_team_start.
6056 * loop_ull.c: Include string.h.
6057 (GOMP_loop_ull_runtime_next): Add ialias.
6058 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6059 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
6060 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
6061 gomp_loop_ull_ordered_dynamic_start,
6062 gomp_loop_ull_ordered_guided_start,
6063 gomp_loop_ull_doacross_static_start,
6064 gomp_loop_ull_doacross_dynamic_start,
6065 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
6066 and gomp_doacross_ull_init callers.
6067 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6068 GOMP_loop_ull_doacross_start): New functions.
6069 (GOMP_loop_ull_runtime_start,
6070 GOMP_loop_ull_ordered_runtime_start,
6071 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
6072 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6073 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6074 GOMP_loop_ull_nonmonotonic_runtime_next,
6075 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
6076 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
6077 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
6078 (omp_pause_resource_t, omp_depend_t): New typedefs.
6079 (enum omp_lock_hint_t): Renamed to ...
6080 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
6081 enumerators using numbers and omp_lock_hint_* as their aliases.
6082 (omp_lock_hint_t): New typedef. Rename to ...
6083 (omp_sync_hint_t): ... this.
6084 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
6085 omp_sync_hint_t instead of omp_lock_hint_t.
6086 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6087 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6088 Declare.
6089 (omp_target_is_present, omp_target_disassociate_ptr):
6090 Change first argument from void * to const void *.
6091 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
6092 from void * to const void *.
6093 (omp_target_associate_ptr): Change first and second arguments from
6094 void * to const void *.
6095 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
6096 omp_pause_hard): New parameters.
6097 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6098 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6099 New interfaces.
6100 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
6101 omp_pause_hard): New parameters.
6102 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6103 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6104 New externals.
6105 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
6106 EXTRA argument. If not needed to prepare array, if extra is 0,
6107 clear ws->doacross, otherwise allocate just doacross structure and
6108 extra payload. If array is needed, allocate also extra payload.
6109 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
6110 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
6111 doacross == NULL.
6112 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
6113 gomp_team_start.
6114 (GOMP_parallel): Likewise. Formatting fix.
6115 (GOMP_parallel_reductions): New function.
6116 (GOMP_cancellation_point): If taskgroup has workshare
6117 flag set, check cancelled of prev taskgroup if any.
6118 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
6119 on prev taskgroup if any.
6120 * sections.c: Include string.h.
6121 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6122 (GOMP_sections_start): Adjust gomp_work_share_start caller.
6123 (GOMP_sections2_start): New function.
6124 (GOMP_parallel_sections_start, GOMP_parallel_sections):
6125 Pass NULL as taskgroup to gomp_team_start.
6126 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
6127 gomp_work_share_start callers.
6128 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
6129 If taskgroup has workshare flag set, check cancelled on prev
6130 taskgroup if any. Guard all cancellation tests with
6131 gomp_cancel_var test.
6132 (omp_target_is_present, omp_target_disassociate_ptr):
6133 Change ptr argument from void * to const void *.
6134 (omp_target_memcpy): Change src argument from void * to const void *.
6135 (omp_target_memcpy_rect): Likewise.
6136 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
6137 instead of char * where needed.
6138 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
6139 from void * to const void *.
6140 (omp_pause_resource, omp_pause_resource_all): New functions.
6141 * task.c (gomp_task_handle_depend): Handle new depend array format
6142 in addition to the old. Handle mutexinoutset kinds the same as
6143 inout for now, handle unspecified kinds.
6144 (gomp_create_target_task): If taskgroup has workshare flag set, check
6145 cancelled on prev taskgroup if any. Guard all cancellation tests with
6146 gomp_cancel_var test. Handle new depend array format count in
6147 addition to the old.
6148 (GOMP_task): Likewise. Adjust function comment.
6149 (gomp_task_run_pre): If taskgroup has workshare flag set, check
6150 cancelled on prev taskgroup if any. Guard all cancellation tests with
6151 gomp_cancel_var test.
6152 (GOMP_taskwait_depend): New function.
6153 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
6154 format in addition to the old. Handle mutexinoutset kinds the same as
6155 inout for now, handle unspecified kinds. Fix a function comment typo.
6156 (gomp_taskgroup_init): New function.
6157 (GOMP_taskgroup_start): Use it.
6158 (gomp_reduction_register, gomp_create_artificial_team,
6159 GOMP_taskgroup_reduction_register,
6160 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6161 gomp_parallel_reduction_register,
6162 gomp_workshare_task_reduction_register,
6163 gomp_workshare_taskgroup_start,
6164 GOMP_workshare_task_reduction_unregister): New functions.
6165 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
6166 check cancelled on prev taskgroup if any. Guard all cancellation
6167 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
6168 by calling GOMP_taskgroup_reduction_register.
6169 * team.c (gomp_thread_attr): Remove comment.
6170 (struct gomp_thread_start_data): Add handle field.
6171 (gomp_thread_start): Call pthread_detach.
6172 (gomp_new_team): Adjust gomp_init_work_share caller.
6173 (gomp_free_pool_helper): Call pthread_detach.
6174 (gomp_team_start): Add taskgroup argument, initialize implicit
6175 tasks' taskgroup field to that. Don't call
6176 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
6177 (gomp_team_end): Determine nesting by thr->ts.level != 0
6178 rather than thr->ts.team != NULL.
6179 (gomp_pause_pool_helper, gomp_pause_host): New functions.
6180 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
6181 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
6182 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
6183 if more than 1 allocate also extra payload at the end of array. Never
6184 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
6185 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
6186 return true instead of ws.
6187 * Makefile.in: Regenerated.
6188 * configure: Regenerated.
6189 * config.h.in: Regenerated.
6190 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
6191 in some cases.
6192 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
6193 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
6194 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
6195 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
6196 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
6197 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
6198 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
6199 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
6200 * testsuite/libgomp.c-c++-common/for-10.c: New test.
6201 * testsuite/libgomp.c-c++-common/for-11.c: New test.
6202 * testsuite/libgomp.c-c++-common/for-12.c: New test.
6203 * testsuite/libgomp.c-c++-common/for-13.c: New test.
6204 * testsuite/libgomp.c-c++-common/for-14.c: New test.
6205 * testsuite/libgomp.c-c++-common/for-15.c: New test.
6206 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
6207 define a different N(test), don't define N(f0) to N(f14), but instead
6208 define N(f20) to N(f34) using != comparisons.
6209 * testsuite/libgomp.c-c++-common/for-7.c: New test.
6210 * testsuite/libgomp.c-c++-common/for-8.c: New test.
6211 * testsuite/libgomp.c-c++-common/for-9.c: New test.
6212 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
6213 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
6214 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
6215 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
6216 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
6217 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
6218 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
6219 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
6220 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
6221 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
6222 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
6223 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
6224 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
6225 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
6226 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
6227 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
6228 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
6229 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
6230 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
6231 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
6232 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
6233 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
6234 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
6235 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
6236 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
6237 * testsuite/libgomp.c++/depend-1.C: New test.
6238 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
6239 * testsuite/libgomp.c++/depobj-1.C: New test.
6240 * testsuite/libgomp.c++/for-16.C: New test.
6241 * testsuite/libgomp.c++/for-21.C: New test.
6242 * testsuite/libgomp.c++/for-22.C: New test.
6243 * testsuite/libgomp.c++/for-23.C: New test.
6244 * testsuite/libgomp.c++/for-24.C: New test.
6245 * testsuite/libgomp.c++/for-25.C: New test.
6246 * testsuite/libgomp.c++/for-26.C: New test.
6247 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
6248 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
6249 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
6250 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
6251 * testsuite/libgomp.c++/task-reduction-10.C: New test.
6252 * testsuite/libgomp.c++/task-reduction-11.C: New test.
6253 * testsuite/libgomp.c++/task-reduction-12.C: New test.
6254 * testsuite/libgomp.c++/task-reduction-13.C: New test.
6255 * testsuite/libgomp.c++/task-reduction-14.C: New test.
6256 * testsuite/libgomp.c++/task-reduction-15.C: New test.
6257 * testsuite/libgomp.c++/task-reduction-16.C: New test.
6258 * testsuite/libgomp.c++/task-reduction-17.C: New test.
6259 * testsuite/libgomp.c++/task-reduction-18.C: New test.
6260 * testsuite/libgomp.c++/task-reduction-19.C: New test.
6261 * testsuite/libgomp.c/task-reduction-1.c: New test.
6262 * testsuite/libgomp.c++/task-reduction-1.C: New test.
6263 * testsuite/libgomp.c/task-reduction-2.c: New test.
6264 * testsuite/libgomp.c++/task-reduction-2.C: New test.
6265 * testsuite/libgomp.c++/task-reduction-3.C: New test.
6266 * testsuite/libgomp.c++/task-reduction-4.C: New test.
6267 * testsuite/libgomp.c++/task-reduction-5.C: New test.
6268 * testsuite/libgomp.c++/task-reduction-6.C: New test.
6269 * testsuite/libgomp.c++/task-reduction-7.C: New test.
6270 * testsuite/libgomp.c++/task-reduction-8.C: New test.
6271 * testsuite/libgomp.c++/task-reduction-9.C: New test.
6272 * testsuite/libgomp.c/teams-1.c: New test.
6273 * testsuite/libgomp.c/teams-2.c: New test.
6274 * testsuite/libgomp.c/thread-limit-4.c: New test.
6275 * testsuite/libgomp.c/thread-limit-5.c: New test.
6276 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
6277
58168bbf
CLT
62782018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
6279
6280 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
6281 acc_memcpy_to/from_device functions, now with async parameter.
6282 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
6283 (acc_memcpy_from_device): Likewise.
6284 (acc_memcpy_to_device_async): New API function.
6285 (acc_memcpy_from_device_async): Likewise.
6286 (present_create_copy): Add async parameter and async setting/unsetting.
6287 (acc_create): Adjust present_create_copy call.
6288 (acc_copyin): Likewise.
6289 (acc_present_or_create): Likewise.
6290 (acc_present_or_copyin): Likewise.
6291 (acc_create_async): New API function.
6292 (acc_copyin_async): New API function.
6293 (delete_copyout): Add async parameter and async setting/unsetting.
6294 (acc_delete): Adjust delete_copyout call.
6295 (acc_copyout): Likewise.
6296 (acc_delete_async): New API function.
6297 (acc_copyout_async): Likewise.
6298 (update_dev_host): Add async parameter and async setting/unsetting.
6299 (acc_update_device): Adjust update_dev_host call.
6300 (acc_update_self): Likewise.
6301 (acc_update_device_async): New API function.
6302 (acc_update_self_async): Likewise.
6303 * openacc.h (acc_copyin_async): Declare new API function.
6304 (acc_create_async): Likewise.
6305 (acc_copyout_async): Likewise.
6306 (acc_delete_async): Likewise.
6307 (acc_update_device_async): Likewise.
6308 (acc_update_self_async): Likewise.
6309 (acc_memcpy_to_device_async): Likewise.
6310 (acc_memcpy_from_device_async): Likewise.
6311 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
6312 (acc_copyin_async_64_h): New subroutine.
6313 (acc_copyin_async_array_h): New subroutine.
6314 (acc_create_async_32_h): New subroutine.
6315 (acc_create_async_64_h): New subroutine.
6316 (acc_create_async_array_h): New subroutine.
6317 (acc_copyout_async_32_h): New subroutine.
6318 (acc_copyout_async_64_h): New subroutine.
6319 (acc_copyout_async_array_h): New subroutine.
6320 (acc_delete_async_32_h): New subroutine.
6321 (acc_delete_async_64_h): New subroutine.
6322 (acc_delete_async_array_h): New subroutine.
6323 (acc_update_device_async_32_h): New subroutine.
6324 (acc_update_device_async_64_h): New subroutine.
6325 (acc_update_device_async_array_h): New subroutine.
6326 (acc_update_self_async_32_h): New subroutine.
6327 (acc_update_self_async_64_h): New subroutine.
6328 (acc_update_self_async_array_h): New subroutine.
6329 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
6330 (acc_copyin_async_64_h): New subroutine.
6331 (acc_copyin_async_array_h): New subroutine.
6332 (acc_create_async_32_h): New subroutine.
6333 (acc_create_async_64_h): New subroutine.
6334 (acc_create_async_array_h): New subroutine.
6335 (acc_copyout_async_32_h): New subroutine.
6336 (acc_copyout_async_64_h): New subroutine.
6337 (acc_copyout_async_array_h): New subroutine.
6338 (acc_delete_async_32_h): New subroutine.
6339 (acc_delete_async_64_h): New subroutine.
6340 (acc_delete_async_array_h): New subroutine.
6341 (acc_update_device_async_32_h): New subroutine.
6342 (acc_update_device_async_64_h): New subroutine.
6343 (acc_update_device_async_array_h): New subroutine.
6344 (acc_update_self_async_32_h): New subroutine.
6345 (acc_update_self_async_64_h): New subroutine.
6346 (acc_update_self_async_array_h): New subroutine.
6347 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
6348 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
6349 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
6350 acc_memcpy_to_device_async*, acc_update_device_async*, and
6351 acc_update_self_async* entries.
6352 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
6353 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
6354 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
6355
22e05272
JM
63562018-10-31 Joseph Myers <joseph@codesourcery.com>
6357
6358 PR bootstrap/82856
6359 * Makefile.am: Include multilib.am
6360 (AUTOMAKE_OPTIONS): Add info-in-builddir.
6361 (CLEANFILES): Remove libgomp.info.
6362 * configure.ac: Remove AC_PREREQ.
6363 * testsuite/Makefile.am (RUNTEST): Remove quotes.
6364 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
6365 Regenerate.
6366
87a5ccfb
JM
63672018-10-29 Joseph Myers <joseph@codesourcery.com>
6368 Julian Brown <julian@codesourcery.com>
6369
6370 * testsuite/libgomp.oacc-c++/this.C: New.
6371
2049befd
CP
63722018-09-18 Cesar Philippidis <cesar@codesourcery.com>
6373
6374 * plugin/plugin-nvptx.c (struct cuda_map): New.
6375 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
6376 h_tail with (cuda_map *) map.
6377 (cuda_map_create): New function.
6378 (cuda_map_destroy): New function.
6379 (map_init): Update to use a linked list of cuda_map objects.
6380 (map_fini): Likewise.
6381 (map_pop): Likewise.
6382 (map_push): Likewise. Return CUdeviceptr instead of void.
6383 (init_streams_for_device): Remove stales references to ptx_stream
6384 members.
6385 (select_stream_for_async): Likewise.
6386 (nvptx_exec): Update call to map_init.
6387
8e36332c
CP
63882018-09-09 Cesar Philippidis <cesar@codesourcery.com>
6389 Julian Brown <julian@codesourcery.com>
6390
6391 PR middle-end/86336
6392 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
6393
2b4c9065
NK
63942018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
6395 Thomas Koenig <tkoenig@gcc.gnu.org>
6396
6397 PR fortran/25829
6398 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6399 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6400 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6401 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6402 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6403 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6404 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6405
bd9b3d3d
CP
64062018-08-13 Cesar Philippidis <cesar@codesourcery.com>
6407 Tom de Vries <tdevries@suse.de>
6408
6409 PR target/85590
6410 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
6411 (cuOccupancyMaxPotentialBlockSize): Declare.
6412 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
6413 CUDA_ONE_CALL_MAYBE_NULL.
6414 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
6415 CUoccupancyB2DSize and declare
6416 cuOccupancyMaxPotentialBlockSize.
6417 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
6418 default num_gangs and num_workers when the driver supports it.
6419
8e09a12f
TV
64202018-08-08 Tom de Vries <tdevries@suse.de>
6421
6422 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
6423 CUDA_ONE_CALL_MAYBE_NULL.
6424 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
6425 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
6426 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
6427 are not found.
6428
cedd9bd0
TV
64292018-08-08 Tom de Vries <tdevries@suse.de>
6430
6431 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
6432 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
6433 present.
6434
b113af95
TV
64352018-08-08 Tom de Vries <tdevries@suse.de>
6436
6437 * plugin/plugin-nvptx.c
6438 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
6439 (nvptx_open_device): Use
6440 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
6441
94767dac
TV
64422018-08-08 Tom de Vries <tdevries@suse.de>
6443
6444 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
6445 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
6446
02150de8
TV
64472018-08-07 Tom de Vries <tdevries@suse.de>
6448
6449 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
6450 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
6451 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
6452 corresponding call in CUDA_ONE_CALL. Add def/undef of
6453 CUDA_ONE_CALL_MAYBE_NULL.
6454 (CUDA_CALL_EXISTS): Define.
6455
9e28b107
TV
64562018-08-07 Tom de Vries <tdevries@suse.de>
6457
6458 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
6459 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
6460 corresponding undefs right after.
6461
09940090
TV
64622018-08-04 Tom de Vries <tdevries@suse.de>
6463
6464 * plugin/configfrag.ac: For --without-cuda-driver, set
6465 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
6466 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
6467 * configure: Regenerate.
6468
77e0a97a
TV
64692018-08-02 Tom de Vries <tdevries@suse.de>
6470
6471 PR target/86660
6472 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
6473 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
6474 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
6475 Same.
6476 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
6477 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
6478 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
6479
701d080a
CP
64802018-08-01 Cesar Philippidis <cesar@codesourcery.com>
6481 Thomas Schwinge <thomas@codesourcery.com>
6482
6483 * config/nvptx/oacc-parallel.c: Truncate.
6484
094db6be
CP
64852018-08-01 Cesar Philippidis <cesar@codesourcery.com>
6486 James Norris <jnorris@codesourcery.com>
6487
6488 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
6489 (map_init, map_pop): Remove use of struct map.
6490 (map_push): Likewise and change argument list.
094db6be
CP
6491 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
6492
8c6310a2
TV
64932018-08-01 Tom de Vries <tdevries@suse.de>
6494
6495 * plugin/cuda-lib.def: New file. Factor out of ...
6496 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
6497 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
6498 using CUDA_CALLS.
6499
1d4a51cf
AV
65002018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
6501
6502 Revert 'AsyncI/O patch committed'.
6503 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
6504 Thomas Koenig <tkoenig@gcc.gnu.org>
6505
6506 PR fortran/25829
6507 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6508 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6509 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6510 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6511 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6512 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6513 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6514
4cdfee3f
TV
65152018-07-30 Tom de Vries <tdevries@suse.de>
6516
6517 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
6518 (nvptx_exec): Ensure worker and vector default dims don't exceed
6519 targ_fn->max_threads_per_block.
6520
0b210c43
TV
65212018-07-30 Tom de Vries <tdevries@suse.de>
6522
6523 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
6524 (nvptx_open_device): Init default_dims for device.
6525 (nvptx_exec): Use default_dims from device.
6526
5883c5cc
JJ
65272018-07-26 Jakub Jelinek <jakub@redhat.com>
6528
5d36384c
JJ
6529 PR testsuite/86660
6530 * testsuite/libgomp.c++/for-15.C (results): Include it in
6531 omp declare target region.
6532 (main): Use map (always, tofrom: results) instead of
6533 map (tofrom: results).
6534
5883c5cc
JJ
6535 PR middle-end/86660
6536 * testsuite/libgomp.c/pr86660.c: New test.
6537
88a4654d
CP
65382018-07-26 Cesar Philippidis <cesar@codesourcery.com>
6539 Tom de Vries <tdevries@suse.de>
6540
6541 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
6542 sufficient resources to launch a kernel, and give a hint on how to fix
6543 it.
6544
0c6c2f5f
CP
65452018-07-26 Cesar Philippidis <cesar@codesourcery.com>
6546 Tom de Vries <tdevries@suse.de>
6547
6548 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
6549 max_threads_per_block and max_threads_per_multiprocessor fields.
6550 (nvptx_open_device): Initialize new fields.
6551 (nvptx_exec): Use num_sms, and new fields.
6552
6dd58010
TV
65532018-07-26 Tom de Vries <tdevries@suse.de>
6554
6555 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
6556 to correct locations. Remove xfail.
6557
b2eb1779
TV
65582018-07-26 Tom de Vries <tdevries@suse.de>
6559
6560 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
6561 acc_wait. Move acc_async_test calls to correct locations. Remove
6562 xfail.
6563
b1f45884
NK
65642018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
6565 Thomas Koenig <tkoenig@gcc.gnu.org>
6566
6567 PR fortran/25829
6568 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6569 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6570 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6571 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6572 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6573 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6574 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6575
3a106211
JJ
65762018-07-17 Jakub Jelinek <jakub@redhat.com>
6577
a3bccfa1
JJ
6578 PR middle-end/86542
6579 * testsuite/libgomp.c++/pr86542.C: New test.
6580
3a106211
JJ
6581 PR middle-end/86539
6582 * testsuite/libgomp.c++/pr86539.C: New test.
6583
2bae8b2f
JJ
65842018-07-11 Jakub Jelinek <jakub@redhat.com>
6585
6586 PR c++/86443
6587 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
6588 (results): Make sure the variable is not inside declare target region.
6589 (qux): Remove unused function.
6590
0b27c3ed
JJ
65912018-07-10 Jakub Jelinek <jakub@redhat.com>
6592
6593 PR c++/86443
6594 * testsuite/libgomp.c++/for-15.C: New test.
6595
f0391511
JJ
65962018-06-26 Jakub Jelinek <jakub@redhat.com>
6597
6598 PR c++/86291
6599 * testsuite/libgomp.c++/pr86291.C: New test.
6600
1a6d1d24
GP
66012018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
6602
6603 * libgomp.texi (Top): Move www.openmp.org to https.
6604 (Enabling OpenMP): Ditto.
6605 (omp_get_active_level): Ditto.
6606 (omp_get_ancestor_thread_num): Ditto.
6607 (omp_get_cancellation): Ditto.
6608 (omp_get_default_device): Ditto.
6609 (omp_get_dynamic): Ditto.
6610 (omp_get_level): Ditto.
6611 (omp_get_max_active_levels): Ditto.
6612 (omp_get_max_task_priority): Ditto.
6613 (omp_get_max_threads): Ditto.
6614 (omp_get_nested): Ditto.
6615 (omp_get_num_devices): Ditto.
6616 (omp_get_num_procs): Ditto.
6617 (omp_get_num_teams): Ditto.
6618 (omp_get_num_threads): Ditto.
6619 (omp_get_proc_bind): Ditto.
6620 (omp_get_schedule): Ditto.
6621 (omp_get_team_num): Ditto.
6622 (omp_get_team_size): Ditto.
6623 (omp_get_thread_limit): Ditto.
6624 (omp_get_thread_num): Ditto.
6625 (omp_in_parallel): Ditto.
6626 (omp_in_final): Ditto.
6627 (omp_is_initial_device): Ditto.
6628 (omp_set_default_device): Ditto.
6629 (omp_set_dynamic): Ditto.
6630 (omp_set_max_active_levels): Ditto.
6631 (omp_set_nested): Ditto.
6632 (omp_set_num_threads): Ditto.
6633 (omp_set_schedule): Ditto.
6634 (omp_init_lock): Ditto.
6635 (omp_set_lock): Ditto.
6636 (omp_test_lock): Ditto.
6637 (omp_unset_lock): Ditto.
6638 (omp_destroy_lock): Ditto.
6639 (omp_init_nest_lock): Ditto.
6640 (omp_set_nest_lock): Ditto.
6641 (omp_test_nest_lock): Ditto.
6642 (omp_unset_nest_lock): Ditto.
6643 (omp_destroy_nest_lock): Ditto.
6644 (omp_get_wtick): Ditto.
6645 (omp_get_wtime): Ditto.
6646 (OMP_CANCELLATION): Ditto.
6647 (OMP_DISPLAY_ENV): Ditto.
6648 (OMP_DEFAULT_DEVICE): Ditto.
6649 (OMP_DYNAMIC): Ditto.
6650 (OMP_MAX_ACTIVE_LEVELS): Ditto.
6651 (OMP_MAX_TASK_PRIORITY): Ditto.
6652 (OMP_NESTED): Ditto.
6653 (OMP_NUM_THREADS): Ditto.
6654 (OMP_PROC_BIND): Ditto.
6655 (OMP_PLACES): Ditto.
6656 (OMP_STACKSIZE): Ditto.
6657 (OMP_SCHEDULE): Ditto.
6658 (OMP_THREAD_LIMIT): Ditto.
6659 (OMP_WAIT_POLICY): Ditto.
6660
31dd69b7
CP
66612018-06-22 Cesar Philippidis <cesar@codesourcery.com>
6662 James Norris <jnorris@codesourcery.com>
6663 Julian Brown <julian@codesourcery.com>
6664 Thomas Schwinge <thomas@codesourcery.com>
6665 Tom de Vries <tom@codesourcery.com>
6666
6667 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
6668 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
6669 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
6670 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
6671 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6672 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6673 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
6674 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
6675 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
6676 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
6677 Likewise.
6678 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6679 Likewise.
6680 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6681 Likewise.
6682 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
6683 Likewise.
6684 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
6685 Likewise.
6686 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6687 Likewise.
6688 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
6689 Likewise.
6690 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
6691 Likewise.
6692 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
6693 Likewise.
6694 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
6695 Likewise.
6696 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
6697 Likewise.
6698 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
6699 Likewise.
6700 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
6701 Likewise.
6702 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
6703 Likewise.
6704 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
6705 Likewise.
6706 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
6707 Likewise.
6708 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
6709 Likewise.
6710 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
6711 Likewise.
6712 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
6713 Likewise.
6714 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
6715 Likewise.
6716 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
6717 Likewise.
6718 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
6719 Likewise.
6720 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
6721 Likewise.
6722 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
6723 Likewise.
6724 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
6725 Likewise.
6726 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
6727 Likewise.
6728 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
6729 Likewise.
6730 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
6731 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
6732 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
6733 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
6734 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
6735 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
6736 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
6737 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
6738 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
6739 Likewise.
6740 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
6741 Likewise.
6742 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
6743 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
6744 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
6745 Likewise.
6746 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
6747 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
6748 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
6749 Likewise.
6750 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6751 Likewise.
6752 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6753 Likewise.
6754 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6755 Likewise.
6756 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6757 Likewise.
6758 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
6759 Likewise.
6760 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
6761 Likewise.
6762 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
6763 Likewise.
6764 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
6765 Likewise.
6766 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
6767 Likewise.
6768 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
6769 Likewise.
6770 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
6771 Likewise.
6772 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
6773 Likewise.
6774 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
6775 Likewise.
6776 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
6777 Likewise.
6778 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6779 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
6780 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
6781 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
6782 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
6783 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
6784 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
6785
829c6349
CLT
67862018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
6787 Thomas Schwinge <thomas@codesourcery.com>
6788 Cesar Philippidis <cesar@codesourcery.com>
6789
6790 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
6791 (gomp_acc_remove_pointer): Update declaration.
6792 (gomp_acc_declare_allocate): Declare.
6793 (gomp_remove_var): Declare.
6794 * libgomp.map (OACC_2.5): Define.
6795 * oacc-mem.c (acc_map_data): Update refcount.
6796 (acc_unmap_data): Likewise.
6797 (present_create_copy): Likewise.
6798 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
6799 (acc_copyin): Likewise.
6800 (FLAG_FINALIZE): Define.
6801 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
6802 (acc_delete_finalize): New function.
6803 (acc_delete_finalize_async): New function.
6804 (acc_copyout_finalize): New function.
6805 (acc_copyout_finalize_async): New function.
6806 (gomp_acc_insert_pointer): Update refcounts.
6807 (gomp_acc_remove_pointer): Return if data is not present on the
6808 accelerator.
6809 * oacc-parallel.c (find_pset): Rename to find_pointer.
6810 (find_pointer): Add support for GOMP_MAP_POINTER.
6811 (handle_ftn_pointers): New function.
6812 (GOACC_parallel_keyed): Update refcounts of variables.
6813 (GOACC_enter_exit_data): Add support for finalized data mappings.
6814 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
6815 of fortran arrays.
6816 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
6817 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
6818 for GOMP_MAP_FORCE_FROM.
6819 * openacc.f90 (module openacc_internal): Add
6820 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
6821 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
6822 acc_copyout_finalize and acc_delete_finalize.
6823 (acc_copyout_finalize_32_h): New subroutine.
6824 (acc_copyout_finalize_64_h): New subroutine.
6825 (acc_copyout_finalize_array_h): New subroutine.
6826 (acc_delete_finalize_32_h): New subroutine.
6827 (acc_delete_finalize_64_h): New subroutine.
6828 (acc_delete_finalize_array_h): New subroutine.
6829 * openacc.h (acc_copyout_finalize): Declare.
6830 (acc_copyout_finalize_async): Declare.
6831 (acc_delete_finalize): Declare.
6832 (acc_delete_finalize_async): Declare.
6833 * openacc_lib.h (acc_copyout_finalize): New interface.
6834 (acc_delete_finalize): New interface.
6835 * target.c (gomp_map_vars): Update dynamic_refcount.
6836 (gomp_remove_var): New function.
6837 (gomp_unmap_vars): Use it.
6838 (gomp_unload_image_from_device): Likewise.
6839 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
6840 case to utilize OpenACC 2.5 data clause semantics.
6841 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6842 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6843 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6844 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6845 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6846 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6847 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6848 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6849 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6850 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6851 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6852 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
6853 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
6854 utilize OpenACC 2.5 data clause semantics.
6855 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6856 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6857 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6858 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6859 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6860 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6861 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6862 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
6863 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
6864
4358400b
JW
68652018-05-21 Janus Weil <janus@gcc.gnu.org>
6866
6867 PR fortran/85841
6868 PR testsuite/85865
6869 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
6870 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
6871 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
6872 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
6873 * testsuite/libgomp.fortran/task2.f90: Ditto.
6874 * testsuite/libgomp.fortran/vla1.f90: Ditto.
6875 * testsuite/libgomp.fortran/vla2.f90: Ditto.
6876 * testsuite/libgomp.fortran/vla3.f90: Ditto.
6877 * testsuite/libgomp.fortran/vla4.f90: Ditto.
6878 * testsuite/libgomp.fortran/vla5.f90: Ditto.
6879 * testsuite/libgomp.fortran/vla6.f90: Ditto.
6880 * testsuite/libgomp.fortran/vla8.f90: Ditto.
6881 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
6882 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
6883
950ad0ba
CP
68842018-05-18 Cesar Philippidis <cesar@codesourcery.com>
6885
6886 PR c++/85782
6887 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
6888
f5ad16f1
TV
68892018-05-09 Tom de Vries <tom@codesourcery.com>
6890
6891 PR libgomp/82901
6892 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
6893 to GOACC_enter_exit_data.
6894
edbd038a
TV
68952018-05-09 Tom de Vries <tom@codesourcery.com>
6896
6897 PR libgomp/83792
6898 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
6899 (async_synchronous_p): New function.
6900 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
6901 async_valid_p.
6902 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6903 async_valid_stream_id_p.
6904 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
6905 * oacc-parallel.c (GOACC_parallel_keyed): Same.
6906
37d6c719
TV
69072018-05-07 Tom de Vries <tom@codesourcery.com>
6908
6909 PR testsuite/85677
6910 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
6911 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
6912
63f12215
TV
69132018-05-03 Tom de Vries <tom@codesourcery.com>
6914
6915 PR testsuite/85106
6916 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
6917 extra_tool_flags if it contains an -foffload=-fdump-* flag.
6918 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
6919 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
6920
ec00d3fa
TV
69212018-05-02 Tom de Vries <tom@codesourcery.com>
6922
6923 PR libgomp/85411
6924 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
6925 GOMP_OPENACC_DIM ...
6926 * env.c (parse_gomp_openacc_dim): ... here. New function.
6927 (initialize_env): Call parse_gomp_openacc_dim.
6928 (goacc_default_dims): Define.
6929 * libgomp.h (goacc_default_dims): Declare.
6930 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
6931 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
6932 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
6933 GOMP_PLUGIN_acc_default_dim.
6934 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
6935 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
6936
92243e7c
TV
69372018-05-02 Tom de Vries <tom@codesourcery.com>
6938
6939 PR testsuite/83791
6940 * testsuite/libgomp.c++/udr-9.C: Update.
6941 * testsuite/libgomp.c++/atomic-16.C: Remove.
6942 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
6943 * testsuite/libgomp.c++/loop-13.C: Remove.
6944 * testsuite/libgomp.c++/loop-14.C: Remove.
6945 * testsuite/libgomp.c++/loop-15.C: Remove.
6946 * testsuite/libgomp.c++/monotonic-1.C: Remove.
6947 * testsuite/libgomp.c++/monotonic-2.C: Remove.
6948 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
6949 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
6950 * testsuite/libgomp.c++/ordered-1.C: Remove.
6951 * testsuite/libgomp.c++/pr45784.C: Remove.
6952 * testsuite/libgomp.c++/pr64824.C: Remove.
6953 * testsuite/libgomp.c++/pr64868.C: Remove.
6954 * testsuite/libgomp.c++/pr66199-1.C: Remove.
6955 * testsuite/libgomp.c++/pr66199-2.C: Remove.
6956 * testsuite/libgomp.c++/pr66199-3.C: Remove.
6957 * testsuite/libgomp.c++/pr66199-4.C: Remove.
6958 * testsuite/libgomp.c++/pr66199-5.C: Remove.
6959 * testsuite/libgomp.c++/pr66199-6.C: Remove.
6960 * testsuite/libgomp.c++/pr66199-7.C: Remove.
6961 * testsuite/libgomp.c++/pr66199-8.C: Remove.
6962 * testsuite/libgomp.c++/pr66199-9.C: Remove.
6963 * testsuite/libgomp.c++/pr69389.C: Remove.
6964 * testsuite/libgomp.c++/simd10.C: Remove.
6965 * testsuite/libgomp.c++/simd11.C: Remove.
6966 * testsuite/libgomp.c++/simd12.C: Remove.
6967 * testsuite/libgomp.c++/simd13.C: Remove.
6968 * testsuite/libgomp.c++/target-1.C: Remove.
6969 * testsuite/libgomp.c++/target-3.C: Remove.
6970 * testsuite/libgomp.c++/target-4.C: Remove.
6971 * testsuite/libgomp.c++/target-5.C: Remove.
6972 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
6973 * testsuite/libgomp.c++/taskloop-1.C: Remove.
6974 * testsuite/libgomp.c++/taskloop-2.C: Remove.
6975 * testsuite/libgomp.c++/taskloop-3.C: Remove.
6976 * testsuite/libgomp.c++/taskloop-4.C: Remove.
6977 * testsuite/libgomp.c++/udr-9.C: Remove.
6978 * testsuite/libgomp.c++/for-10.C: Remove.
6979 * testsuite/libgomp.c++/for-11.C: Remove.
6980 * testsuite/libgomp.c++/for-12.C: Remove.
6981 * testsuite/libgomp.c++/for-13.C: Remove.
6982 * testsuite/libgomp.c++/for-14.C: Remove.
6983 * testsuite/libgomp.c++/for-9.C: Remove.
6984 * testsuite/libgomp.c/atomic-18.c: Move ...
6985 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
6986 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
6987 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
6988 * testsuite/libgomp.c/loop-13.c: Move ...
6989 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
6990 * testsuite/libgomp.c/loop-14.c: Move ...
6991 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
6992 * testsuite/libgomp.c/loop-15.c: Remove.
6993 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
6994 * testsuite/libgomp.c/monotonic-1.c: Move ...
6995 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
6996 * testsuite/libgomp.c/monotonic-2.c: Move ...
6997 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
6998 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
6999 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
7000 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
7001 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
7002 * testsuite/libgomp.c/ordered-4.c: Move ...
7003 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
7004 * testsuite/libgomp.c/pr45784.c: Move ...
7005 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
7006 * testsuite/libgomp.c/pr64824.c: Move ...
7007 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
7008 * testsuite/libgomp.c/pr64868.c: Move ...
7009 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
7010 * testsuite/libgomp.c/pr66199-1.c: Move ...
7011 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
7012 * testsuite/libgomp.c/pr66199-2.c: Move ...
7013 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
7014 * testsuite/libgomp.c/pr66199-3.c: Move ...
7015 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
7016 * testsuite/libgomp.c/pr66199-4.c: Move ...
7017 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
7018 * testsuite/libgomp.c/pr66199-5.c: Move ...
7019 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
7020 * testsuite/libgomp.c/pr66199-6.c: Move ...
7021 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
7022 * testsuite/libgomp.c/pr66199-7.c: Move ...
7023 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
7024 * testsuite/libgomp.c/pr66199-8.c: Move ...
7025 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
7026 * testsuite/libgomp.c/pr66199-9.c: Move ...
7027 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
7028 * testsuite/libgomp.c/pr69389.c: Move ...
7029 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
7030 * testsuite/libgomp.c/simd-14.c: Move ...
7031 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
7032 * testsuite/libgomp.c/simd-15.c: Move ...
7033 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
7034 * testsuite/libgomp.c/simd-16.c: Move ...
7035 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
7036 * testsuite/libgomp.c/simd-17.c: Move ...
7037 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
7038 * testsuite/libgomp.c/target-1.c: Move ...
7039 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
7040 * testsuite/libgomp.c/target-10.c: Move ...
7041 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
7042 * testsuite/libgomp.c/target-13.c: Move ...
7043 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
7044 * testsuite/libgomp.c/target-2.c: Move ...
7045 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
7046 * testsuite/libgomp.c/taskgroup-1.c: Move ...
7047 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
7048 * testsuite/libgomp.c/taskloop-1.c: Move ...
7049 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
7050 * testsuite/libgomp.c/taskloop-2.c: Move ...
7051 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
7052 * testsuite/libgomp.c/taskloop-3.c: Move ...
7053 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
7054 * testsuite/libgomp.c/taskloop-4.c: Move ...
7055 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
7056 * testsuite/libgomp.c/udr-1.c: Move ...
7057 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
7058 * testsuite/libgomp.c/for-1.c: Move ...
7059 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
7060 * testsuite/libgomp.c/for-1.h: Move ...
7061 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
7062 * testsuite/libgomp.c/for-2.c: Move ...
7063 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
7064 * testsuite/libgomp.c/for-2.h: Move ...
7065 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
7066 * testsuite/libgomp.c/for-3.c: Move ...
7067 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
7068 * testsuite/libgomp.c/for-4.c: Move ...
7069 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
7070 * testsuite/libgomp.c/for-5.c: Move ...
7071 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
7072 * testsuite/libgomp.c/for-6.c: Move ...
7073 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
7074
1f62d637
TV
70752018-05-02 Tom de Vries <tom@codesourcery.com>
7076
7077 PR libgomp/82428
7078 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
7079 __builtin_goacc_parlevel_{id,size}.
7080 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
7081 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
7082 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
7083 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
7084 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
7085 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
7086 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
7087 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
7088 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
7089 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
7090 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
7091 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
7092 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
7093 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
7094 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
7095 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
7096 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
7097 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
7098 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
7099 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
7100 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
7101 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
7102 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
7103
9220b511
TV
71042018-05-02 Tom de Vries <tom@codesourcery.com>
7105
7106 PR testsuite/85106
7107 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
7108
6c3c13c1
TV
71092018-05-02 Tom de Vries <tom@codesourcery.com>
7110
7111 PR testsuite/85106
7112 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
7113
8d70b61e
JB
71142018-04-29 Julian Brown <julian@codesourcery.com>
7115 Tom de Vries <tom@codesourcery.com>
7116
7117 PR testsuite/85527
7118 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
7119 arbitrary order for iterations of atomic subtract check.
7120
4a57a4b6
TV
71212018-04-28 Tom de Vries <tom@codesourcery.com>
7122
7123 PR testsuite/85527
7124 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
7125 atomic capture results obtained in parallel loop to an array, instead of
7126 to a scalar.
7127
df36a3d3
TV
71282018-04-26 Tom de Vries <tom@codesourcery.com>
7129
7130 PR libgomp/84020
7131 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
7132 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
7133 (process_GOMP_NVPTX_JIT): New function.
7134 (link_ptx): Use process_GOMP_NVPTX_JIT.
7135
d160ae78
RB
71362018-04-26 Richard Biener <rguenther@suse.de>
7137 Tom de Vries <tom@codesourcery.com>
7138
7139 PR lto/85422
7140 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
7141
ca9dc642
TV
71422018-04-26 Tom de Vries <tom@codesourcery.com>
7143
7144 PR target/85519
7145 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
7146 recursion depth from 25 to 23.
7147 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
7148
7b47ecf2
L
71492018-04-24 H.J. Lu <hongjiu.lu@intel.com>
7150
7151 * configure: Regenerated.
7152
e91eba31
NS
71532018-04-20 Nathan Sidwell <nathan@codesourcery.com>
7154 Tom de Vries <tom@codesourcery.com>
7155
7156 PR target/85445
7157 * testsuite/libgomp.oacc-c++/ref-1.C: New.
7158
6e0d40b6
TS
71592018-04-19 Thomas Schwinge <thomas@codesourcery.com>
7160
7161 PR libgomp/85463
7162 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
7163 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7164 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7165 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7166 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7167 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7168
7169 PR libfortran/85166
7170 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
7171 abort".
7172 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7173
a0e1df88
JJ
71742018-04-19 Jakub Jelinek <jakub@redhat.com>
7175
7176 * configure: Regenerated.
7177
001ddaa8
DM
71782018-04-18 David Malcolm <dmalcolm@redhat.com>
7179
7180 PR jit/85384
7181 * configure: Regenerate.
7182
05e0af43
CP
71832018-04-16 Cesar Philippidis <cesar@codesourcery.com>
7184 Tom de Vries <tom@codesourcery.com>
7185
7186 PR middle-end/84955
7187 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7188 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7189
bc436e10
TK
71902018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
7191
7192 PR fortran/83064
7193 PR testsuite/85346
7194 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
7195 test from gfortran.dg to here.
7196
ffb164c7
JJ
71972018-04-12 Cesar Philippidis <cesar@codesourcery.com>
7198
7199 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
7200 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
7201
72022018-04-12 Cesar Philippidis <cesar@codesourcery.com>
7203
7204 PR middle-end/84955
7205 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7206 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7207
2ba16fd2
TV
72082018-04-05 Tom de Vries <tom@codesourcery.com>
7209
7210 PR target/85204
7211 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
7212
46dbeb40
TV
72132018-03-26 Tom de Vries <tom@codesourcery.com>
7214
7215 PR tree-optimization/85063
7216 * testsuite/libgomp.c/switch-conversion-2.c: New test.
7217 * testsuite/libgomp.c/switch-conversion.c: New test.
7218 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
7219 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
7220
bfc24e32
TK
72212018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
7222
7223 PR fortran/84381
7224 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
7225 call abort by STOP n.
7226 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
7227 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
7228 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
7229 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
7230 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
7231 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
7232 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
7233 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
7234 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
7235 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
7236 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
7237 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
7238 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
7239 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
7240 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
7241 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
7242 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
7243 * testsuite/libgomp.fortran/associate1.f90: Likewise.
7244 * testsuite/libgomp.fortran/associate2.f90: Likewise.
7245 * testsuite/libgomp.fortran/associate3.f90: Likewise.
7246 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
7247 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
7248 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
7249 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
7250 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
7251 * testsuite/libgomp.fortran/character1.f90: Likewise.
7252 * testsuite/libgomp.fortran/character2.f90: Likewise.
7253 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
7254 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
7255 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
7256 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
7257 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
7258 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
7259 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
7260 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
7261 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
7262 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
7263 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
7264 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
7265 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
7266 * testsuite/libgomp.fortran/do1.f90: Likewise.
7267 * testsuite/libgomp.fortran/do2.f90: Likewise.
7268 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
7269 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
7270 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
7271 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
7272 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
7273 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
7274 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
7275 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
7276 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
7277 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
7278 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
7279 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
7280 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
7281 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
7282 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
7283 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
7284 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
7285 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
7286 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
7287 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
7288 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
7289 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
7290 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
7291 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
7292 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
7293 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
7294 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
7295 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
7296 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
7297 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
7298 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
7299 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
7300 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
7301 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
7302 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
7303 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
7304 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
7305 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
7306 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
7307 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
7308 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
7309 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
7310 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
7311 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
7312 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
7313 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
7314 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
7315 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
7316 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
7317 * testsuite/libgomp.fortran/lib1.f90: Likewise.
7318 * testsuite/libgomp.fortran/lib2.f: Likewise.
7319 * testsuite/libgomp.fortran/lib3.f: Likewise.
7320 * testsuite/libgomp.fortran/lib4.f90: Likewise.
7321 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
7322 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
7323 * testsuite/libgomp.fortran/nested1.f90: Likewise.
7324 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
7325 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
7326 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
7327 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
7328 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
7329 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
7330 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
7331 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
7332 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
7333 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
7334 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
7335 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
7336 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
7337 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
7338 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
7339 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
7340 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
7341 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
7342 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
7343 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7344 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
7345 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
7346 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
7347 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
7348 * testsuite/libgomp.fortran/pr25162.f: Likewise.
7349 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
7350 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
7351 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
7352 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
7353 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
7354 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
7355 * testsuite/libgomp.fortran/pr28390.f: Likewise.
7356 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
7357 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
7358 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
7359 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
7360 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
7361 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
7362 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
7363 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
7364 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
7365 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
7366 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
7367 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
7368 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
7369 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
7370 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
7371 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
7372 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
7373 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
7374 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
7375 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
7376 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
7377 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
7378 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
7379 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
7380 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
7381 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
7382 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
7383 * testsuite/libgomp.fortran/reference1.f90: Likewise.
7384 * testsuite/libgomp.fortran/reference2.f90: Likewise.
7385 * testsuite/libgomp.fortran/retval1.f90: Likewise.
7386 * testsuite/libgomp.fortran/retval2.f90: Likewise.
7387 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
7388 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
7389 * testsuite/libgomp.fortran/simd1.f90: Likewise.
7390 * testsuite/libgomp.fortran/simd2.f90: Likewise.
7391 * testsuite/libgomp.fortran/simd3.f90: Likewise.
7392 * testsuite/libgomp.fortran/simd4.f90: Likewise.
7393 * testsuite/libgomp.fortran/simd5.f90: Likewise.
7394 * testsuite/libgomp.fortran/simd6.f90: Likewise.
7395 * testsuite/libgomp.fortran/simd7.f90: Likewise.
7396 * testsuite/libgomp.fortran/stack.f90: Likewise.
7397 * testsuite/libgomp.fortran/strassen.f90: Likewise.
7398 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
7399 * testsuite/libgomp.fortran/tabs2.f: Likewise.
7400 * testsuite/libgomp.fortran/target1.f90: Likewise.
7401 * testsuite/libgomp.fortran/target2.f90: Likewise.
7402 * testsuite/libgomp.fortran/target3.f90: Likewise.
7403 * testsuite/libgomp.fortran/target4.f90: Likewise.
7404 * testsuite/libgomp.fortran/target5.f90: Likewise.
7405 * testsuite/libgomp.fortran/target6.f90: Likewise.
7406 * testsuite/libgomp.fortran/target7.f90: Likewise.
7407 * testsuite/libgomp.fortran/target8.f90: Likewise.
7408 * testsuite/libgomp.fortran/task1.f90: Likewise.
7409 * testsuite/libgomp.fortran/task2.f90: Likewise.
7410 * testsuite/libgomp.fortran/task3.f90: Likewise.
7411 * testsuite/libgomp.fortran/task4.f90: Likewise.
7412 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
7413 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
7414 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
7415 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
7416 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
7417 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
7418 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
7419 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
7420 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
7421 * testsuite/libgomp.fortran/udr1.f90: Likewise.
7422 * testsuite/libgomp.fortran/udr10.f90: Likewise.
7423 * testsuite/libgomp.fortran/udr11.f90: Likewise.
7424 * testsuite/libgomp.fortran/udr12.f90: Likewise.
7425 * testsuite/libgomp.fortran/udr13.f90: Likewise.
7426 * testsuite/libgomp.fortran/udr14.f90: Likewise.
7427 * testsuite/libgomp.fortran/udr15.f90: Likewise.
7428 * testsuite/libgomp.fortran/udr2.f90: Likewise.
7429 * testsuite/libgomp.fortran/udr3.f90: Likewise.
7430 * testsuite/libgomp.fortran/udr4.f90: Likewise.
7431 * testsuite/libgomp.fortran/udr5.f90: Likewise.
7432 * testsuite/libgomp.fortran/udr6.f90: Likewise.
7433 * testsuite/libgomp.fortran/udr7.f90: Likewise.
7434 * testsuite/libgomp.fortran/udr8.f90: Likewise.
7435 * testsuite/libgomp.fortran/udr9.f90: Likewise.
7436 * testsuite/libgomp.fortran/vla1.f90: Likewise.
7437 * testsuite/libgomp.fortran/vla2.f90: Likewise.
7438 * testsuite/libgomp.fortran/vla3.f90: Likewise.
7439 * testsuite/libgomp.fortran/vla4.f90: Likewise.
7440 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7441 * testsuite/libgomp.fortran/vla6.f90: Likewise.
7442 * testsuite/libgomp.fortran/vla7.f90: Likewise.
7443 * testsuite/libgomp.fortran/vla8.f90: Likewise.
7444 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
7445 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
7446 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7447 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7448 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7449 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7450 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7451 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7452 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7453 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7454 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7455 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
7456 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7457 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
7458 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
7459 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
7460 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7461 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
7462 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
7463 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
7464 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
7465 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
7466 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
7467 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
7468 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
7469 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7470 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7471 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
7472 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7473 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
7474 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
7475 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7476 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7477 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7478 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7479 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
7480 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
7481 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
7482 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
7483 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
7484 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
7485 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
7486 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
7487 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
7488 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
7489 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
7490 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
7491 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
7492 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
7493 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
7494 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
7495 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
7496 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7497 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7498 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
7499 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
7500 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
7501 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
7502 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
7503 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
7504 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
7505 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
7506 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
7507 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
7508 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
7509 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7510 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
7511 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
7512 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
7513 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7514 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
7515 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
7516 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
7517 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
7518 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
7519 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7520 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7521 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7522 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7523 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7524 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7525 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7526 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
7527 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
7528 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7529 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7530 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7531 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7532 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
7533 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
7534 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
7535 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7536 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7537 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
7538
79cf14ae
RB
75392018-03-20 Richard Biener <rguenther@suse.de>
7540
7541 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
7542 parallelizable loop.
7543
14e335ed
IT
75442018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
7545
7546 PR target/84148
7547 * configure: Regenerate.
7548
83d9be55
JJ
75492018-02-16 Jakub Jelinek <jakub@redhat.com>
7550
7551 PR fortran/84418
7552 * libgomp.fortran/pr84418-1.f90: New test.
7553 * libgomp.fortran/pr84418-2.f90: New test.
7554
d1fe6124
JJ
75552018-02-14 Jakub Jelinek <jakub@redhat.com>
7556
7557 PR fortran/84313
7558 * testsuite/libgomp.fortran/threadprivate4.f90: Add
7559 -std=f2003 -fall-intrinsics into dg-additional-options.
7560
3d224921
MJ
75612018-02-08 Martin Jambor <mjambor@suse.cz>
7562
7563 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
7564 clonable.
7565
c7c30edd
MJ
75662018-02-08 Martin Jambor <mjambor@suse.cz>
7567
7568 * testsuite/libgomp.hsa.c/staticvar.c: New test.
7569
f320fdfd
RO
75702018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7571
7572 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
7573 [__cplusplus]: Declare extern "C".
7574
c31bc4ac
TV
75752018-02-07 Tom de Vries <tom@codesourcery.com>
7576
7577 PR libgomp/84217
7578 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
7579
99ae7ce5
CS
75802018-01-29 Christoph Spiel <cspiel@freenet.de>
7581 Jakub Jelinek <jakub@redhat.com>
7582
7583 PR libgomp/84096
7584 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
7585 instead of omp_lock_t.
7586
e77a1236
TV
75872018-01-25 Tom de Vries <tom@codesourcery.com>
7588
7589 PR target/84028
7590 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
7591
3dede32b
TV
75922018-01-24 Tom de Vries <tom@codesourcery.com>
7593
7594 PR target/83589
7595 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
7596
be606483
TV
75972018-01-24 Tom de Vries <tom@codesourcery.com>
7598
7599 PR target/81352
7600 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
7601
8c8e9a6b
TV
76022018-01-19 Tom de Vries <tom@codesourcery.com>
7603 Cesar Philippidis <cesar@codesourcery.com>
7604
7605 PR target/83920
7606 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
7607 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
7608
65e6aea3
JJ
76092018-01-03 Jakub Jelinek <jakub@redhat.com>
7610
85ec4feb
JJ
7611 Update copyright years.
7612
65e6aea3
JJ
7613 * libgomp.texi: Bump @copying's copyright year.
7614
60bf575c
TV
76152017-12-30 Tom de Vries <tom@codesourcery.com>
7616
7617 PR libgomp/83046
7618 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
7619 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
7620
7ec16b79
TV
76212017-12-27 Tom de Vries <tom@codesourcery.com>
7622
7623 PR c++/83046
7624 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
7625 (test_nonstatic): Fix return type to workaround PR83046.
7626
ac550b9a
JJ
76272017-12-05 Jakub Jelinek <jakub@redhat.com>
7628
7629 PR testsuite/83281
7630 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
7631 j suffix instead of i.
7632 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
7633 Likewise.
7634
ebdc83f0
CP
76352017-12-01 Cesar Philippidis <cesar@codesourcery.com>
7636
7637 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
7638 call to acc_wait (1).
7639
3b3e6283
JJ
76402017-11-24 Jakub Jelinek <jakub@redhat.com>
7641
7642 PR fortran/81304
7643 * testsuite/libgomp.fortran/pr81304.f90: New test.
7644
3b575376
JJ
76452017-11-23 Jakub Jelinek <jakub@redhat.com>
7646
7647 PR fortran/81841
7648 * libgomp.fortran/pr81841.f90: New test.
7649
b13547d8
JJ
76502017-11-22 Jakub Jelinek <jakub@redhat.com>
7651
7652 PR libgomp/83106
7653 * target.c (gomp_target_init): Compute lengths just once and
7654 use them in both malloc size and subsequent copying.
7655
efe33ced
IT
76562017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
7657
7658 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
7659 * acinclude.m4: Add cet.m4.
7660 * configure: Regenerate.
7661 * Makefile.in: Likewise.
7662 * testsuite/Makefile.in: Likewise.
7663
a7cf2612
TV
76642017-11-15 Tom de Vries <tom@codesourcery.com>
7665
7666 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
7667 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
7668 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
7669 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
7670 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
7671 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
7672
dde76623
TV
76732017-11-14 Tom de Vries <tom@codesourcery.com>
7674
7675 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
7676 non-nvidia devices.
7677
4dbeb716
JJ
76782017-11-07 Jakub Jelinek <jakub@redhat.com>
7679
7680 PR c++/82835
7681 * testsuite/libgomp.c++/pr82835.C: New test.
7682
454f8b2b
ML
76832017-11-06 Martin Liska <mliska@suse.cz>
7684
7685 * testsuite/libgomp.c++/loop-2.C: Return a value
7686 for functions with non-void return type, or change type to void,
7687 or add -Wno-return-type for test.
7688 * testsuite/libgomp.c++/loop-4.C: Likewise.
7689 * testsuite/libgomp.c++/parallel-1.C: Likewise.
7690 * testsuite/libgomp.c++/shared-1.C: Likewise.
7691 * testsuite/libgomp.c++/single-1.C: Likewise.
7692 * testsuite/libgomp.c++/single-2.C: Likewise.
7693
12e9c8ce
TV
76942017-10-31 Tom de Vries <tom@codesourcery.com>
7695
7696 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
7697 "do {} while (false)".
7698 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
7699 after HSA_DEBUG call.
7700
7324369a
JJ
77012017-10-28 Jakub Jelinek <jakub@redhat.com>
7702
7703 * target.c (struct gomp_coalesce_buf): New type.
7704 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
7705 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
7706 (gomp_copy_host2dev): Add CBUF argument, if copying into
7707 the cached ranges, memcpy into buffer instead of copying
7708 into device.
7709 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
7710 Add CBUF argument, pass it through to other calls.
7711 (gomp_map_vars): Aggregate copies from host to device if small enough
7712 and with small enough gaps in between into memcpy into a buffer and
7713 fewer host to device copies from the buffer.
7714 (gomp_update): Adjust gomp_copy_host2dev caller.
7715
933ab0e6
TS
77162017-10-17 Thomas Schwinge <thomas@codesourcery.com>
7717
7718 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
7719 run" directive.
7720 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7721 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7722 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7723 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7724
92d5d01a
TV
77252017-10-16 Tom de Vries <tom@codesourcery.com>
7726
7727 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
7728 openacc_nvidia_accel_selected.
7729 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
7730 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
7731 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
7732 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
7733 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
7734 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
7735 openacc_nvidia_accel_selected. Skip for shared memory device.
7736 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
7737 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
7738
191411e4
MJ
77392017-10-09 Martin Jambor <mjambor@suse.cz>
7740
7741 PR hsa/82416
7742 * testsuite/libgomp.hsa.c/pr82416.c: New test.
7743
e923330e
TV
77442017-10-07 Tom de Vries <tom@codesourcery.com>
7745
7746 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
7747 Remove acc_device_nvidia references.
7748 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
7749 Same.
7750
8fe3ed4c
TV
77512017-10-05 Tom de Vries <tom@codesourcery.com>
7752
7753 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
7754 vector_length(32) clause from acc parallel directive.
7755 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
7756
26596ee5
TV
77572017-10-04 Tom de Vries <tom@codesourcery.com>
7758
7759 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
7760 (main): Reduce sum of arr elements. Assert that hres is exactly
7761 representable in 32-bit floating point.
7762 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
7763 (main): Reduce sum of arr elements. Assert that hres and hmres are
7764 exactly representable in 32-bit floating point.
7765 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
7766
5c561fa9
TV
77672017-09-28 Tom de Vries <tom@codesourcery.com>
7768
7769 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
7770 setting.
7771 * testsuite/libgomp.c++/pr69393.C: Same.
7772 * testsuite/libgomp.c++/taskloop-1.C: Same.
7773 * testsuite/libgomp.c++/taskloop-3.C: Same.
7774 * testsuite/libgomp.c++/taskloop-4.C: Same.
7775 * testsuite/libgomp.c/for-4.c: Same.
7776 * testsuite/libgomp.c/pr66199-3.c: Same.
7777 * testsuite/libgomp.c/pr66199-4.c: Same.
7778 * testsuite/libgomp.c/pr66199-6.c: Same.
7779 * testsuite/libgomp.c/taskloop-1.c: Same.
7780 * testsuite/libgomp.c/taskloop-3.c: Same.
7781 * testsuite/libgomp.c/taskloop-4.c: Same.
7782 * testsuite/libgomp.fortran/aligned1.f03: Same.
7783 * testsuite/libgomp.fortran/condinc1.f: Same.
7784 * testsuite/libgomp.fortran/condinc3.f90: Same.
7785 * testsuite/libgomp.fortran/crayptr1.f90: Same.
7786 * testsuite/libgomp.fortran/crayptr2.f90: Same.
7787 * testsuite/libgomp.fortran/crayptr3.f90: Same.
7788 * testsuite/libgomp.fortran/omp_cond1.f: Same.
7789 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
7790 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
7791 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
7792 * testsuite/libgomp.fortran/recursion1.f90: Same.
7793 * testsuite/libgomp.fortran/target2.f90: Same.
7794 * testsuite/libgomp.fortran/target5.f90: Same.
7795 * testsuite/libgomp.fortran/task3.f90: Same.
7796
7d6206fe
TV
77972017-09-28 Tom de Vries <tom@codesourcery.com>
7798
7799 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
7800 vector_length(32) clause from acc parallel directive.
7801 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
7802
84c8627c
TV
78032017-09-27 Tom de Vries <tom@codesourcery.com>
7804
7805 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
7806 Remove acc_device_nvidia references.
7807
ebc6a85e
TV
78082017-09-16 Tom de Vries <tom@codesourcery.com>
7809
7810 PR c/81875
7811 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
7812
82419efb
TV
78132017-09-14 Tom de Vries <tom@codesourcery.com>
7814
7815 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
7816 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
7817 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
7818 * testsuite/libgomp.c/c.exp: Include test-cases from
7819 libgomp.c-c++-common.
7820 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
7821 files.
7822
8b586510
JJ
78232017-09-14 Jakub Jelinek <jakub@redhat.com>
7824
7825 PR c++/81314
7826 * testsuite/libgomp.c++/pr81314.C: New test.
7827
9651fbaf
GP
78282017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
7829
7830 * libgomp.texi (Top): www.openacc.org now uses https.
7831 (Enabling OpenACC): Ditto.
7832 (acc_get_num_devices): Ditto.
7833 (acc_set_device_type): Ditto.
7834 (acc_get_device_type): Ditto.
7835 (acc_set_device_num): Ditto.
7836 (acc_get_device_num): Ditto.
7837 (acc_async_test): Ditto.
7838 (acc_async_test_all): Ditto.
7839 (acc_wait): Ditto.
7840 (acc_wait_all): Ditto.
7841 (acc_wait_all_async): Ditto.
7842 (acc_wait_async): Ditto.
7843 (acc_init): Ditto.
7844 (acc_shutdown): Ditto.
7845 (acc_on_device): Ditto.
7846 (acc_malloc): Ditto.
7847 (acc_free): Ditto.
7848 (acc_copyin): Ditto.
7849 (acc_present_or_copyin): Ditto.
7850 (acc_create): Ditto.
7851 (acc_present_or_create): Ditto.
7852 (acc_copyout): Ditto.
7853 (acc_delete): Ditto.
7854 (acc_update_device): Ditto.
7855 (acc_update_self): Ditto.
7856 (acc_map_data): Ditto.
7857 (acc_unmap_data): Ditto.
7858 (acc_deviceptr): Ditto.
7859 (acc_hostptr): Ditto.
7860 (acc_is_present): Ditto.
7861 (acc_memcpy_to_device): Ditto.
7862 (acc_memcpy_from_device): Ditto.
7863 (acc_get_current_cuda_device): Ditto.
7864 (acc_get_current_cuda_context): Ditto.
7865 (acc_get_cuda_stream): Ditto.
7866 (acc_set_cuda_stream): Ditto.
7867 (ACC_DEVICE_TYPE): Ditto.
7868 (ACC_DEVICE_NUM): Ditto.
7869 (OpenACC Library Interoperability): Ditto.
7870
50aa16c3
JJ
78712017-08-09 Jakub Jelinek <jakub@redhat.com>
7872
7873 PR c/81687
7874 * testsuite/libgomp.c/pr81687-1.c: New test.
7875 * testsuite/libgomp.c/pr81687-2.c: New test.
7876
56b5041c
JJ
78772017-08-07 Jakub Jelinek <jakub@redhat.com>
7878
7879 PR c/69389
7880 * testsuite/libgomp.c/pr69389.c: New test.
7881 * testsuite/libgomp.c++/pr69389.C: New test.
7882
f4c222c0
TV
78832017-08-07 Tom de Vries <tom@codesourcery.com>
7884
7885 PR middle-end/78266
7886 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
7887 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
7888
a40ff0ae
JJ
78892017-07-27 Jakub Jelinek <jakub@redhat.com>
7890
7891 PR c/45784
7892 * testsuite/libgomp.c/pr45784.c: New test.
7893 * testsuite/libgomp.c++/pr45784.C: New test.
7894
3717fbe3
TV
78952017-07-19 Tom de Vries <tom@codesourcery.com>
7896
7897 * testsuite/libgomp.oacc-c/vec.c: New test.
7898
9607b014
TV
78992017-07-03 Tom de Vries <tom@codesourcery.com>
7900
7901 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
7902
dfb15f6b
TV
79032017-06-27 Tom de Vries <tom@codesourcery.com>
7904
7905 * plugin/plugin-nvptx.c (notify_var): New function.
7906 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
7907
22f1a037
TV
79082017-06-27 Tom de Vries <tom@codesourcery.com>
7909
7910 * env.c (parse_unsigned_long_1): Factor out of ...
7911 (parse_unsigned_long): ... here.
7912 (parse_int_1): Factor out of ...
7913 (parse_int): ... here.
7914 (parse_int_secure): New function.
7915 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
7916 * secure_getenv.h: Factor out of ...
7917 * plugin/plugin-hsa.c: ... here.
7918 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
7919
d54d1fc3
JJ
79202017-06-21 Jakub Jelinek <jakub@redhat.com>
7921
7922 PR c++/81130
7923 * testsuite/libgomp.c++/pr81130.C: New test.
7924
4f4b0ab8
RO
79252017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7926
7927 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
7928 default args.
7929 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
7930 dg-xfail-run-if default args.
7931
40ffd95f
BE
79322017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
7933
7934 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
7935 * testsuite/libgomp.c/pr39591-3.c: Likewise.
7936
01275e1e
JJ
79372017-05-30 Jakub Jelinek <jakub@redhat.com>
7938
7939 PR libgomp/80822
7940 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
7941 (gomp_affinity_init_level): Use it. Always analyze the core and thread
7942 sibling lists, depending on level just pick up what CPUs to put
7943 together into a place vs. whether add multiple ordered places.
7944
78672bd8
TS
79452017-05-24 Thomas Schwinge <thomas@codesourcery.com>
7946
7ce64403
TS
7947 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
7948 * libgomp.map (OACC_2.0.1): Add these.
7949 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
7950 for "acc_wait", and "acc_wait_all", respectively.
7951 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
7952 for "acc_wait", and "acc_wait_all", respectively.
7953 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
7954 * libgomp.texi (acc_wait, acc_wait_all): Update.
7955 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
7956 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
7957 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
7958
318686c2
TS
7959 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
7960 acc_present_or_copyin and acc_present_or_create procedures,
7961 respectively.
7962 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
7963 generally different variants of OpenACC Runtime Library functions.
7964 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7965
a6745534
TS
7966 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
7967 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7968
9b94fbc7
TS
7969 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
7970 of preprocessor definitions.
7971 * libgomp.h (strong_alias): Guard by "#ifdef
7972 HAVE_ATTRIBUTE_ALIAS".
7973 * oacc-mem.c: Provide "acc_pcreate" as alias for
7974 "acc_present_or_create", and "acc_pcopyin" as alias for
7975 "acc_present_or_copyin".
7976 * libgomp.map: New version "OACC_2.0.1".
7977 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
7978 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
7979 its content into...
7980 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
7981 Extend testing.
7982
78672bd8
TS
7983 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
7984 when disabling nvptx offloading.
7985
0c36d0d5
TS
79862017-05-23 Thomas Schwinge <thomas@codesourcery.com>
7987
fd71a9a2
TS
7988 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
7989 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
7990 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
7991
0c36d0d5
TS
7992 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
7993 * testsuite/lib/libgomp.exp
7994 (check_effective_target_openacc_nvidia_accel_configured): New
7995 proc.
7996 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
7997 (check_effective_target_c++): New procs.
7998 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
7999 (check_effective_target_c++): Likewise.
8000
c24783c4
JJ
80012017-05-22 Jakub Jelinek <jakub@redhat.com>
8002
655e5265
JJ
8003 PR middle-end/80809
8004 * testsuite/libgomp.c/pr80809-2.c: New test.
8005 * testsuite/libgomp.c/pr80809-3.c: New test.
8006
e9e2ef9f
JJ
8007 PR middle-end/80809
8008 * testsuite/libgomp.c/pr80809-1.c: New test.
8009
c24783c4
JJ
8010 PR middle-end/80853
8011 * testsuite/libgomp.c/pr80853.c: New test.
8012
0da2f96a
TS
80132017-05-19 Thomas Schwinge <thomas@codesourcery.com>
8014
7fd549d2
TS
8015 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
8016 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
8017 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8018 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8019 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8020
0da2f96a
TS
8021 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
8022 Debug output for failure.
8023
62ffe920
RO
80242017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8025
8026 * testsuite/lib/libgomp.exp: Load scanlang.exp.
8027
f49215b1
JJ
80282017-04-27 Jakub Jelinek <jakub@redhat.com>
8029
8030 PR bootstrap/80531
8031 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
8032 bootstrap compare failures.
8033
2260d19d
AM
80342017-04-20 Alexander Monakov <amonakov@ispras.ru>
8035
8036 * testsuite/libgomp.c/target-36.c: New testcase.
8037
19929ba9
JJ
80382017-04-13 Jakub Jelinek <jakub@redhat.com>
8039
8040 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
8041 instead of char.
8042
fbc698e0
JJ
80432017-04-11 Jakub Jelinek <jakub@redhat.com>
8044
8045 PR libgomp/80394
8046 * testsuite/libgomp.c/pr80394.c: New test.
8047
c4060df4
JJ
80482017-04-04 Jakub Jelinek <jakub@redhat.com>
8049
8050 PR libgomp/79876
8051 * config/posix/thread-stacksize.h: New file.
8052 * config/darwin/thread-stacksize.h: New file.
8053 * config/nvptx/thread-stacksize.h: New file.
8054 * env.c: Include thread-stacksize.h.
8055 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
8056 instead of 0. Call pthread_attr_setstacksize even if
8057 GOMP_DEFAULT_STACKSIZE is non-zero.
8058
e02d868a
JJ
80592017-03-30 Jakub Jelinek <jakub@redhat.com>
8060
8061 * env.c (initialize_env): Initialize stacksize to 0.
8062
7ba8651e
CP
80632017-03-22 Cesar Philippidis <cesar@codesourcery.com>
8064
8065 PR c++/80029
8066 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
8067
eebc5e2d
JJ
80682017-03-08 Jakub Jelinek <jakub@redhat.com>
8069
8070 PR c/79940
8071 * testsuite/libgomp.c/pr79940.c: New test.
8072
1eb08f52
RO
80732017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8074
8075 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
8076 targets.
8077 Add __float128 options.
8078
b0f78ff3
JDA
80792017-02-11 John David Anglin <danglin@gcc.gnu.org>
8080
8081 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
8082 hppa*-*-* dg-skip-if directive.
8083
1bbe0d8f
JJ
80842017-02-09 Jakub Jelinek <jakub@redhat.com>
8085
8086 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
8087 dg-skip-if directive into a comment.
8088
02889d23
CLT
80892017-02-09 Nathan Sidwell <nathan@codesourcery.com>
8090 Chung-Lin Tang <cltang@codesourcery.com>
8091
8092 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
8093 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
8094 add additional case.
8095 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
8096 "openacc_nvidia_accel_selected".
8097 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
8098 Add num_workers(8) clause.
8099
5896a41d
JDA
81002017-02-08 John David Anglin <danglin@gcc.gnu.org>
8101
8102 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
8103 hppa*-*-*.
8104 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
8105 include complex.h on hppa*-*-hpux*.
8106 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8107
345a8c17
TS
81082017-02-02 Thomas Schwinge <thomas@codesourcery.com>
8109
e70ab10d
TS
8110 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
8111
345a8c17
TS
8112 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
8113 GOMP_OFFLOAD_openacc_exec. Adjust all users.
8114 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
8115 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
8116 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
8117 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
8118 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
8119 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
8120 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
8121 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
8122
dced339c
TS
81232017-01-31 Thomas Schwinge <thomas@codesourcery.com>
8124
8125 * libgomp-plugin.h: #include <stdbool.h>.
8126 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
8127 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
8128 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
8129 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
8130 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
8131 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
8132 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
8133 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
8134 (GOMP_OFFLOAD_openacc_register_async_cleanup)
8135 (GOMP_OFFLOAD_openacc_async_test)
8136 (GOMP_OFFLOAD_openacc_async_test_all)
8137 (GOMP_OFFLOAD_openacc_async_wait)
8138 (GOMP_OFFLOAD_openacc_async_wait_async)
8139 (GOMP_OFFLOAD_openacc_async_wait_all)
8140 (GOMP_OFFLOAD_openacc_async_wait_all_async)
8141 (GOMP_OFFLOAD_openacc_async_set_async)
8142 (GOMP_OFFLOAD_openacc_create_thread_data)
8143 (GOMP_OFFLOAD_openacc_destroy_thread_data)
8144 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
8145 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
8146 (GOMP_OFFLOAD_openacc_get_cuda_stream)
8147 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
8148 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
8149 these.
8150 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
8151 (GOMP_OFFLOAD_unload_image): Fix argument types.
8152
23749904
JJ
81532017-01-26 Jakub Jelinek <jakub@redhat.com>
8154
c1cadde1
JJ
8155 * testsuite/lib/libgomp.exp
8156 (check_effective_target_hsa_offloading_selected_nocache): Fix up
8157 check_compile invocation. Fix up removal of executable. Drop
8158 bogus "2>&1" argument.
8159
23749904
JJ
8160 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
8161 directive.
8162
81632017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
8164 Martin Jambor <mjambor@suse.cz>
8165
8166 * plugin/hsa.h: Moved to top level include.
8167 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
8168
73aa401e
JJ
81692017-01-21 Jakub Jelinek <jakub@redhat.com>
8170
8171 PR other/79046
8172 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
8173 of cat to get version from BASE-VER file.
8174 * testsuite/Makefile.in: Regenerated.
8175
b32e85fa
JJ
81762017-01-19 Jakub Jelinek <jakub@redhat.com>
8177
8178 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
8179 for _WIN64.
8180
3c36aa6b
JJ
81812017-01-17 Jakub Jelinek <jakub@redhat.com>
8182
d190d5c0
JJ
8183 * plugin/hsa.h: Add GCC runtime library exception.
8184 * plugin/hsa_ext_finalize.h: Likewise.
8185
2393d337
JJ
8186 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
8187 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
8188 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
8189 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
8190 plugin/include/cuda as include dir and -ldl instead of -lcuda as
8191 library to link ptx plugin against.
8192 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
8193 (CUDA_CALLS): Define.
8194 (cuda_lib, cuda_lib_inited): New variables.
8195 (init_cuda_lib): New function.
8196 (CUDA_CALL_PREFIX): Define.
8197 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
8198 (CUDA_CALL): Use FN instead of (FN).
8199 (CUDA_CALL_NOCHECK): Define.
8200 (cuda_error, fini_streams_for_device, select_stream_for_async,
8201 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
8202 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
8203 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
8204 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
8205 CUDA_CALL_NOCHECK.
8206 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
8207 CUDA_CALL_NOCHECK.
8208 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
8209 Use CUDA_CALL_NOCHECK.
8210 * plugin/cuda/cuda.h: New file.
8211 * config.h.in: Regenerated.
8212 * configure: Regenerated.
8213
3c36aa6b
JJ
8214 PR other/79046
8215 * configure.ac: Add GCC_BASE_VER.
8216 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
8217 get version from BASE-VER file.
8218 * testsuite/Makefile.in: Regenerated.
8219 * configure: Regenerated.
8220 * Makefile.in: Regenerated.
8221
c508bc2d
FXC
82222017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8223
8224 PR libgomp/60670
8225 * Makefile.am: Make fincludedir multilib-aware.
8226 * Makefile.in: Regenerate.
8227
c1a9c369
JJ
82282017-01-01 Jakub Jelinek <jakub@redhat.com>
8229
cbe34bb5
JJ
8230 Update copyright years.
8231
c1a9c369
JJ
8232 * libgomp.texi: Bump @copying's copyright year.
8233
e7a7f4be
SH
82342016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
8235
8236 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
8237 pthread_spinlock_t instead of gomp_mutex_t lock.
8238 (gomp_get_thread_pool): Likewise.
8239 (gomp_release_thread_pool): Likewise.
8240 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
8241 Likewise.
8242
d313d52c
SH
82432016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
8244
8245 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
8246 thread pool in case nthreads == 1.
8247
630e3c3a
AM
82482016-11-30 Alexander Monakov <amonakov@ispras.ru>
8249
8250 * config/nvptx/env.c: Delete.
8251 * icv.c: Move definitions of ICV variables back ...
8252 * env.c: ...here. Do not compile environment-related functionality if
8253 LIBGOMP_OFFLOADED_ONLY is set.
8254
9e38af5c
AM
82552016-11-30 Alexander Monakov <amonakov@ispras.ru>
8256
8257 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
8258 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
8259 * configure: Regenerate.
8260 * config.h.in: Likewise.
8261
f96b7f1f
AM
82622016-11-30 Alexander Monakov <amonakov@ispras.ru>
8263
8264 * Makefile.in: Regenerate with automake-1.11.6.
8265 * aclocal.m4: Likewise.
8266 * configure: Likewise.
8267 * testsuite/Makefile.in: Likewise.
8268
6a6951b1
AM
82692016-11-28 Alexander Monakov <amonakov@ispras.ru>
8270
8271 * config/nvptx/critical.c: Delete to use generic implementation.
8272
c7ac071f
JH
82732016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
8274
8275 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
8276 ../../affinity.c as fallback.
8277 * config/nvptx/affinity.c: Delete to use fallback implementation.
8278
6103184e 82792016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 8280 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
8281 Dmitry Melnik <dm@ispras.ru>
8282
8283 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
8284 * Makefile.in. Regenerate.
8285 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
8286 (LIBGOMP_USE_PTHREADS): ...here; new define.
8287 * configure: Regenerate.
8288 * config.h.in: Likewise.
8289 * config/posix/affinity.c: Move to...
8290 * affinity.c: ...here (new file). Guard use of Pthreads-specific
8291 interface by LIBGOMP_USE_PTHREADS.
8292 * critical.c: Split out GOMP_atomic_{start,end} into...
8293 * atomic.c: ...here (new file).
8294 * env.c: Split out ICV definitions into...
8295 * icv.c: ...here (new file) and...
8296 * icv-device.c: ...here. New file.
8297 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
8298 (gomp_destroy_lock_30): Ditto.
8299 (gomp_set_lock_30): Ditto.
8300 (gomp_unset_lock_30): Ditto.
8301 (gomp_test_lock_30): Ditto.
8302 (gomp_init_nest_lock_30): Ditto.
8303 (gomp_destroy_nest_lock_30): Ditto.
8304 (gomp_set_nest_lock_30): Ditto.
8305 (gomp_unset_nest_lock_30): Ditto.
8306 (gomp_test_nest_lock_30): Ditto.
8307 * lock.c: New.
8308 * config/nvptx/lock.c: New.
8309 * config/nvptx/bar.c: New.
8310 * config/nvptx/bar.h: New.
8311 * config/nvptx/doacross.h: New.
8312 * config/nvptx/error.c: New.
8313 * config/nvptx/icv-device.c: New.
8314 * config/nvptx/mutex.h: New.
8315 * config/nvptx/pool.h: New.
8316 * config/nvptx/proc.c: New.
8317 * config/nvptx/ptrlock.h: New.
8318 * config/nvptx/sem.h: New.
8319 * config/nvptx/simple-bar.h: New.
8320 * config/nvptx/target.c: New.
8321 * config/nvptx/task.c: New.
8322 * config/nvptx/team.c: New.
8323 * config/nvptx/time.c: New.
8324 * config/posix/simple-bar.h: New.
8325 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
8326 (gomp_num_teams_var): Declare.
8327 (struct gomp_thread_pool): Change threads_dock member to
8328 gomp_simple_barrier_t.
8329 [__nvptx__] (gomp_thread): New implementation.
8330 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
8331 (gomp_thread_destructor): Ditto.
8332 (gomp_init_thread_affinity): Ditto.
8333 * team.c: Guard uses of Pthreads-specific interfaces by
8334 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
8335 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
8336 * config/nvptx/alloc.c: Delete.
8337 * config/nvptx/barrier.c: Ditto.
8338 * config/nvptx/fortran.c: Ditto.
8339 * config/nvptx/iter.c: Ditto.
8340 * config/nvptx/iter_ull.c: Ditto.
8341 * config/nvptx/loop.c: Ditto.
8342 * config/nvptx/loop_ull.c: Ditto.
8343 * config/nvptx/ordered.c: Ditto.
8344 * config/nvptx/parallel.c: Ditto.
8345 * config/nvptx/priority_queue.c: Ditto.
8346 * config/nvptx/sections.c: Ditto.
8347 * config/nvptx/single.c: Ditto.
8348 * config/nvptx/splay-tree.c: Ditto.
8349 * config/nvptx/work.c: Ditto.
8350 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
8351 -foffload=-lgfortran in addition to -lgfortran.
8352 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
8353 * plugin/plugin-nvptx.c: Include <limits.h>.
8354 (struct targ_fn_descriptor): Add new fields.
8355 (struct ptx_device): Ditto. Set them...
8356 (nvptx_open_device): ...here.
8357 (nvptx_adjust_launch_bounds): New.
8358 (nvptx_host2dev): Allow NULL 'nvthd'.
8359 (nvptx_dev2host): Ditto.
8360 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
8361 (link_ptx): Adjust log sizes.
8362 (nvptx_host2dev): Allow NULL 'nvthd'.
8363 (nvptx_dev2host): Ditto.
8364 (nvptx_set_clocktick): New. Use it...
8365 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
8366 fields.
8367 (GOMP_OFFLOAD_dev2dev): New.
8368 (nvptx_adjust_launch_bounds): New.
8369 (nvptx_stacks_size): New.
8370 (nvptx_stacks_alloc): New.
8371 (nvptx_stacks_free): New.
8372 (GOMP_OFFLOAD_run): New.
8373 (GOMP_OFFLOAD_async_run): New (stub).
8374
56b1c60e
MJ
83752016-11-23 Martin Jambor <mjambor@suse.cz>
8376
8377 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
8378 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
8379 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8380
b8d89b03 83812016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 8382 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
8383
8384 * plugin/hsa.h: New file.
8385 * plugin/hsa_ext_finalize.h: New file.
8386 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
8387 header file unistd.h, and functions secure_getenv, __secure_getenv,
8388 getuid, geteuid, getgid and getegid.
8389 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
8390 -D_GNU_SOURCE.
8391 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
8392 Handle various cases of secure_getenv presence, add an implementation
8393 when we can test effective UID and GID.
8394 (struct hsa_runtime_fn_info): New structure.
8395 (hsa_runtime_fn_info hsa_fns): New variable.
8396 (hsa_runtime_lib): Likewise.
8397 (support_cpu_devices): Likewise.
8398 (init_enviroment_variables): Load newly introduced ENV
8399 variables.
8400 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
8401 (hsa_fatal): Likewise.
8402 (DLSYM_FN): New macro.
8403 (init_hsa_runtime_functions): New function.
8404 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
8405 structure. Depending on environment, also allow CPU devices.
8406 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
8407 (get_kernarg_memory_region): Likewise.
8408 (GOMP_OFFLOAD_init_device): Likewise.
8409 (destroy_hsa_program): Likewise.
8410 (init_basic_kernel_info): New function.
8411 (GOMP_OFFLOAD_load_image): Use it.
8412 (create_and_finalize_hsa_program): Call hsa run-time functions via
8413 hsa_fns structure.
8414 (create_single_kernel_dispatch): Likewise.
8415 (release_kernel_dispatch): Likewise.
8416 (init_single_kernel): Likewise.
8417 (parse_target_attributes): Allow up multiple HSA grid dimensions.
8418 (get_group_size): New function.
8419 (run_kernel): Likewise.
8420 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
8421 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
8422 structure.
8423 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
8424 * testsuite/libgomp-test-support.exp.in: Likewise.
8425 * Makefile.in: Regenerated.
8426 * aclocal.m4: Likewise.
8427 * config.h.in: Likewise.
8428 * configure: Likewise.
8429 * testsuite/Makefile.in: Likewise.
8430
18d2ada8 84312016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 8432 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
8433
8434 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
8435 mapping clauses to target constructs.
8436 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
8437
84c1b9d3
MK
84382016-11-15 Matthias Klose <doko@ubuntu.com>
8439
8440 * configure: Regenerate.
8441
b4c3a85b
JJ
84422016-11-10 Jakub Jelinek <jakub@redhat.com>
8443
8ebd1b31
JJ
8444 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
8445 * omp_lib.h.in (openmp_version): Likewise.
8446 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
8447 of 201307.
8448 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8449
b4c3a85b
JJ
8450 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
8451 (fib_wrapper): Add map(from: x) clause.
8452 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
8453 (e_53_2): Likewise.
8454 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
8455 (accum): Add map(tmp) clause.
8456 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
8457 (accum): Add map(tofrom: tmp) clause.
8458 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
8459 (gramSchmidt): Likewise.
8460 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
8461 map(tofrom: sum) clause.
8462 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
8463 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
8464 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
8465 only allowed on the loop iterator.
8466 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
8467 * testsuite/libgomp.fortran/taskloop2.f90: New test.
8468 * testsuite/libgomp.fortran/taskloop4.f90: New test.
8469 * testsuite/libgomp.fortran/doacross1.f90: New test.
8470 * testsuite/libgomp.fortran/doacross3.f90: New test.
8471 * testsuite/libgomp.fortran/taskloop1.f90: New test.
8472 * testsuite/libgomp.fortran/taskloop3.f90: New test.
8473 * testsuite/libgomp.fortran/doacross2.f90: New test.
8474 * testsuite/libgomp.c/doacross-1.c (main): Add missing
8475 #pragma omp atomic read.
8476 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
8477 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
8478
6668eb45
CP
84792016-11-02 Cesar Philippidis <cesar@codesourcery.com>
8480 Nathan Sidwell <nathan@acm.org>
8481
8482 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
8483 to determine default geometry.
8484 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
8485 dimension.
8486
f10e37a1
JJ
84872016-11-01 Jakub Jelinek <jakub@redhat.com>
8488
8489 * hashtab.h: Use standard GPLv3 with runtime exception
8490 boilerplate.
8491
015c7760
AH
84922016-10-27 Aldy Hernandez <aldyh@redhat.com>
8493
8494 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
8495 size when allocating new thread.
8496
20a1e5b8
MP
84972016-09-14 Marek Polacek <polacek@redhat.com>
8498
8499 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
8500
1cad9284
JJ
85012016-08-19 Jakub Jelinek <jakub@redhat.com>
8502
8503 PR fortran/71014
8504 * testsuite/libgomp.fortran/pr71014.f90: New test.
8505
2c71d454
CLT
85062016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
8507
8508 PR middle-end/70895
8509 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
8510 firstprivate clauses.
8511 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
8512 copy clauses.
8513 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
8514 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8515 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
8516 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8517 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
8518 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8519 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
8520 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
8521 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
8522 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
8523 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
8524 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
8525
7c713714
CLT
85262016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
8527
8528 PR fortran/70598
8529 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
8530
5c934396
JJ
85312016-08-08 Jakub Jelinek <jakub@redhat.com>
8532
8533 PR c++/58706
8534 * testsuite/libgomp.c++/pr58706.C: New test.
8535
9ef64248
TS
85362016-08-04 Thomas Schwinge <thomas@codesourcery.com>
8537
bbc79c0e
TS
8538 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
8539 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
8540 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
8541 Likewise.
8542 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
8543 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
8544 Likewise.
8545 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
8546
9ef64248
TS
8547 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
8548 test, and don't hardcode -O0.
8549
c1311c86
NS
85502016-08-03 Nathan Sidwell <nathan@codesourcery.com>
8551
8552 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
8553
b1c9c068
CP
85542016-07-15 Cesar Philippidis <cesar@codesourcery.com>
8555
8556 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
8557 test.
8558
b4410f63
L
85592016-07-03 H.J. Lu <hongjiu.lu@intel.com>
8560
8561 PR middle-end/71734
8562 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
8563 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
8564
a8dbab92
JJ
85652016-07-01 Jakub Jelinek <jakub@redhat.com>
8566
8567 PR fortran/71717
8568 * testsuite/libgomp.fortran/associate3.f90: New test.
8569
9b6a8d0f
JJ
85702016-06-17 Jakub Jelinek <jakub@redhat.com>
8571
8572 * testsuite/libgomp.c++/target-21.C: New test.
8573
283635f9
JJ
85742016-06-16 Jakub Jelinek <jakub@redhat.com>
8575
8576 * testsuite/libgomp.c++/target-20.C: New test.
8577
27d6ba88
TS
85782016-06-10 Thomas Schwinge <thomas@codesourcery.com>
8579 Cesar Philippidis <cesar@codesourcery.com>
8580
8581 PR middle-end/71373
8582 * libgomp.oacc-c/nested-function-1.c: New file.
8583 * libgomp.oacc-c/nested-function-2.c: Likewise.
8584 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8585 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8586 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8587
4b1ffdb1
TS
85882016-06-10 Thomas Schwinge <thomas@codesourcery.com>
8589
8590 PR c/71381
8591 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
8592 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
8593 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
8594
d821b794
CLT
85952016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
8596
8597 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
8598 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
8599
3616a8c5
CP
86002016-06-01 Cesar Philippidis <cesar@codesourcery.com>
8601
8602 PR c/70688
5eed9a88 8603 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 8604
7211a097
JJ
86052016-05-26 Jakub Jelinek <jakub@redhat.com>
8606
8607 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
8608 instead of invalid schedule(static, 0).
8609 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
8610
b4557008
CLT
86112016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
8612
8613 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
8614 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
8615 parameter, use to set async stream around call to gomp_unmap_vars,
8616 call gomp_unmap_vars() with 'do_copyfrom' set to true.
8617 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
8618 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
8619 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
8620 (event_add): Add int parameter, initialize 'val' field when
8621 adding new ptx_event struct.
8622 (nvptx_evec): Adjust event_add() call arguments.
8623 (nvptx_host2dev): Likewise.
8624 (nvptx_dev2host): Likewise.
8625 (nvptx_wait_async): Likewise.
8626 (nvptx_wait_all_async): Likewise.
8627 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
8628 pass to event_add() call.
8629 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
8630 parameter.
8631 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
8632 call openacc.register_async_cleanup_func() hook.
8633 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
8634 * target.c (gomp_copy_from_async): Delete function.
8635 (gomp_map_vars): Remove async_refcount.
8636 (gomp_unmap_vars): Likewise.
8637 (gomp_load_image_to_device): Likewise.
8638 (omp_target_associate_ptr): Likewise.
8639 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
8640 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
8641 (gomp_copy_from_async): Remove.
8642
6ce13072
CLT
86432016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
8644
8645 * target.c (gomp_device_copy): New function.
8646 (gomp_copy_host2dev): Likewise.
8647 (gomp_copy_dev2host): Likewise.
8648 (gomp_free_device_memory): Likewise.
8649 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
8650 (gomp_map_pointer): Likewise.
8651 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
8652 NULL value from alloc_func plugin hook.
8653 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
8654 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
8655 (gomp_unmap_vars): Likewise.
8656 (gomp_update): Adjust to call gomp_copy_dev2host and
8657 gomp_copy_host2dev functions.
8658 (gomp_unload_image_from_device): Handle false value from
8659 unload_image_func plugin hook.
8660 (gomp_init_device): Handle false value from init_device_func
8661 plugin hook.
8662 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
8663 (omp_target_free): Adjust to call gomp_free_device_memory.
8664 (omp_target_memcpy): Handle return values from host2dev_func,
8665 dev2host_func, and dev2dev_func plugin hooks.
8666 (omp_target_memcpy_rect_worker): Likewise.
8667 (gomp_target_fini): Handle false value from fini_device_func
8668 plugin hook.
8669 * libgomp.h (struct gomp_device_descr): Adjust return type of
8670 init_device_func, fini_device_func, unload_image_func, free_func,
8671 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
8672 * oacc-init.c (acc_shutdown_1): Handle false value from
8673 fini_device_func plugin hook.
8674 * oacc-host.c (host_init_device): Change return type to bool.
8675 (host_fini_device): Likewise.
8676 (host_unload_image): Likewise.
8677 (host_free): Likewise.
8678 (host_dev2host): Likewise.
8679 (host_host2dev): Likewise.
8680 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
8681 (acc_memcpy_to_device): Likewise.
8682 (acc_memcpy_from_device): Likewise.
8683 (delete_copyout): Add libfnname parameter, handle free_func
8684 hook fatal error case.
8685 (acc_delete): Adjust delete_copyout call.
8686 (acc_copyout): Likewise.
8687 (update_dev_host): Move gomp_mutex_unlock to after
8688 host2dev/dev2host hook calls.
8689
8690 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
8691 to 'hsa_error_msg', for clarity.
8692 (hsa_fatal): Likewise.
8693 (hsa_error): New function.
8694 (init_hsa_context): Change return type to bool, adjust to return
8695 false on error.
8696 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
8697 return value.
8698 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
8699 return false on error.
8700 (get_agent_info): Adjust to return NULL on error.
8701 (destroy_hsa_program): Change return type to bool, adjust to
8702 return false on error.
8703 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
8704 (destroy_module): Change return type to bool, adjust to
8705 return false on error.
8706 (GOMP_OFFLOAD_unload_image): Likewise.
8707 (GOMP_OFFLOAD_fini_device): Likewise.
8708 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
8709 (GOMP_OFFLOAD_free): Change to return false when called.
8710 (GOMP_OFFLOAD_dev2host): Likewise.
8711 (GOMP_OFFLOAD_host2dev): Likewise.
8712 (GOMP_OFFLOAD_dev2dev): Likewise.
8713
8714 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
8715 (CUDA_CALL): Likewise.
8716 (CUDA_CALL_ASSERT): Likewise.
8717 (map_init): Change return type to bool, use CUDA_CALL* macros.
8718 (map_fini): Likewise.
8719 (init_streams_for_device): Change return type to bool, adjust
8720 call to map_init.
8721 (fini_streams_for_device): Change return type to bool, adjust
8722 call to map_fini.
8723 (select_stream_for_async): Release stream_lock before calls to
8724 GOMP_PLUGIN_fatal, adjust call to map_init.
8725 (nvptx_init): Use CUDA_CALL* macros.
8726 (nvptx_attach_host_thread_to_device): Change return type to bool,
8727 use CUDA_CALL* macros.
8728 (nvptx_open_device): Use CUDA_CALL* macros.
8729 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
8730 macros.
8731 (nvptx_get_num_devices): Use CUDA_CALL* macros.
8732 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
8733 (nvptx_exec): Use CUDA_CALL* macros.
8734 (nvptx_alloc): Use CUDA_CALL* macros.
8735 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
8736 (nvptx_host2dev): Likewise.
8737 (nvptx_dev2host): Likewise.
8738 (nvptx_wait): Use CUDA_CALL* macros.
8739 (nvptx_wait_async): Likewise.
8740 (nvptx_wait_all): Likewise.
8741 (nvptx_wait_all_async): Likewise.
8742 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
8743 use CUDA_CALL* macros, adjust call to map_fini.
8744 (GOMP_OFFLOAD_init_device): Change return type to bool,
8745 adjust code accordingly.
8746 (GOMP_OFFLOAD_fini_device): Likewise.
8747 (GOMP_OFFLOAD_load_image): Adjust calls to
8748 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
8749 use CUDA_CALL* macros.
8750 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
8751 return code.
8752 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
8753 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
8754 handle error return.
8755 (GOMP_OFFLOAD_dev2host): Likewise.
8756 (GOMP_OFFLOAD_host2dev): Likewise.
8757 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
8758 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
8759
e46c7770
CP
87602016-05-24 Cesar Philippidis <cesar@codesourcery.com>
8761
8762 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
8763 (acc_free): Likewise.
8764 (acc_memcpy_to_device): Likewise.
8765 (acc_memcpy_from_device): Likewise.
8766 (acc_deviceptr): Likewise.
8767 (acc_hostptr): Likewise.
8768 (acc_is_present): Likewise.
8769 (acc_map_data): Likewise.
8770 (acc_unmap_data): Likewise.
8771 (present_create_copy): Likewise.
8772 (delete_copyout): Likewise.
8773 (update_dev_host): Likewise.
8774 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
8775 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
8776 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
8777 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8778 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
8779 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
8780 it only runs on nvptx targets.
8781 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8782 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8783 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8784 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8785 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8786 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8787 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8788 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8789 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8790 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8791 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8792 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8793 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8794 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8795 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8796 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8797 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8798 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8799 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8800 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8801 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8802 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8803 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8804
a5057543
MJ
88052016-05-23 Martin Jambor <mjambor@suse.cz>
8806
8807 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
8808
e37288a6
CLT
88092016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
8810
8811 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
8812 to gomp_init_targets_once.
8813 (acc_set_device_type): Remove !cached_base_dev condition on call to
8814 gomp_init_targets_once, move call to before acc_device_lock acquire,
8815 to avoid deadlock.
8816 (acc_get_device_num): Remove !cached_base_dev condition on call to
8817 gomp_init_targets_once.
8818 (acc_set_device_num): Likewise.
8819
51d9ed48
MJ
88202016-05-16 Martin Jambor <mjambor@suse.cz>
8821
92a285c1 8822 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 8823
5b37e866
NS
88242016-05-02 Nathan Sidwell <nathan@codesourcery.com>
8825
8826 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
8827 expected partitioning.
8828
e7ff0319
CP
88292016-04-29 Cesar Philippidis <cesar@codesourcery.com>
8830
8831 PR middle-end/70626
8832 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
8833 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
8834 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
8835
c2bd3b69
AM
88362016-04-21 Alexander Monakov <amonakov@ispras.ru>
8837
8838 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
8839 non-fatal.
8840
84311083
JJ
88412016-04-19 Jakub Jelinek <jakub@redhat.com>
8842
8843 PR middle-end/70680
8844 * testsuite/libgomp.c/pr70680-1.c: New test.
8845 * testsuite/libgomp.c/pr70680-2.c: New test.
8846
aadc043f
CP
88472016-04-14 Cesar Philippidis <cesar@codesourcery.com>
8848
8849 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
8850 pass parameter variables to subroutines.
8851
e387fc64
CP
88522016-04-14 Cesar Philippidis <cesar@codesourcery.com>
8853
8854 PR middle-end/70643
8855 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
8856
10c3c424
CP
88572016-04-13 Cesar Philippidis <cesar@codesourcery.com>
8858
8859 PR testsuite/68242
8860 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
8861 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8862
27f9add3
TS
88632016-04-12 Thomas Schwinge <thomas@codesourcery.com>
8864
58d32aeb
TS
8865 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
8866 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
8867 GOACC_declare prototype.
8868
d97633ef
TS
8869 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
8870 Merge this file, and...
8871 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
8872 ... this file, and...
8873 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
8874 ... this file, and...
8875 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
8876 ... this file, and...
8877 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
8878 ... this file, and...
8879 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
8880 ... this file, and...
8881 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
8882 ... this file, and...
8883 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
8884 ... this file, and...
8885 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
8886 ... this file, and...
8887 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
8888 ... this file, and...
8889 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
8890 ... this file, and...
8891 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
8892 ... this file, and...
8893 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
8894 ... this file into...
8895 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
8896 file.
8897
27f9add3
TS
8898 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8899 Make failure observable.
8900
21f3a236
JJ
89012016-04-12 Jakub Jelinek <jakub@redhat.com>
8902
8903 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
8904 field.
8905 * target.c (gomp_target_fallback_firstprivate,
8906 gomp_target_unshare_firstprivate): Removed.
8907 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
8908 before waiting for dependencies.
8909 (gomp_target_task_fn): Don't copy firstprivate vars here.
8910 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
8911 firstprivate_copies here.
8912 (gomp_create_target_task): Don't initialize firstprivate_copies field.
8913 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
8914 explicit/implicit firstprivate.
8915
c42cfb5c
CP
89162016-04-08 Cesar Philippidis <cesar@codesourcery.com>
8917
8918 PR lto/70289
8919 PR ipa/70348
8920 PR tree-optimization/70373
8921 PR middle-end/70533
8922 PR middle-end/70534
8923 PR middle-end/70535
8924 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
8925 test.
8926 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
8927 test.
8928 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
8929 test.
8930 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
8931 test.
8932 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
8933 test.
8934 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
8935 test.
8936 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
8937 test.
8938 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
8939 test.
8940 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
8941 test.
8942 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
8943 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
8944 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
8945 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
8946 test.
8947 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
8948 test.
8949 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
8950 test.
8951 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
8952 test.
8953 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
8954 coverage.
8955 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
8956 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8957 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
8958 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
8959 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
8960 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
8961 coverage.
8962 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8963 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8964 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8965 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8966 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
8967 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
8968 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
8969 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
8970 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
8971 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8972 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8973 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8974 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8975 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8976 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
8977
2620c80d
TS
89782016-03-30 Thomas Schwinge <thomas@codesourcery.com>
8979 James Norris <jnorris@codesourcery.com>
8980 Nathan Sidwell <nathan@codesourcery.com>
8981 Julian Brown <julian@codesourcery.com>
8982 Cesar Philippidis <cesar@codesourcery.com>
8983 Chung-Lin Tang <cltang@codesourcery.com>
8984 Tom de Vries <tom@codesourcery.com>
8985
8986 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
8987 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8988 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8989 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
8990 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8991 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8992 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8993 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8994 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8995 XFAIL.
8996 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
8997 Incorporate...
8998 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
8999 file.
9000 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
9001 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
9002 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
9003 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
9004 Likewise.
9005 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
9006 Likewise.
9007 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9008 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
9009 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
9010 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
9011 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
9012 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9013 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
9014 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
9015 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
9016 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
9017 Likewise.
9018 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
9019 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
9020 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
9021 file...
9022 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
9023 file into...
9024 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
9025 file. Update.
9026 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
9027 file.
9028 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
9029 Likewise.
9030 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
9031 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
9032 ... this new file. Update.
9033 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
9034 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
9035 ... this new file. Update.
9036 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
9037 file. Incorporate...
9038 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
9039 file, and...
9040 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
9041 file, and...
9042 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
9043 file.
9044 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
9045
ce83104b
TS
90462016-03-29 Thomas Schwinge <thomas@codesourcery.com>
9047
9048 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
9049 set-torture-options.
9050
6e0df3b7
TS
90512016-03-24 Thomas Schwinge <thomas@codesourcery.com>
9052
9053 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
9054 gcc-dg-runtest.
9055 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9056 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
9057 -fno-builtin-acc_on_device instead of -O0.
9058 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
9059 -O0.
9060 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9061 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
9062 Likewise.
9063 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9064 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9065 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9066 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9067 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9068 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9069 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9070 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9071 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9072 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9073 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9074 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9075 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9076 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9077 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9078 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9079 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9080 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
9081 Don't specify -O2.
9082 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
9083 Likewise.
9084 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
9085 Likewise.
9086
f9c8babb
ML
90872016-03-24 Martin Liska <mliska@suse.cz>
9088
9089 * plugin/plugin-hsa.c (packet_store_release): New function
9090 that is taken from the HSA runtime manual.
9091 (GOMP_OFFLOAD_run): Use the function.
9092
04833609
JJ
90932016-03-23 Jakub Jelinek <jakub@redhat.com>
9094
9095 PR c++/70376
9096 * testsuite/libgomp.c++/pr70376.C: New test.
9097
d79ee524
TV
90982016-03-23 Tom de Vries <tom@codesourcery.com>
9099
9100 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
9101 initialization of lresult and lvresult.
9102 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
9103
b6d1f2b5
JN
91042016-03-23 James Norris <jnorris@codesourcery.com>
9105 Daichi Fukuoka <dc-fukuoka@sgi.com>
9106
9107 PR libgomp/69414
9108 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
9109 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
9110 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9111 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
9112
7397fce2
ML
91132016-03-23 Martin Liska <mliska@suse.cz>
9114
9115 PR hsa/70337
9116 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
9117 argument just in case a dispatched kernel uses that argument.
9118
ee2e7d51
TS
91192016-03-16 Thomas Schwinge <thomas@codesourcery.com>
9120
9121 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
9122 -ftree-parallelize-loops/-fopenacc changes.
9123 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
9124 Likewise.
9125 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9126 Likewise.
9127 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
9128 Likewise.
9129 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
9130 Likewise.
9131 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
9132 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
9133
be9f7143
TS
91342016-03-13 Thomas Schwinge <thomas@codesourcery.com>
9135
9136 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
9137 always_ld_library_path the path to libgcc_s.
9138
f6c1032d
CP
91392016-03-10 Cesar Philippidis <cesar@codesourcery.com>
9140
9141 PR testsuite/70009
9142 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
9143
5a6452e6
TV
91442016-03-09 Tom de Vries <tom@codesourcery.com>
9145
9146 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
9147 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
9148 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9149 Same.
9150 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
9151 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
9152 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
9153 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
9154
96a71bd5
MJ
91552016-03-07 Martin Jambor <mjambor@suse.cz>
9156
9157 * testsuite/lib/libgomp.exp
9158 (check_effective_target_hsa_offloading_selected_nocache): New.
9159 (check_effective_target_hsa_offloading_selected): Likewise.
9160 * testsuite/libgomp.hsa.c/c.exp: Likewise.
9161 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
9162 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
9163 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
9164 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
9165 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
9166 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
9167 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
9168 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
9169 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
9170 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
9171 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
9172 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
9173 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
9174 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
9175 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
9176 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
9177
02e0b5b2
MJ
91782016-03-07 Martin Jambor <mjambor@suse.cz>
9179
9180 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
9181 non-shared memory accelerators.
9182 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
9183 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
9184 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
9185 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
9186 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
9187 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
9188 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
9189 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
9190 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
9191
45548f30
MJ
91922016-03-07 Martin Jambor <mjambor@suse.cz>
9193
9194 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
9195 ALWAYS_CFLAGS.
9196
da3d46cb
JJ
91972016-03-02 Jakub Jelinek <jakub@redhat.com>
9198
9199 PR libgomp/69555
9200 * testsuite/libgomp.c++/pr69555-1.C: New test.
9201 * testsuite/libgomp.c++/pr69555-2.C: New test.
9202
622174b2
KM
92032016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
9204 Martin Jambor <mjambor@suse.cz>
9205
9206 * testsuite/lib/libgomp.exp
9207 (check_effective_target_offload_device_shared_as): New proc.
9208 * testsuite/libgomp.c++/declare_target-1.C: New test.
9209
e6861a99
IV
92102016-02-25 Ilya Verbin <ilya.verbin@intel.com>
9211
9212 PR driver/68463
9213 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
9214
f99c3557
TS
92152016-02-23 Thomas Schwinge <thomas@codesourcery.com>
9216
9217 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
9218 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
9219 dims.
9220 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
9221 -ftree-parallelize-loops/-fopenacc changes.
9222 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
9223 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
9224 Likewise.
9225 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
9226 Likewise.
9227 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
9228 Likewise.
9229 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
9230 Likewise.
9231 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
9232 Likewise.
9233 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
9234 Likewise.
9235 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
9236 Likewise.
9237 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
9238 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
9239 Likewise.
9240 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
9241 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
9242 Likewise.
9243 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
9244 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
9245 Likewise.
9246
d5ace3b5
CP
92472016-02-22 Cesar Philippidis <cesar@codesourcery.com>
9248
9249 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
9250
f3609a89
JJ
92512016-02-19 Jakub Jelinek <jakub@redhat.com>
9252
9253 PR driver/69805
9254 * testsuite/libgomp.c/pr69805.c: New test.
9255
2175df99
TV
92562016-02-16 Tom de Vries <tom@codesourcery.com>
9257
9258 PR lto/67709
9259 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
9260
17b6426c
TV
92612016-02-09 Tom de Vries <tom@codesourcery.com>
9262
9263 PR tree-optimization/69599
9264 * testsuite/libgomp.c/omp-nested-3.c: New test.
9265 * testsuite/libgomp.c/pr46032-2.c: New test.
9266 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
9267 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
9268
34df756c
TV
92692016-02-09 Tom de Vries <tom@codesourcery.com>
9270
9271 PR lto/69707
9272 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
9273
5854ee30
AM
92742016-02-02 Alexander Monakov <amonakov@ispras.ru>
9275
9276 * testsuite/libgomp.c/target-31.c: Fix testcase.
9277
e70b6ad7
AM
92782016-02-02 Alexander Monakov <amonakov@ispras.ru>
9279
9280 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
9281 clause.
9282 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
9283 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
9284 reduction and map clauses.
9285 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
9286
bd78a45f
JN
92872016-02-02 James Norris <jnorris@codesourcery.com>
9288
9289 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
9290
41d809d3
TS
92912016-02-02 Thomas Schwinge <thomas@codesourcery.com>
9292
18f60146
TS
9293 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
9294 * oacc-parallel.c (GOACC_host_data): Remove function definition.
9295
1a06f5e6
TS
9296 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
9297 cases.
9298
033ff3d1
TS
9299 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
9300 variables.
9301 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
9302 (hsa_kmt_lib): Set variables.
9303 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
9304 always_ld_library_path.
9305 * Makefile.in: Regenerate.
9306 * configure: Likewise.
9307 * testsuite/Makefile.in: Likewise.
9308
4a88d9b7
TS
9309 * plugin/configfrag.ac (offload_additional_options)
9310 (offload_additional_lib_paths): Don't amend for hsa offloading.
9311 * configure: Regenerate.
9312
41d809d3
TS
9313 * plugin/configfrag.ac: Don't configure for offloading target if
9314 we don't build the corresponding plugin.
9315 * configure: Regenerate.
9316
b6adbb9f
NS
93172016-02-01 Nathan Sidwell <nathan@codesourcery.com>
9318
9319 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
9320 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
9321
8dfdb419
TV
93222016-01-26 Tom de Vries <tom@codesourcery.com>
9323
9324 PR tree-optimization/69110
9325 * testsuite/libgomp.c/pr69110.c: New test.
9326
02ef53f2
RB
93272016-01-25 Richard Biener <rguenther@suse.de>
9328
9329 PR lto/69393
9330 * testsuite/libgomp.c++/pr69393.C: New testcase.
9331
eb4048f2
IV
93322016-01-22 Ilya Verbin <ilya.verbin@intel.com>
9333
9334 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
9335 function wasn't mapped to the device with non-shared memory.
9336
b235cdd5
IV
93372016-01-20 Ilya Verbin <ilya.verbin@intel.com>
9338
9339 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
9340
b2b40051
MJ
93412016-01-19 Martin Jambor <mjambor@suse.cz>
9342 Martin Liska <mliska@suse.cz>
9343
9344 * plugin/Makefrag.am: Add HSA plugin requirements.
9345 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
9346 (HSA_RUNTIME_LIB): Likewise.
9347 (HSA_RUNTIME_CPPFLAGS): Likewise.
9348 (HSA_RUNTIME_INCLUDE): New substitution.
9349 (HSA_RUNTIME_LIB): Likewise.
9350 (HSA_RUNTIME_LDFLAGS): Likewise.
9351 (hsa-runtime): New configure option.
9352 (hsa-runtime-include): Likewise.
9353 (hsa-runtime-lib): Likewise.
9354 (PLUGIN_HSA): New substitution variable.
9355 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
9356 configure options.
9357 (PLUGIN_HSA_CPPFLAGS): Likewise.
9358 (PLUGIN_HSA_LDFLAGS): Likewise.
9359 (PLUGIN_HSA_LIBS): Likewise.
9360 Check that we have access to HSA run-time.
9361 * libgomp-plugin.h (offload_target_type): New element
9362 OFFLOAD_TARGET_TYPE_HSA.
9363 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
9364 args.
9365 (bool gomp_create_target_task): Updated.
9366 (gomp_device_descr): Extra parameter of run_func and async_run_func,
9367 new field can_run_func.
9368 * libgomp_g.h (GOMP_target_ext): Update prototype.
9369 * oacc-host.c (host_run): Added a new parameter args.
9370 * target.c (calculate_firstprivate_requirements): New function.
9371 (copy_firstprivate_data): Likewise.
9372 (gomp_target_fallback_firstprivate): Use them.
9373 (gomp_target_unshare_firstprivate): New function.
9374 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
9375 devices.
9376 (GOMP_target): Do host fallback for all shared memory devices. Do not
9377 pass any args to plugins.
9378 (GOMP_target_ext): Introduce device-specific argument parameter args.
9379 Allow host fallback if device shares memory. Do not remap data if
9380 device has shared memory.
9381 (gomp_target_task_fn): Likewise. Also treat shared memory devices
9382 like host fallback for mappings.
9383 (GOMP_target_data): Treat shared memory devices like host fallback.
9384 (GOMP_target_data_ext): Likewise.
9385 (GOMP_target_update): Likewise.
9386 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
9387 gomp_create_target_task.
9388 (GOMP_target_enter_exit_data): Likewise.
9389 (omp_target_alloc): Treat shared memory devices like host fallback.
9390 (omp_target_free): Likewise.
9391 (omp_target_is_present): Likewise.
9392 (omp_target_memcpy): Likewise.
9393 (omp_target_memcpy_rect): Likewise.
9394 (omp_target_associate_ptr): Likewise.
9395 (gomp_load_plugin_for_device): Also load can_run.
9396 * task.c (GOMP_PLUGIN_target_task_completion): Free
9397 firstprivate_copies.
9398 (gomp_create_target_task): Accept new argument args and store it to
9399 ttask.
9400 * plugin/plugin-hsa.c: New file.
9401
5d7804a9
TV
94022016-01-18 Tom de Vries <tom@codesourcery.com>
9403
9404 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
9405 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
9406 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
9407 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
9408 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
9409 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
9410 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
9411 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
9412 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
9413 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
9414 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
9415 Same.
9416 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
9417 Same.
9418 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
9419 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
9420 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
9421 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
9422 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
9423 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
9424 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
9425 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
9426 Same.
9427 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
9428
cb11f3cf
JJ
94292016-01-15 Jakub Jelinek <jakub@redhat.com>
9430
9431 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
9432
33a126a6
CP
94332016-01-15 Cesar Philippidis <cesar@codesourcery.com>
9434
9435 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
9436
cdf6119d
JN
94372016-01-12 James Norris <jnorris@codesourcery.com>
9438
9439 * libgomp.texi: Updates for OpenACC.
9440
0d58938e
AM
94412016-01-11 Alexander Monakov <amonakov@ispras.ru>
9442
9443 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
9444
95918b49
L
94452016-01-07 H.J. Lu <hongjiu.lu@intel.com>
9446
9447 PR fortran/66680
9448 * testsuite/libgomp.fortran/pr66680.f90: New test.
9449
8fc708b7
JJ
94502016-01-07 Jakub Jelinek <jakub@redhat.com>
9451
9452 PR middle-end/68960
9453 * testsuite/libgomp.c/pr68960.c: New test.
9454
e9b596c1
NS
94552016-01-06 Nathan Sidwell <nathan@acm.org>
9456
1a14faf2 9457 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
9458 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
9459
21fa2a29
JJ
94602016-01-04 Jakub Jelinek <jakub@redhat.com>
9461
818ab71a
JJ
9462 Update copyright years.
9463
21fa2a29
JJ
9464 * libgomp.texi: Bump @copying's copyright year.
9465
9310efbc
NS
94662015-12-31 Nathan Sidwell <nathan@acm.org>
9467
9468 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
9469 dg-additional-options syntax.
9470 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9471 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9472 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9473 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9474 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9475 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9476 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9477 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9478 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9479 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9480 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9481 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9482 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9483 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9484 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9485 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9486 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9487 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9488
4a38b02b
IV
94892015-12-15 Ilya Verbin <ilya.verbin@intel.com>
9490
9491 * libgomp.h (REFCOUNT_LINK): Define.
9492 (struct splay_tree_key_s): Add link_key.
9493 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
9494 Replace target address of the pointer with target address of newly
9495 mapped object in the splay tree. Set link pointer on target to the
9496 device address of the mapped object.
9497 (gomp_unmap_vars): Restore target address of the pointer in the splay
9498 tree for REFCOUNT_LINK objects after unmapping.
9499 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
9500 declare target link" objects.
9501 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
9502 "omp declare target link" objects, which were mapped for the image.
9503 (gomp_exit_data): Restore target address of the pointer in the splay
9504 tree for REFCOUNT_LINK objects after unmapping.
9505 * testsuite/libgomp.c/target-link-1.c: New file.
9506
d84ffc0a
IV
95072015-12-14 Ilya Verbin <ilya.verbin@intel.com>
9508
9509 * libgomp.h (gomp_device_state): New enum.
9510 (struct gomp_device_descr): Replace is_initialized with state.
9511 (gomp_fini_device): Remove declaration.
9512 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
9513 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
9514 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
9515 (acc_set_device_type): Use state instead of is_initialized.
9516 (acc_set_device_num): Likewise.
9517 * target.c (resolve_device): Use state instead of is_initialized.
9518 Do not initialize finalized device.
9519 (gomp_map_vars): Do nothing if device is finalized.
9520 (gomp_unmap_vars): Likewise.
9521 (gomp_update): Likewise.
9522 (GOMP_offload_register_ver): Use state instead of is_initialized.
9523 (GOMP_offload_unregister_ver): Likewise.
9524 (gomp_init_device): Likewise.
9525 (gomp_unload_device): Likewise.
9526 (gomp_fini_device): Remove.
9527 (gomp_get_target_fn_addr): Do nothing if device is finalized.
9528 (GOMP_target): Go to host fallback if device is finalized.
9529 (GOMP_target_ext): Likewise.
9530 (gomp_exit_data): Do nothing if device is finalized.
9531 (gomp_target_task_fn): Go to host fallback if device is finalized.
9532 (gomp_target_fini): New static function.
9533 (gomp_target_init): Use state instead of is_initialized.
9534 Call gomp_target_fini at exit.
9535
76680678
TV
95362015-12-09 Tom de Vries <tom@codesourcery.com>
9537
9538 PR tree-optimization/68716
9539 * testsuite/libgomp.c/omp-nested-2.c: New test.
9540
ff7a55bf
TS
95412015-12-02 Thomas Schwinge <thomas@codesourcery.com>
9542
9543 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
9544 target openacc_nvidia_accel_selected.
9545 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
9546 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
9547 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
9548 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
9549
37d5ad46
JB
95502015-12-01 Julian Brown <julian@codesourcery.com>
9551 James Norris <James_Norris@mentor.com>
9552
9553 * oacc-parallel.c (GOACC_host_data): New function.
9554 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
9555 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
9556 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
9557 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
9558 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
9559 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
9560 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
9561
db941d7e
CP
95622015-11-30 James Norris <jnorris@codesourcery.com>
9563 Cesar Philippidis <cesar@codesourcery.com>
9564
9565 libgomp/
9566 * libgomp.oacc-fortran/routine-5.f90: New test.
9567 * libgomp.oacc-fortran/routine-7.f90: New test.
9568 * libgomp.oacc-fortran/routine-9.f90: New test.
9569
e0ca27c5
TV
95702015-11-30 Tom de Vries <tom@codesourcery.com>
9571
9572 PR tree-optimization/46032
9573 * testsuite/libgomp.c/pr46032.c: New test.
9574
aec17bfe
JJ
95752015-11-27 Jakub Jelinek <jakub@redhat.com>
9576
8e4e4719
JJ
9577 PR libgomp/68579
9578 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
9579 (gomp_create_target_task): Call it before freeing
9580 GOMP_TARGET_TASK_DATA tasks.
9581
aec17bfe
JJ
9582 PR c/63326
9583 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
9584 in between case label and OpenMP standalone directives.
9585 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
9586
6cfe90e6
DE
95872015-11-26 David Edelsohn <dje.gcc@gmail.com>
9588
9589 * configure: Regenerate.
9590
0e65fd7d
JJ
95912015-11-26 Jakub Jelinek <jakub@redhat.com>
9592
9593 * testsuite/libgomp.c/target-35.c: New test.
9594
dc7a8b4b
JN
95952015-11-22 James Norris <jnorris@codesourcery.com>
9596 Cesar Philippidis <cesar@codesourcery.com>
9597
9598 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
9599 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
9600 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
9601 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
9602 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
9603
48a78aee
JJ
96042015-11-20 Jakub Jelinek <jakub@redhat.com>
9605
9606 PR middle-end/68221
9607 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
9608 * testsuite/libgomp.c/reduction-12.c: Likewise.
9609 * testsuite/libgomp.c++/reduction-11.C: Likewise.
9610 * testsuite/libgomp.c++/reduction-12.C: Likewise.
9611
2d256816
NS
96122015-11-19 Nathan Sidwell <nathan@codesourcery.com>
9613
9614 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
9615 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
9616 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
9617 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
9618 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
9619 and fix.
9620 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9621 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9622
33f47f42
NS
96232015-11-18 Nathan Sidwell <nathan@codesourcery.com>
9624
9625 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
9626 worker & gang cases.
9627 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9628
3d7bfee0
CP
96292015-11-17 Cesar Philippidis <cesar@codesourcery.com>
9630
9631 * config/nvptx/priority_queue.c: New file.
9632
00b9bd52
JJ
96332015-11-14 Jakub Jelinek <jakub@redhat.com>
9634
9635 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
9636 sections.
9637
e4606348
JJ
96382015-11-14 Jakub Jelinek <jakub@redhat.com>
9639 Aldy Hernandez <aldyh@redhat.com>
9640 Ilya Verbin <ilya.verbin@intel.com>
9641
9642 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
9643 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
9644 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
9645 iterators or IV by chunk size.
9646 * parallel.c (gomp_resolve_num_threads): Don't assume that
9647 if thr->ts.team is non-NULL, then pool must be non-NULL.
9648 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
9649 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
9650 GOMP_PLUGIN_target_task_completion.
9651 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
9652 * Makefile.in: Regenerate.
9653 * libgomp.h: Shuffle prototypes and forward definitions around so
9654 priority queues can be defined.
9655 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
9656 (enum gomp_target_task_state): New enum.
9657 (struct gomp_target_task): Add state, tgt, task and team fields.
9658 (gomp_create_target_task): Change return type to bool, add
9659 state argument.
9660 (gomp_target_task_fn): Change return type to bool.
9661 (struct gomp_device_descr): Add async_run_func.
9662 (struct gomp_task): Remove children, next_child, prev_child,
9663 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
9664 Add pnode field.
9665 (struct gomp_taskgroup): Remove children.
9666 Add taskgroup_queue.
9667 (struct gomp_team): Change task_queue type to a priority queue.
9668 (splay_compare): Define inline.
9669 (priority_queue_offset): New.
9670 (priority_node_to_task): New.
9671 (task_to_priority_node): New.
9672 * oacc-mem.c: Do not include splay-tree.h.
9673 * priority_queue.c: New file.
9674 * priority_queue.h: New file.
9675 * splay-tree.c: Do not include splay-tree.h.
9676 (splay_tree_foreach_internal): New.
9677 (splay_tree_foreach): New.
9678 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
9679 (splay_tree_callback): Define typedef.
9680 * target.c (splay_compare): Move to libgomp.h.
9681 (GOMP_target): Don't adjust *thr in any way around running offloaded
9682 task.
9683 (GOMP_target_ext): Likewise. Handle target nowait.
9684 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
9685 return value from gomp_create_target_task, if false, fallthrough
9686 as if no dependencies exist.
9687 (gomp_target_task_fn): Change return type to bool, return true
9688 if the task should have another part scheduled later. Handle
9689 target nowait.
9690 (gomp_load_plugin_for_device): Initialize async_run.
9691 * task.c (gomp_init_task): Initialize children_queue.
9692 (gomp_clear_parent_in_list): New.
9693 (gomp_clear_parent_in_tree): New.
9694 (gomp_clear_parent): Handle priorities.
9695 (GOMP_task): Likewise.
9696 (priority_queue_move_task_first,
9697 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
9698 New functions.
9699 (gomp_create_target_task): Use priority queues. Change return type
9700 to bool, add state argument, return false if for async
9701 {{enter,exit} data,update} constructs no dependencies need to be
9702 waited for, handle target nowait. Set task->fn to NULL instead of
9703 gomp_target_task_fn.
9704 (verify_children_queue): Remove.
9705 (priority_list_upgrade_task): New.
9706 (priority_queue_upgrade_task): New.
9707 (verify_task_queue): Remove.
9708 (priority_list_downgrade_task): New.
9709 (priority_queue_downgrade_task): New.
9710 (gomp_task_run_pre): Use priority queues.
9711 Abstract code out to priority_queue_downgrade_task.
9712 (gomp_task_run_post_handle_dependers): Use priority queues.
9713 (gomp_task_run_post_remove_parent): Likewise.
9714 (gomp_task_run_post_remove_taskgroup): Likewise.
9715 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
9716 tasks specially.
9717 (GOMP_taskwait): Likewise.
9718 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
9719 priority-queue_upgrade_task.
9720 (GOMP_taskgroup_start): Use priority queues.
9721 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
9722 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
9723 barrier.
9724 * taskloop.c (GOMP_taskloop): Handle priorities.
9725 * team.c (gomp_new_team): Call priority_queue_init.
9726 (free_team): Call priority_queue_free.
9727 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
9728 team created for target nowait in implicit parallel region.
9729 (gomp_team_start): For nested check, test thr->ts.level instead of
9730 thr->ts.team != NULL.
9731 * testsuite/libgomp.c/doacross-3.c: New test.
9732 * testsuite/libgomp.c/ordered-5.c: New test.
9733 * testsuite/libgomp.c/priority.c: New test.
9734 * testsuite/libgomp.c/target-31.c: New test.
9735 * testsuite/libgomp.c/target-32.c: New test.
9736 * testsuite/libgomp.c/target-33.c: New test.
9737 * testsuite/libgomp.c/target-34.c: New test.
9738
1d1ab74f
NS
97392015-11-13 Nathan Sidwell <nathan@codesourcery.com>
9740
c5a64cfe
NS
9741 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
9742
1d1ab74f
NS
9743 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
9744 loop is sequential.
9745
dd3c1b14
NS
97462015-11-13 Nathan Sidwell <nathan@codesourcery.com>
9747
9748 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
9749 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
9750
6e232ba4
JN
97512015-11-12 James Norris <jnorris@codesourcery.com>
9752 Joseph Myers <joseph@codesourcery.com>
9753
9754 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
9755 * oacc-parallel.c (GOACC_declare): New function.
9756 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
9757 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
9758 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
9759 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
9760 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
9761
fffeedeb
NS
97622015-11-12 Nathan Sidwell <nathan@codesourcery.com>
9763
9764 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
9765
182190f2
NS
97662015-11-1 Nathan Sidwell <nathan@codesourcery.com>
9767
9768 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
9769 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
9770
36fa0f5f
NS
97712015-11-09 Nathan Sidwell <nathan@codesourcery.com>
9772
d350c40c
NS
9773 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
9774 inadvertent commit.
9775
97762015-11-09 Nathan Sidwell <nathan@codesourcery.com>
9777
36fa0f5f
NS
9778 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
9779 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
9780 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
9781 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
9782 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
9783
66a5f0b4
TS
97842015-11-06 Thomas Schwinge <thomas@codesourcery.com>
9785
9786 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
9787 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9788
e01d41e5
JJ
97892015-11-05 Jakub Jelinek <jakub@redhat.com>
9790 Ilya Verbin <ilya.verbin@intel.com>
9791
9792 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
9793 GOMP_loop_nonmonotonic_dynamic_start,
9794 GOMP_loop_nonmonotonic_guided_next,
9795 GOMP_loop_nonmonotonic_guided_start,
9796 GOMP_loop_ull_nonmonotonic_dynamic_next,
9797 GOMP_loop_ull_nonmonotonic_dynamic_start,
9798 GOMP_loop_ull_nonmonotonic_guided_next,
9799 GOMP_loop_ull_nonmonotonic_guided_start,
9800 GOMP_parallel_loop_nonmonotonic_dynamic,
9801 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
9802 (GOMP_target_41): Renamed to ...
9803 (GOMP_target_ext): ... this. Add num_teams and thread_limit
9804 arguments.
9805 (GOMP_target_data_41): Renamed to ...
9806 (GOMP_target_data_ext): ... this.
9807 (GOMP_target_update_41): Renamed to ...
9808 (GOMP_target_update_ext): ... this.
9809 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
9810 GOMP_target_data_ext and GOMP_target_update_ext instead of
9811 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
9812 Export GOMP_loop_nonmonotonic_dynamic_next,
9813 GOMP_loop_nonmonotonic_dynamic_start,
9814 GOMP_loop_nonmonotonic_guided_next,
9815 GOMP_loop_nonmonotonic_guided_start,
9816 GOMP_loop_ull_nonmonotonic_dynamic_next,
9817 GOMP_loop_ull_nonmonotonic_dynamic_start,
9818 GOMP_loop_ull_nonmonotonic_guided_next,
9819 GOMP_loop_ull_nonmonotonic_guided_start,
9820 GOMP_parallel_loop_nonmonotonic_dynamic and
9821 GOMP_parallel_loop_nonmonotonic_guided.
9822 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
9823 GOMP_parallel_loop_nonmonotonic_guided,
9824 GOMP_loop_nonmonotonic_dynamic_start,
9825 GOMP_loop_nonmonotonic_guided_start,
9826 GOMP_loop_nonmonotonic_dynamic_next,
9827 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
9828 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
9829 GOMP_loop_ull_nonmonotonic_guided_start,
9830 GOMP_loop_ull_nonmonotonic_dynamic_next,
9831 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
9832 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
9833 functions.
9834 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
9835 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
9836 Use gomp_map_val function.
9837 (gomp_target_fallback_firstprivate): New static function.
9838 (GOMP_target_41): Renamed to ...
9839 (GOMP_target_ext): ... this. Add num_teams and thread_limit
9840 arguments. Move firstprivate fallback handling into a new
9841 function.
9842 (GOMP_target_data_41): Renamed to ...
9843 (GOMP_target_data_ext): ... this.
9844 (GOMP_target_update_41): Renamed to ...
9845 (GOMP_target_update_ext): ... this.
9846 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
9847 gomp_map_0len_lookup instead of gomp_map_lookup.
9848 (omp_target_is_present): Use gomp_map_0len_lookup instead of
9849 gomp_map_lookup.
9850 * testsuite/libgomp.c/target-28.c: Likewise.
9851 * testsuite/libgomp.c/monotonic-1.c: New test.
9852 * testsuite/libgomp.c/monotonic-2.c: New test.
9853 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
9854 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
9855 * testsuite/libgomp.c/pr66199-5.c: New test.
9856 * testsuite/libgomp.c/pr66199-6.c: New test.
9857 * testsuite/libgomp.c/pr66199-7.c: New test.
9858 * testsuite/libgomp.c/pr66199-8.c: New test.
9859 * testsuite/libgomp.c/pr66199-9.c: New test.
9860 * testsuite/libgomp.c/reduction-11.c: New test.
9861 * testsuite/libgomp.c/reduction-12.c: New test.
9862 * testsuite/libgomp.c/reduction-13.c: New test.
9863 * testsuite/libgomp.c/reduction-14.c: New test.
9864 * testsuite/libgomp.c/reduction-15.c: New test.
9865 * testsuite/libgomp.c/target-12.c (main): Adjust for
9866 omp_target_is_present change for one-past-last element.
9867 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
9868 the same var is both mapped and privatized.
9869 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
9870 handling of zero-length array sections.
9871 * testsuite/libgomp.c/target-28.c: New test.
9872 * testsuite/libgomp.c/target-29.c: New test.
9873 * testsuite/libgomp.c/target-30.c: New test.
9874 * testsuite/libgomp.c/target-teams-1.c: New test.
9875 * testsuite/libgomp.c++/member-6.C: New test.
9876 * testsuite/libgomp.c++/member-7.C: New test.
9877 * testsuite/libgomp.c++/monotonic-1.C: New test.
9878 * testsuite/libgomp.c++/monotonic-2.C: New test.
9879 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
9880 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
9881 * testsuite/libgomp.c++/pr66199-3.C: New test.
9882 * testsuite/libgomp.c++/pr66199-4.C: New test.
9883 * testsuite/libgomp.c++/pr66199-5.C: New test.
9884 * testsuite/libgomp.c++/pr66199-6.C: New test.
9885 * testsuite/libgomp.c++/pr66199-7.C: New test.
9886 * testsuite/libgomp.c++/pr66199-8.C: New test.
9887 * testsuite/libgomp.c++/pr66199-9.C: New test.
9888 * testsuite/libgomp.c++/reduction-11.C: New test.
9889 * testsuite/libgomp.c++/reduction-12.C: New test.
9890 * testsuite/libgomp.c++/target-13.C: New test.
9891 * testsuite/libgomp.c++/target-14.C: New test.
9892 * testsuite/libgomp.c++/target-15.C: New test.
9893 * testsuite/libgomp.c++/target-16.C: New test.
9894 * testsuite/libgomp.c++/target-17.C: New test.
9895 * testsuite/libgomp.c++/target-18.C: New test.
9896 * testsuite/libgomp.c++/target-19.C: New test.
9897
ccc8282b
NS
98982015-11-04 Nathan Sidwell <nathan@codesourcery.com>
9899
9900 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
9901 and reduction copy.
9902 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9903 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9904 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9905 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9906 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
9907 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9908 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9909 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9910 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9911 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
9912 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9913 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9914 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9915 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
9916
5d6823a2
NS
99172015-11-04 Nathan Sidwell <nathan@codesourcery.com>
9918
9919 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
9920 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
9921 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
9922 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
9923 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
9924 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
9925 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
9926 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
9927
5c06742f
NS
99282015-11-03 Nathan Sidwell <nathan@codesourcery.com>
9929
9930 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
9931 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
9932 (GOMP_OFFLOAD_openacc_parallel): Likewise.
9933 * oacc-host.c (host_openacc_exec): Likewise.
9934 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
9935
4bf9e5a8
TS
99362015-11-03 Julian Brown <julian@codesourcery.com>
9937 Thomas Schwinge <thomas@codesourcery.com>
9938
9939 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
9940 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9941 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
9942 Likewise.
9943 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
9944 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
9945
99462015-11-03 James Norris <jnorris@codesourcery.com>
9947
9948 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
9949 file.
9950 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
9951 Likewise.
9952 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
9953 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
9954 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
9955 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
9956 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
9957
a0e701d8
NS
99582015-10-29 Nathan Sidwell <nathan@codesourcery.com>
9959
9960 * openacc.h (enum acc_device_t): Reformat. Ensure layout
9961 compatibility.
9962 (enum acc_async_t): Reformat.
9963 (acc_on_device): Declare compatible with builtin and provide C++
9964 wrapper.
9965 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
9966
41e977ac
TS
99672015-10-29 Thomas Schwinge <thomas@codesourcery.com>
9968 Cesar Philippidis <cesar@codesourcery.com>
9969
9970 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
9971 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
9972 ... this. Add a description of the test at the top of the file.
9973 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
9974 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
9975 ... this. Add a description of the test at the top of the file.
9976
e3091406
NS
99772015-10-28 Nathan Sidwell <nathan@codesourcery.com>
9978
9979 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
9980 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
9981 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
9982 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
9983 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
9984 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
9985
a1c1908b
NS
99862015-10-27 Nathan Sidwell <nathan@codesourcery.com>
9987
9988 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
9989 dimensions.
9990
b3962a4a
TS
99912015-10-27 Thomas Schwinge <thomas@codesourcery.com>
9992
9993 PR testsuite/68063
9994 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
9995
88bae6f4
TS
99962015-10-27 James Norris <jnorris@codesourcery.com>
9997
9998 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
9999 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
10000
8baa7864
TS
100012015-10-26 Thomas Schwinge <thomas@codesourcery.com>
10002
bdeb752c
TS
10003 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
10004 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10005
ecd4fd43
TS
10006 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
10007 acc_device_nvidia usage.
10008 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
10009 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10010 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
10011
aa8b7d30
TS
10012 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
10013 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
10014
7c8f138d
TS
10015 PR libgomp/66518
10016 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
10017
8baa7864
TS
10018 PR libgomp/65437
10019 PR libgomp/66518
10020 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
10021 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
10022
88ebcde5
TV
100232015-10-23 Tom de Vries <tom@codesourcery.com>
10024
10025 PR testsuite/68063
10026 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
10027
9ef83c04
NS
100282015-10-20 Nathan Sidwell <nathan@codesourcery.com>
10029
10030 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
10031 vector_length.
10032 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10033
3837c6d6
IV
100342015-10-14 Ilya Verbin <ilya.verbin@intel.com>
10035 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
10036
10037 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
10038 to 0 when mapnum is 0.
10039
ac8a1965
SH
100402015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
10041
10042 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
10043 Cast to int from int32_t.
10044
d9a6bd32
JJ
100452015-10-13 Jakub Jelinek <jakub@redhat.com>
10046 Aldy Hernandez <aldyh@redhat.com>
10047 Ilya Verbin <ilya.verbin@intel.com>
10048
10049 * config/linux/affinity.c (omp_get_place_num_procs,
10050 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10051 * config/linux/doacross.h: New file.
10052 * config/posix/affinity.c (omp_get_place_num_procs,
10053 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10054 * config/posix/doacross.h: New file.
10055 * env.c: Include gomp-constants.h.
10056 (struct gomp_task_icv): Rename run_sched_modifier to
10057 run_sched_chunk_size.
10058 (gomp_max_task_priority_var): New variable.
10059 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
10060 (handle_omp_display_env): Change _OPENMP value from 201307 to
10061 201511. Print OMP_MAX_TASK_PRIORITY.
10062 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
10063 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
10064 chunk_size and run_sched_modifier to run_sched_chunk_size.
10065 (omp_get_max_task_priority, omp_get_initial_device,
10066 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
10067 omp_get_partition_place_nums): New functions.
10068 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
10069 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
10070 to chunk_size.
10071 (omp_get_num_places_, omp_get_place_num_procs_,
10072 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
10073 omp_get_place_proc_ids_8_, omp_get_place_num_,
10074 omp_get_partition_num_places_, omp_get_partition_place_nums_,
10075 omp_get_partition_place_nums_8_, omp_get_initial_device_,
10076 omp_get_max_task_priority_): New functions.
10077 * libgomp_g.h (GOMP_loop_doacross_static_start,
10078 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
10079 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
10080 GOMP_loop_ull_doacross_dynamic_start,
10081 GOMP_loop_ull_doacross_guided_start,
10082 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
10083 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
10084 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
10085 GOMP_target_data_41, GOMP_target_update_41,
10086 GOMP_target_enter_exit_data): New prototypes.
10087 (GOMP_task): Add prototype argument.
10088 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
10089 (struct gomp_doacross_work_share): New type.
10090 (struct gomp_work_share): Add doacross field.
10091 (struct gomp_task_icv): Rename run_sched_modifier to
10092 run_sched_chunk_size.
10093 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
10094 GOMP_TASK_UNDEFERRED. Add comments.
10095 (struct gomp_task_depend_entry): Add comments.
10096 (struct gomp_task): Likewise.
10097 (struct gomp_taskgroup): Likewise.
10098 (struct gomp_target_task): New type.
10099 (struct gomp_team): Add comment.
10100 (gomp_get_place_proc_ids_8, gomp_doacross_init,
10101 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
10102 gomp_create_target_task, gomp_target_task_fn): New prototypes.
10103 (struct target_var_desc): New type.
10104 (struct target_mem_desc): Adjust comment. Use struct
10105 target_var_desc instead of splay_tree_key for list.
10106 (REFCOUNT_INFINITY): Define.
10107 (struct splay_tree_key_s): Remove copy_from field.
10108 (struct gomp_device_descr): Add dev2dev_func field.
10109 (enum gomp_map_vars_kind): New enum.
10110 (gomp_map_vars): Add one argument.
10111 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
10112 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
10113 omp_get_place_num_procs, omp_get_place_num_procs_,
10114 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
10115 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
10116 omp_get_place_num_, omp_get_partition_num_places,
10117 omp_get_partition_num_places_, omp_get_partition_place_nums,
10118 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
10119 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
10120 omp_target_free, omp_target_is_present, omp_target_memcpy,
10121 omp_target_memcpy_rect, omp_target_associate_ptr and
10122 omp_target_disassociate_ptr.
10123 (GOMP_4.0.2): Renamed to ...
10124 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
10125 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
10126 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
10127 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10128 GOMP_loop_doacross_static_start, GOMP_doacross_post,
10129 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
10130 GOMP_loop_ull_doacross_guided_start,
10131 GOMP_loop_ull_doacross_runtime_start,
10132 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
10133 GOMP_doacross_ull_wait.
10134 * libgomp.texi: Document omp_get_max_task_priority.
10135 Rename modifier argument to chunk_size for omp_set_schedule and
10136 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
10137 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
10138 to run_sched_chunk_size renaming.
10139 (GOMP_loop_ordered_runtime_start): Likewise.
10140 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10141 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10142 GOMP_parallel_loop_runtime_start): New functions.
10143 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
10144 to run_sched_chunk_size renaming.
10145 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
10146 GOMP_loop_doacross_guided_start): New functions or aliases.
10147 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
10148 run_sched_modifier to run_sched_chunk_size renaming.
10149 (GOMP_loop_ull_ordered_runtime_start): Likewise.
10150 (gomp_loop_ull_doacross_static_start,
10151 gomp_loop_ull_doacross_dynamic_start,
10152 gomp_loop_ull_doacross_guided_start,
10153 GOMP_loop_ull_doacross_runtime_start): New functions.
10154 (GOMP_loop_ull_doacross_static_start,
10155 GOMP_loop_ull_doacross_dynamic_start,
10156 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
10157 * oacc-mem.c (acc_map_data, present_create_copy,
10158 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
10159 to gomp_map_vars.
10160 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
10161 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
10162 instead of false to gomp_map_vars.
10163 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
10164 * omp.h.in (omp_lock_hint_t): New type.
10165 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10166 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10167 omp_get_place_num, omp_get_partition_num_places,
10168 omp_get_partition_place_nums, omp_get_initial_device,
10169 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
10170 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
10171 omp_target_associate_ptr, omp_target_disassociate_ptr): New
10172 prototypes.
10173 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
10174 (omp_lock_hint_none, omp_lock_hint_uncontended,
10175 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10176 omp_lock_hint_speculative): New parameters.
10177 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10178 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10179 omp_get_place_num, omp_get_partition_num_places,
10180 omp_get_partition_place_nums, omp_get_initial_device,
10181 omp_get_max_task_priority): New interfaces.
10182 (omp_set_schedule, omp_get_schedule): Rename modifier argument
10183 to chunk_size.
10184 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
10185 (omp_lock_hint_none, omp_lock_hint_uncontended,
10186 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10187 omp_lock_hint_speculative): New parameters.
10188 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10189 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10190 omp_get_place_num, omp_get_partition_num_places,
10191 omp_get_partition_place_nums, omp_get_initial_device,
10192 omp_get_max_task_priority): New functions and subroutines.
10193 * ordered.c: Include stdarg.h and string.h.
10194 (MAX_COLLAPSED_BITS): Define.
10195 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
10196 gomp_doacross_ull_init, GOMP_doacross_ull_post,
10197 GOMP_doacross_ull_wait): New functions.
10198 * target.c: Include errno.h.
10199 (resolve_device): If device is not initialized, call
10200 gomp_init_device on it.
10201 (gomp_map_lookup): New function.
10202 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
10203 Don't bump refcount if REFCOUNT_INFINITY. Handle
10204 GOMP_MAP_ALWAYS_TO_P.
10205 (get_kind): Rename is_openacc argument to short_mapkind.
10206 (gomp_map_pointer): Use gomp_map_lookup.
10207 (gomp_map_fields_existing): New function.
10208 (gomp_map_vars): Rename is_openacc argument to short_mapkind
10209 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
10210 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
10211 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
10212 Adjust for tgt->list changed type and copy_from living in there.
10213 (gomp_copy_from_async): Adjust for tgt->list changed type and
10214 copy_from living in there.
10215 (gomp_unmap_vars): Likewise.
10216 (gomp_update): Likewise. Rename is_openacc argument to
10217 short_mapkind. Don't fail if object is not mapped.
10218 (gomp_load_image_to_device): Initialize refcount to
10219 REFCOUNT_INFINITY.
10220 (gomp_target_fallback): New function.
10221 (gomp_get_target_fn_addr): Likewise.
10222 (GOMP_target): Adjust gomp_map_vars caller, use
10223 gomp_get_target_fn_addr and gomp_target_fallback.
10224 (GOMP_target_41): New function.
10225 (gomp_target_data_fallback): New function.
10226 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
10227 (GOMP_target_data_41): New function.
10228 (GOMP_target_update): Adjust gomp_update caller.
10229 (GOMP_target_update_41): New function.
10230 (gomp_exit_data, GOMP_target_enter_exit_data,
10231 gomp_target_task_fn, omp_target_alloc, omp_target_free,
10232 omp_target_is_present, omp_target_memcpy,
10233 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
10234 omp_target_associate_ptr, omp_target_disassociate_ptr,
10235 gomp_load_plugin_for_device): New functions.
10236 * task.c: Include gomp-constants.h. Include taskloop.c
10237 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
10238 (gomp_task_handle_depend): New function.
10239 (GOMP_task): Use it. Add priority argument. Use
10240 gomp-constant.h constants instead of hardcoded numbers.
10241 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
10242 (gomp_create_target_task): New function.
10243 (verify_children_queue, verify_taskgroup_queue,
10244 verify_task_queue): New functions.
10245 (gomp_task_run_pre): Call verify_*_queue functions.
10246 If an upcoming tied task is about to leave the sibling or
10247 taskgroup queues in an invalid state, adjust appropriately.
10248 Remove taskgroup argument. Add comments.
10249 (gomp_task_run_post_handle_dependers): Add comments.
10250 (gomp_task_run_post_remove_parent): Likewise.
10251 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
10252 (GOMP_taskwait): Likewise. Add comments.
10253 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
10254 problem such that the first non parent_depends_on task does not
10255 end up at the end of the children queue.
10256 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
10257 GOMP_TASK_UNDEFERRED.
10258 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
10259 * taskloop.c: New file.
10260 * testsuite/lib/libgomp.exp
10261 (check_effective_target_offload_device_nonshared_as): New proc.
10262 * testsuite/libgomp.c/affinity-2.c: New test.
10263 * testsuite/libgomp.c/doacross-1.c: New test.
10264 * testsuite/libgomp.c/doacross-2.c: New test.
10265 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
10266 Add map clause to target.
10267 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
10268 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
10269 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
10270 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
10271 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
10272 Likewise.
10273 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
10274 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
10275 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
10276 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
10277 not defined. Use those where needed.
10278 * testsuite/libgomp.c/for-4.c: New test.
10279 * testsuite/libgomp.c/for-5.c: New test.
10280 * testsuite/libgomp.c/for-6.c: New test.
10281 * testsuite/libgomp.c/linear-1.c: New test.
10282 * testsuite/libgomp.c/ordered-4.c: New test.
10283 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
10284 only allowed on the loop iterator.
10285 * testsuite/libgomp.c/pr66199-3.c: New test.
10286 * testsuite/libgomp.c/pr66199-4.c: New test.
10287 * testsuite/libgomp.c/reduction-7.c: New test.
10288 * testsuite/libgomp.c/reduction-8.c: New test.
10289 * testsuite/libgomp.c/reduction-9.c: New test.
10290 * testsuite/libgomp.c/reduction-10.c: New test.
10291 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
10292 map(tofrom:s).
10293 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
10294 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
10295 * testsuite/libgomp.c/target-11.c: New test.
10296 * testsuite/libgomp.c/target-12.c: New test.
10297 * testsuite/libgomp.c/target-13.c: New test.
10298 * testsuite/libgomp.c/target-14.c: New test.
10299 * testsuite/libgomp.c/target-15.c: New test.
10300 * testsuite/libgomp.c/target-16.c: New test.
10301 * testsuite/libgomp.c/target-17.c: New test.
10302 * testsuite/libgomp.c/target-18.c: New test.
10303 * testsuite/libgomp.c/target-19.c: New test.
10304 * testsuite/libgomp.c/target-20.c: New test.
10305 * testsuite/libgomp.c/target-21.c: New test.
10306 * testsuite/libgomp.c/target-22.c: New test.
10307 * testsuite/libgomp.c/target-23.c: New test.
10308 * testsuite/libgomp.c/target-24.c: New test.
10309 * testsuite/libgomp.c/target-25.c: New test.
10310 * testsuite/libgomp.c/target-26.c: New test.
10311 * testsuite/libgomp.c/target-27.c: New test.
10312 * testsuite/libgomp.c/taskloop-1.c: New test.
10313 * testsuite/libgomp.c/taskloop-2.c: New test.
10314 * testsuite/libgomp.c/taskloop-3.c: New test.
10315 * testsuite/libgomp.c/taskloop-4.c: New test.
10316 * testsuite/libgomp.c++/ctor-13.C: New test.
10317 * testsuite/libgomp.c++/doacross-1.C: New test.
10318 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
10319 Replace offload_device with offload_device_nonshared_as.
10320 * testsuite/libgomp.c++/for-12.C: New test.
10321 * testsuite/libgomp.c++/for-13.C: New test.
10322 * testsuite/libgomp.c++/for-14.C: New test.
10323 * testsuite/libgomp.c++/linear-1.C: New test.
10324 * testsuite/libgomp.c++/member-1.C: New test.
10325 * testsuite/libgomp.c++/member-2.C: New test.
10326 * testsuite/libgomp.c++/member-3.C: New test.
10327 * testsuite/libgomp.c++/member-4.C: New test.
10328 * testsuite/libgomp.c++/member-5.C: New test.
10329 * testsuite/libgomp.c++/ordered-1.C: New test.
10330 * testsuite/libgomp.c++/reduction-5.C: New test.
10331 * testsuite/libgomp.c++/reduction-6.C: New test.
10332 * testsuite/libgomp.c++/reduction-7.C: New test.
10333 * testsuite/libgomp.c++/reduction-8.C: New test.
10334 * testsuite/libgomp.c++/reduction-9.C: New test.
10335 * testsuite/libgomp.c++/reduction-10.C: New test.
10336 * testsuite/libgomp.c++/reference-1.C: New test.
10337 * testsuite/libgomp.c++/simd14.C: New test.
10338 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
10339 * testsuite/libgomp.c++/target-5.C: New test.
10340 * testsuite/libgomp.c++/target-6.C: New test.
10341 * testsuite/libgomp.c++/target-7.C: New test.
10342 * testsuite/libgomp.c++/target-8.C: New test.
10343 * testsuite/libgomp.c++/target-9.C: New test.
10344 * testsuite/libgomp.c++/target-10.C: New test.
10345 * testsuite/libgomp.c++/target-11.C: New test.
10346 * testsuite/libgomp.c++/target-12.C: New test.
10347 * testsuite/libgomp.c++/taskloop-1.C: New test.
10348 * testsuite/libgomp.c++/taskloop-2.C: New test.
10349 * testsuite/libgomp.c++/taskloop-3.C: New test.
10350 * testsuite/libgomp.c++/taskloop-4.C: New test.
10351 * testsuite/libgomp.c++/taskloop-5.C: New test.
10352 * testsuite/libgomp.c++/taskloop-6.C: New test.
10353 * testsuite/libgomp.c++/taskloop-7.C: New test.
10354 * testsuite/libgomp.c++/taskloop-8.C: New test.
10355 * testsuite/libgomp.c++/taskloop-9.C: New test.
10356 * testsuite/libgomp.fortran/affinity1.f90: New test.
10357 * testsuite/libgomp.fortran/affinity2.f90: New test.
10358
1f600fea
TV
103592015-10-13 Tom de Vries <tom@codesourcery.com>
10360
10361 PR tree-optimization/67476
10362 * testsuite/libgomp.c/autopar-3.c: New test.
10363 * testsuite/libgomp.c/autopar-4.c: New test.
10364 * testsuite/libgomp.c/autopar-5.c: New test.
10365 * testsuite/libgomp.c/autopar-6.c: New test.
10366 * testsuite/libgomp.c/autopar-7.c: New test.
10367 * testsuite/libgomp.c/autopar-8.c: New test.
10368
058a654b
JN
103692015-10-12 James Norris <jnorris@codesourcery.com>
10370
10371 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
10372 initializer.
10373
9e531d37
DM
103742015-10-09 David Malcolm <dmalcolm@redhat.com>
10375
10376 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
10377 using load_gcc_lib.
10378
113020dc
TS
103792015-10-02 Thomas Schwinge <thomas@codesourcery.com>
10380
10381 * oacc-ptx.h: Remove file, moving its content into...
10382 * config/nvptx/fortran.c: ... here...
10383 * config/nvptx/oacc-init.c: ..., here...
10384 * config/nvptx/oacc-parallel.c: ..., and here.
10385 * config/nvptx/openacc.f90: New file.
10386 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
10387 (link_ptx): Don't link in predefined bits of PTX code.
10388
cc3cd79b
NS
103892015-09-30 Nathan Sidwell <nathan@codesourcery.com>
10390 Bernd Schmidt <bernds@codesourcery.com>
10391
10392 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
10393 (struct targ_ptx_obj): New.
10394 (nvptx_tdata): Move earlier, change data format.
10395 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
10396 objects.
10397 (GOMP_OFFLOAD_load_image): Adjust.
10398
4e2a5450
TS
103992015-09-30 Thomas Schwinge <thomas@codesourcery.com>
10400
10401 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
10402 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10403 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
10404 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
10405 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10406 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10407 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10408 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10409 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10410 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10411 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10412 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
10413 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
10414 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10415 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10416 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10417 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10418 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
10419 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
10420 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
10421 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
10422 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10423 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
10424 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
10425 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
10426 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
10427 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
10428 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
10429 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
10430 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
10431 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
10432 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
10433 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
10434 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
10435 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10436 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
10437 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
10438 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
10439 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
10440 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
10441 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
10442 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
10443 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
10444 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
10445 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
10446 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
10447 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
10448 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
10449 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
10450 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
10451 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
10452 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
10453 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
10454 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
10455 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
10456 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10457 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10458 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10459 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10460 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10461 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10462 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10463 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10464
164453bb
NS
104652015-09-29 Nathan Sidwell <nathan@codesourcery.com>
10466
10467 * oacc-init.c (acc_on_device): Force optimization level.
10468
a12a0437
NS
104692015-09-29 Nathan Sidwell <nathan@codesourcery.com>
10470
10471 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
10472 (cuda_errlist): Delete.
10473 (cuda_error): Reimplement.
10474
3e32ee19
NS
104752015-09-28 Nathan Sidwell <nathan@codesourcery.com>
10476
10477 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
10478 array.
10479 * libgomp.map (GOACC_parallel_keyed): New.
10480 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
10481 all callers.
10482 (GOACC_parallel_keyed): New interface. Lose geometry arguments
10483 and take keyed varargs list. Adjust call to exec_func.
10484 (GOACC_parallel): Force host fallback.
10485 * libgomp_g.h (GOACC_parallel): Remove.
10486 (GOACC_parallel_keyed): Declare.
10487 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 10488 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
10489 (nvptx_exec): Lose separate geometry args, take array. Process
10490 dynamic dimensions and adjust.
10491 (struct nvptx_tdata): Replace fn_names field with fn_descs.
10492 (GOMP_OFFLOAD_load_image): Adjust for change in function table
10493 data.
10494 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
10495 passing.
10496 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
10497 passing.
10498
6bb4c3e2
CLT
104992015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
10500
10501 PR libgomp/67141
10502 * oacc-int.h (goacc_host_init): Add declaration.
10503 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
10504 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
10505
74032f47 105062015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 10507 Sebastian Pop <s.pop@samsung.com>
74032f47 10508
93d90219 10509 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
10510 match o/p.
10511 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
10512 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
10513 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
10514 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
10515 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
10516
97875f4a
JJ
105172015-09-03 Jakub Jelinek <jakub@redhat.com>
10518
10519 * configure.tgt: Add missing ;; in between nvptx and rtems
10520 snippets.
10521
06441dd5
SH
105222015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10523
10524 * config/posix/pool.h (gomp_adjust_thread_attr): New.
10525 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
10526 (gomp_thread_pool_reservoir): Add priority member.
10527 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
10528 priority.
10529 (parse_thread_pools): Likewise.
10530 * team.c (gomp_team_start): Call configuration provided
10531 gomp_adjust_thread_attr(). Destroy thread attributes if
10532 necessary.
10533 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
10534
66c59f92
SH
105352015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10536
10537 * config/posix/pool.h: New.
10538 * config/rtems/pool.h: Likewise.
10539 * config/rtems/proc.c: Likewise.
10540 * libgomp.h (gomp_thread_destructor): Declare.
10541 * team.c: Include configuration provided "pool.h".
10542 (gomp_get_thread_pool): Define in configuration.
10543 (gomp_team_end): Call configuration defined
10544 gomp_release_thread_pool().
10545
13c41b2e
SH
105462015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10547
10548 * config/rtems/bar.c: New.
10549 * config/rtems/bar.h: Likewise.
10550 * config/rtems/mutex.c: Likewise.
10551 * config/rtems/mutex.h: Likewise.
10552 * config/rtems/sem.c: Likewise.
10553 * config/rtems/sem.h: Likewise.
10554 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
10555 <sys/lock.h> header file.
10556 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
10557 supported by Newlib.
10558 * configure: Regenerate.
10559
7892ec67
SH
105602015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10561
10562 * team.c (gomp_new_thread_pool): Delete and move content to ...
10563 (gomp_get_thread_pool): ... new function. Allocate and
10564 initialize thread pool on demand.
10565 (get_last_team): Use gomp_get_thread_pool().
10566 (gomp_team_start): Delete thread pool initialization.
10567
1b96e9a4
TV
105682015-09-03 Tom de Vries <tom@codesourcery.com>
10569
10570 PR tree-optimization/65637
10571 * testsuite/libgomp.c/autopar-2.c: New test.
10572
3ff2d74e
TV
105732015-08-29 Tom de Vries <tom@codesourcery.com>
10574
10575 PR tree-optimization/46193
10576 * testsuite/libgomp.c/pr46193.c: New test.
10577
2a21ff19
NS
105782015-08-24 Nathan Sidwell <nathan@codesourcery.com>
10579
10580 libgomp/
10581 * libgomp.map: Add 4.0.2 version.
10582 * target.c (offload_image_descr): Add version field.
10583 (gomp_load_image_to_device): Add version argument. Adjust plugin
10584 call. Improve load mismatch diagnostic.
10585 (gomp_unload_image_from_device): Add version argument. Adjust plugin
10586 call.
10587 (GOMP_offload_regster): Make stub function, move bulk to ...
10588 (GOMP_offload_register_ver): ... here. Process version argument.
10589 (GOMP_offload_unregister): Make stub function, move bulk to ...
10590 (GOMP_offload_unregister_ver): ... here. Process version argument.
10591 (gomp_init_device): Process version field.
10592 (gomp_unload_device): Process version field.
10593 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
10594 macros. Check plugin version.
10595 * libgomp.h (gomp_device_descr): Add version function field. Adjust
10596 loader and unloader types.
10597 * oacc-host.c: Include gomp-constants.h.
10598 (host_version): New.
10599 (host_load_image, host_unload_image): Adjust.
10600 (host_dispatch): Add host_version.
10601 * plugin/plugin-nvptx.c: Include gomp-constants.h.
10602 (GOMP_OFFLOAD_version): New.
10603 (GOMP_OFFLOAD_load_image): Add version arg and check it.
10604 (GOMP_OFFLOAD_unload_image): Likewise.
10605 * plugin/plugin-host.c: Include gomp-constants.h.
10606 (GOMP_OFFLOAD_version): New.
10607 (GOMP_OFFLOAD_load_image): Add version arg.
10608 (GOMP_OFFLOAD_unload_image): Likewise.
10609
1358a747
TV
106102015-08-24 Tom de Vries <tom@codesourcery.com>
10611
10612 PR tree-optimization/65468
10613 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
10614
6be5c241
TV
106152015-08-24 Tom de Vries <tom@codesourcery.com>
10616
10617 PR tree-optimization/65468
10618 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
10619
bfe7ac89
JV
106202015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
10621
10622 PR libgomp/66761
10623 PR libgomp/67303
10624 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
10625 (gomp_iter_guided_next): Idem.
10626 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
10627 (gomp_iter_ull_guided_next): Idem.
10628 * config/linux/wait.h (do_spin): Idem.
10629
b97e78b7
TS
106302015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10631
10632 * libgomp-plugin.h (enum offload_target_type): Remove
10633 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
10634 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
10635 * openacc.h (enum acc_device_t): Likewise.
10636 * openacc_lib.h: Likewise.
10637 * oacc-init.c (name_of_acc_device_t): Don't handle it.
10638 (acc_on_device): Just use __builtin_acc_on_device.
10639 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
10640 of acc_on_device builtin.
10641 * plugin/plugin-host.h: Remove file.
10642 * plugin/plugin-host.c: Likewise, but salvage some content into...
10643 * oacc-host.c: ... this file.
10644 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
10645 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
10646 * Makefile.in: Regenerate.
10647 * configure: Likewise.
10648 * testsuite/lib/libgomp.exp
10649 (check_effective_target_openacc_host_nonshm_selected): Remove.
10650 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
10651 ACC_DEVICE_TYPE=host_nonshm.
10652 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10653 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10654 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
10655 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
10656 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
10657 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
10658
44a7d18d
TS
106592015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10660 Jakub Jelinek <jakub@redhat.com>
10661
10662 * config/nvptx/affinity.c: New file.
10663 * config/nvptx/alloc.c: Likewise.
10664 * config/nvptx/bar.c: Likewise.
10665 * config/nvptx/barrier.c: Likewise.
10666 * config/nvptx/critical.c: Likewise.
10667 * config/nvptx/env.c: Likewise.
10668 * config/nvptx/error.c: Likewise.
10669 * config/nvptx/fortran.c: Likewise.
10670 * config/nvptx/iter.c: Likewise.
10671 * config/nvptx/iter_ull.c: Likewise.
10672 * config/nvptx/libgomp-plugin.c: Likewise.
10673 * config/nvptx/lock.c: Likewise.
10674 * config/nvptx/loop.c: Likewise.
10675 * config/nvptx/loop_ull.c: Likewise.
10676 * config/nvptx/mutex.c: Likewise.
10677 * config/nvptx/oacc-async.c: Likewise.
10678 * config/nvptx/oacc-cuda.c: Likewise.
10679 * config/nvptx/oacc-host.c: Likewise.
10680 * config/nvptx/oacc-init.c: Likewise.
10681 * config/nvptx/oacc-mem.c: Likewise.
10682 * config/nvptx/oacc-parallel.c: Likewise.
10683 * config/nvptx/oacc-plugin.c: Likewise.
10684 * config/nvptx/omp-lock.h: Likewise.
10685 * config/nvptx/ordered.c: Likewise.
10686 * config/nvptx/parallel.c: Likewise.
10687 * config/nvptx/proc.c: Likewise.
10688 * config/nvptx/ptrlock.c: Likewise.
10689 * config/nvptx/sections.c: Likewise.
10690 * config/nvptx/sem.c: Likewise.
10691 * config/nvptx/single.c: Likewise.
10692 * config/nvptx/splay-tree.c: Likewise.
10693 * config/nvptx/target.c: Likewise.
10694 * config/nvptx/task.c: Likewise.
10695 * config/nvptx/team.c: Likewise.
10696 * config/nvptx/time.c: Likewise.
10697 * config/nvptx/work.c: Likewise.
10698 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
10699 * configure: Regenerate.
10700 * configure.tgt (config_path): Set to "nvptx" for target
10701 nvptx*-*-*.
10702
96a2d174
TS
107032015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10704
10705 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
10706
9ebddeb0
NS
107072015-08-03 Nathan Sidwell <nathan@codesourcery.com>
10708
10709 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
10710 (cuda_errlist): Constify.
10711 (errmsg): Move into ...
10712 (cuda_error): ... here. Make smaller.
10713 (_XSTR, _STR): Delete.
10714 (cuda_synames): Delete.
10715 (verify_device_library): Delete.
10716 (nvptx_init): Don't call it.
10717
12efb1d7
TV
107182015-07-28 Tom de Vries <tom@codesourcery.com>
10719
10720 * testsuite/libgomp.c/uns-outer-4.c: New test.
10721
710ee218
CP
107222015-07-24 Cesar Philippidis <cesar@codesourcery.com>
10723
10724 * testsuite/libgomp.c/pr66714.c: New test.
10725
27c4ac7d
MB
107262015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
10727
10728 PR libgomp/66950
10729 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
10730 (fib_ref): New function.
10731 (fib): Correct corner cases in the recursion.
10732 (main): Replace the non-simd loop with fib_ref call.
10733 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
10734 subroutine.
10735 (fibonacci): Lower the parameter N to 30. Correct accordingly check
10736 for the last array element value. Replace the non-simd loop with
10737 fib_ref call. Remove redundant b_ref array. Remove the comparison
10738 of the last array element with according Fibonacci sequence element.
10739 (fib): Correct corner cases in the recursion.
10740
22be2349
NS
107412015-07-21 Nathan Sidwell <nathan@codesourcery.com>
10742
10743 * target.c (gomp_offload_image_to_device): Rename to ...
10744 (gomp_load_image_to_device): ... here.
10745 (GOMP_offload_register): Adjust call.
10746 (gomp_init_device): Likewise.
10747 (gomp_unload_image_from_device): New. Broken out of ...
10748 (GOMP_offload_unregister): ... here. Call it.
10749 (gomp_unload_device): New.
10750 * libgomp.h (gomp_unload_device): Declare.
10751 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
10752 mem maps.
10753
f3e9a059
NS
107542015-07-20 Nathan Sidwell <nathan@codesourcery.com>
10755
a091118d
NS
10756 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
10757 wait=-specific if.
10758 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
10759 !=0 condition.
10760 (goacc_waits): Move !num_waits handling to ...
10761 (GOACC_wait): ... here, the only caller that might have zero waits.
10762
f3e9a059
NS
10763 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
10764 (struct ptx_image_data): Move earlier, add fns field.
10765 (struct ptx_device): Add images and image_lock fields.
10766 (ptx_images, ptx_image_lock): Delete.
10767 (nvptx_open_device): Initialize images and image_lock fields.
10768 (nvptx_close_device): Destroy image_lock.
10769 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
10770 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
10771 fields.
10772
afb2d80b
NS
107732015-07-17 Nathan Sidwell <nathan@codesourcery.com>
10774
896c28a7
NS
10775 * target.c (GOMP_offload_register): Use int for device type arg.
10776 (GOMP_offload_unregister): Likewise.
10777
ebe4a560
NS
10778 * target.c (struct_offload_image_descr): Constify host_table.
10779 (gomp_offload_image_to_device): Likewise.
10780 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
10781
afb2d80b
NS
10782 * libgomp.h (gomp_device_descr): Constify target data arguments.
10783 * target.c (struct offload_image_descr): Constify target_data.
10784 (gomp_offload_image_to_device): Likewise.
10785 (GOMP_offload_register): Likewise.
93d90219 10786 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
10787 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
10788 GOMP_OFFLOAD_unload_image): Constify target data.
10789 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
10790 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
10791
a4cb876d
NS
107922015-07-16 Nathan Sidwell <nathan@codesourcery.com>
10793
10794 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
10795 Workaround driver library const error.
10796 (struct nvptx_tdata, nvptx_tdata_t): New.
10797 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
10798 type.
10799
28ef6a27
MB
108002015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
10801
10802 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
10803 of EPS parameter from integer to real.
10804 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
10805 type of EPS parameter from integer to real.
10806
6dba0113
SH
108072015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
10808
10809 * team.c (get_last_team): New.
10810 (gomp_new_team): Recycle last non-nested team if possible.
10811 (gomp_team_end): Move team work share list free lock destruction
10812 to ...
10813 (free_team): ... here.
10814
4c1cb4da
MB
108152015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
10816
10817 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
10818 and ref from int to double. Replaced their comparison with
10819 an inequality of their difference and EPS.
10820 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
10821 comparison of pri and a reference number with an inequality of their
10822 difference and EPS.
10823 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
10824 the comparison of sum and sum_ref with an inequality of their
10825 difference and EPS.
10826 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
10827 the comparison of pri and a reference number with an inequality of
10828 their difference and EPS.
10829
343587dc
MB
108302015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
10831
10832 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
10833 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
10834 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
10835 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
10836 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
10837 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
10838 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
10839 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
10840 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
10841 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
10842 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
10843 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
10844 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
10845 variables.
10846 (vec_mult): Likewise. Add #pragma omp taskwait.
10847 (main): Adjust caller.
10848 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
10849 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
10850 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
10851 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
10852 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
10853 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
10854 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
10855 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
10856 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
10857 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
10858 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
10859 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
10860 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
10861 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
10862 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
10863 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
10864 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
10865 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
10866 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
10867 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
10868 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
10869 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
10870 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
10871 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
10872 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
10873 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
10874 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
10875 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
10876 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
10877 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
10878 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
10879 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
10880 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
10881 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
10882 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
10883 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
10884 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
10885 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
10886 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
10887 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
10888 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
10889 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
10890 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
10891 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
10892 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
10893 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
10894 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
10895 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
10896 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
10897 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
10898 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
10899 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
10900 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
10901 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
10902 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
10903 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
10904 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
10905 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
10906 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
10907 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
10908 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
10909 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
10910 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
10911 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
10912 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
10913 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
10914 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
10915 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
10916 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
10917 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
10918 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
10919 (vec_mult): Add !$omp taskwait.
10920 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
10921 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
10922 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
10923 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
10924 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
10925 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
10926 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
10927 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
10928 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
10929 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
10930 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
10931 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
10932 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
10933 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
10934 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
10935 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
10936 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
10937 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
10938 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
10939 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
10940 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
10941 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
10942 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
10943 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
10944 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
10945 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
10946 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
10947 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
10948 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
10949 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
10950 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
10951 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
10952 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
10953 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
10954 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
10955 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
10956 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
10957 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
10958 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
10959 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
10960 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
10961 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
10962 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
10963 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
10964 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
10965 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
10966 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
10967 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
10968 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
10969 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
10970 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
10971 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
10972 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
10973 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
10974 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
10975 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
10976 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
10977 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
10978 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
10979 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
10980 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
10981 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
10982 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
10983 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
10984 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
10985 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
10986 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
10987
9f620bf1
TV
109882015-07-10 Tom de Vries <tom@codesourcery.com>
10989
10990 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
10991 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
10992
a92defda
TS
109932015-07-08 Thomas Schwinge <thomas@codesourcery.com>
10994
10995 PR libgomp/65099
10996 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
10997 in a 64-bit configuration.
10998 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
10999 offloading testing if no such device is available.
11000 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11001 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11002
cadb53a5
TV
110032015-07-08 Tom de Vries <tom@codesourcery.com>
11004
11005 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
11006 second call to f.
11007 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11008
712cb0bb
TV
110092015-07-07 Tom de Vries <tom@codesourcery.com>
11010
11011 PR tree-optimization/66642
11012 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
11013 iteration count case.
11014 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
11015 function, factor out of ...
11016 (main): ... here. Test low iteration count case.
11017
e5210c77
SH
110182015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
11019
11020 * libgomp.h (gomp_thread_pool): Comment last_team field.
11021
f70360e7
UB
110222015-07-02 Uros Bizjak <ubizjak@gmail.com>
11023
11024 * testsuite/libgomp.c++/pr66702-1.C: Require
11025 vect_simd_clones effective target.
11026 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
11027
b451c271
TV
110282015-06-30 Tom de Vries <tom@codesourcery.com>
11029
11030 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11031 already set. Use DEFAULT_CFLAGS in dg-runtest.
11032 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
11033 "-O2".
11034
f8e89d9f
TV
110352015-06-30 Tom de Vries <tom@codesourcery.com>
11036
11037 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11038 already set. Use DEFAULT_CFLAGS in dg-runtest.
11039 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
11040 * testsuite/libgomp.c++/pr64824.C: Same.
11041 * testsuite/libgomp.c++/pr64868.C: Same.
11042 * testsuite/libgomp.c++/pr66199-1.C: Same.
11043 * testsuite/libgomp.c++/pr66199-2.C: Same.
11044 * testsuite/libgomp.c++/target-2.C: Same.
11045 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
11046 -std=<standard> option.
11047 * testsuite/libgomp.c++/udr-11.C: Same.
11048 * testsuite/libgomp.c++/udr-12.C: Same.
11049 * testsuite/libgomp.c++/udr-13.C: Same.
11050 * testsuite/libgomp.c++/udr-14.C: Same.
11051 * testsuite/libgomp.c++/udr-15.C: Same.
11052 * testsuite/libgomp.c++/udr-16.C: Same.
11053 * testsuite/libgomp.c++/udr-17.C: Same.
11054 * testsuite/libgomp.c++/udr-18.C: Same.
11055 * testsuite/libgomp.c++/udr-19.C: Same.
11056 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
11057 * testsuite/libgomp.c++/simd-1.C: Same.
11058 * testsuite/libgomp.c++/simd-2.C: Same.
11059 * testsuite/libgomp.c++/simd-3.C: Same.
11060 * testsuite/libgomp.c++/simd-4.C: Same.
11061 * testsuite/libgomp.c++/simd-5.C: Same.
11062 * testsuite/libgomp.c++/simd-6.C: Same.
11063 * testsuite/libgomp.c++/simd-7.C: Same.
11064 * testsuite/libgomp.c++/simd-8.C: Same.
11065 * testsuite/libgomp.c++/simd-9.C: Same.
11066 * testsuite/libgomp.c++/simd10.C: Same.
11067 * testsuite/libgomp.c++/simd11.C: Same.
11068 * testsuite/libgomp.c++/simd12.C: Same.
11069 * testsuite/libgomp.c++/simd13.C: Same.
11070
3446fe48
JJ
110712015-06-30 Jakub Jelinek <jakub@redhat.com>
11072
11073 PR middle-end/66702
11074 * testsuite/libgomp.c++/pr66702-1.C: New test.
11075 * testsuite/libgomp.c++/pr66702-2.C: New test.
11076
8a36714a
TV
110772015-06-30 Tom de Vries <tom@codesourcery.com>
11078
11079 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
11080 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
11081 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
11082 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
11083
4f75d608
TV
110842015-06-30 Tom de Vries <tom@codesourcery.com>
11085
11086 PR tree-optimization/66652
11087 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
11088 using restrict pointers.
11089 (main): Add arguments to calls to f.
11090 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11091
6d9d1eeb
AT
110922015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
11093
11094 * configure.ac: Fix check for header <sys/sysctl.h>.
11095 * configure: Regenerate.
11096 * config.h.in: Likewise.
11097
1222f22b
TV
110982015-06-23 Tom de Vries <tom@codesourcery.com>
11099
11100 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
11101 abort.
11102 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
11103
d7efbbf6
TS
111042015-06-19 Thomas Schwinge <thomas@codesourcery.com>
11105
bfcd036f
TS
11106 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
11107 acc_device_nvidia.
11108
d7efbbf6
TS
11109 PR libgomp/66518
11110 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
11111 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11112
d7bfc710
TV
111132015-06-15 Tom de Vries <tom@codesourcery.com>
11114
11115 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
11116 dg-additional-options for any remaining options.
11117 * testsuite/libgomp.c/atomic-2.c: Same.
11118 * testsuite/libgomp.c/atomic-4.c: Same.
11119 * testsuite/libgomp.c/atomic-5.c: Same.
11120 * testsuite/libgomp.c/atomic-6.c: Same.
11121 * testsuite/libgomp.c/autopar-1.c: Same.
11122 * testsuite/libgomp.c/copyin-1.c: Same.
11123 * testsuite/libgomp.c/copyin-2.c: Same.
11124 * testsuite/libgomp.c/copyin-3.c: Same.
11125 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
11126 * testsuite/libgomp.c/nestedfn-5.c: Same.
11127 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
11128 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
11129 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
11130 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11131 * testsuite/libgomp.c/pr32362-1.c: Same.
11132 * testsuite/libgomp.c/pr32362-2.c: Same.
11133 * testsuite/libgomp.c/pr32362-3.c: Same.
11134 * testsuite/libgomp.c/pr39591-1.c: Same.
11135 * testsuite/libgomp.c/pr39591-2.c: Same.
11136 * testsuite/libgomp.c/pr39591-3.c: Same.
11137 * testsuite/libgomp.c/pr58392.c: Same.
11138 * testsuite/libgomp.c/pr58756.c: Same.
11139 * testsuite/libgomp.c/simd-1.c: Same.
11140 * testsuite/libgomp.c/simd-10.c: Same.
11141 * testsuite/libgomp.c/simd-11.c: Same.
11142 * testsuite/libgomp.c/simd-12.c: Same.
11143 * testsuite/libgomp.c/simd-13.c: Same.
11144 * testsuite/libgomp.c/simd-14.c: Same.
11145 * testsuite/libgomp.c/simd-15.c: Same.
11146 * testsuite/libgomp.c/simd-2.c: Same.
11147 * testsuite/libgomp.c/simd-3.c: Same.
11148 * testsuite/libgomp.c/simd-4.c: Same.
11149 * testsuite/libgomp.c/simd-5.c: Same.
11150 * testsuite/libgomp.c/simd-6.c: Same.
11151 * testsuite/libgomp.c/simd-7.c: Same.
11152 * testsuite/libgomp.c/simd-8.c: Same.
11153 * testsuite/libgomp.c/simd-9.c: Same.
11154
fb5b5352
TV
111552015-06-15 Tom de Vries <tom@codesourcery.com>
11156
11157 * testsuite/libgomp.c/pr35625.c: Fix typo.
11158
ca431bef
TV
111592015-06-15 Tom de Vries <tom@codesourcery.com>
11160
11161 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
11162 in dg-options.
11163 * testsuite/libgomp.c/atomic-3.c: Same.
11164 * testsuite/libgomp.c/debug-1.c: Same.
11165 * testsuite/libgomp.c/nqueens-1.c: Same.
11166 * testsuite/libgomp.c/pr26171.c: Same.
11167 * testsuite/libgomp.c/pr48591.c: Same.
11168 * testsuite/libgomp.c/pr64824.c: Same.
11169 * testsuite/libgomp.c/pr64868.c: Same.
11170 * testsuite/libgomp.c/pr66133.c: Same.
11171 * testsuite/libgomp.c/pr66199-1.c: Same.
11172 * testsuite/libgomp.c/pr66199-2.c: Same.
11173 * testsuite/libgomp.c/target-8.c: Same.
11174
0d8a9e20
TV
111752015-06-15 Tom de Vries <tom@codesourcery.com>
11176
11177 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
11178 -std={gnu99,c99}.
11179 * testsuite/libgomp.c/for-1.c: Same.
11180 * testsuite/libgomp.c/for-2.c: Same.
11181 * testsuite/libgomp.c/for-3.c: Same.
11182 * testsuite/libgomp.c/pr35625.c: Same.
11183 * testsuite/libgomp.c/pr39154.c: Same.
11184 * testsuite/libgomp.c/simd-16.c: Same.
11185 * testsuite/libgomp.c/simd-17.c: Same.
11186
a6860be9
TV
111872015-06-13 Tom de Vries <tom@codesourcery.com>
11188
11189 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
11190
ab3306d2
TV
111912015-06-13 Tom de Vries <tom@codesourcery.com>
11192
11193 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
11194 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11195 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
11196 (N): Define.
11197 (main): Use N instead of hardcoded constants.
11198
7c82d827
TV
111992015-06-05 Tom de Vries <tom@codesourcery.com>
11200
11201 merge from gomp4 branch:
11202 2015-05-28 Tom de Vries <tom@codesourcery.com>
11203
11204 PR tree-optimization/65443
11205 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
11206 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
11207 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
11208
c469078d
BRF
112092015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
11210
11211 * testsuite/libgomp.graphite/bounds.c: Adjust for
11212 cleanup-tree-dump removal.
11213 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
11214 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
11215 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11216 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
11217 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11218 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
11219 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11220 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11221 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
11222 * testsuite/libgomp.graphite/pr41118.c: Likewise.
11223
bb3caa35
UB
112242015-05-28 Uros Bizjak <ubizjak@gmail.com>
11225
11226 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
11227 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
11228 (futex_wake) [!__x86_64__]: Ditto.
11229
9fb5fd44
JB
112302015-05-28 Julian Brown <julian@codesourcery.com>
11231
11232 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
11233 function comment. Only call gomp_fatal if new argument is true.
11234 (acc_dev_num_out_of_range): New function.
11235 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
11236 acc_dev_num_out_of_range as appropriate.
11237 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
11238 (acc_get_device_num, acc_set_device_num): Update calls to
11239 resolve_device.
9fb5fd44
JB
11240 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
11241 output.
11242
32eaed93
JB
112432015-05-28 Julian Brown <julian@codesourcery.com>
11244
11245 PR libgomp/65742
32eaed93
JB
11246 * oacc-init.c (plugin/plugin-host.h): Include.
11247 (acc_on_device): Check whether we're in an offloaded region for
11248 host_nonshm
11249 plugin. Don't use __builtin_acc_on_device.
11250 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
11251 nonshm_exec flag in thread-local data.
11252 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
11253 data for host_nonshm plugin.
11254 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
11255 for host_nonshm plugin.
11256 * plugin/plugin-host.h: New.
11257
ea023bcf
UB
112582015-05-27 Uros Bizjak <ubizjak@gmail.com>
11259
8ed501f1
UB
11260 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
11261
112622015-05-27 Uros Bizjak <ubizjak@gmail.com>
11263
11264 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
11265 Declare as int.
11266 (FUTEX_PRIVATE_FLAG): Remove L suffix.
11267 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
11268 Declare as int.
11269
112702015-05-27 Uros Bizjak <ubizjak@gmail.com>
11271
bb3caa35 11272 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 11273
1716efeb
CLT
112742015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
11275
11276 * target.c (gomp_map_pointer): New function abstracting out
11277 GOMP_MAP_POINTER handling.
11278 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
11279 gomp_map_pointer().
11280
41b37d5e
JJ
112812015-05-19 Jakub Jelinek <jakub@redhat.com>
11282
11283 PR middle-end/66199
11284 * testsuite/libgomp.c/pr66199-1.c: New test.
11285 * testsuite/libgomp.c/pr66199-2.c: New test.
11286 * testsuite/libgomp.c++/pr66199-1.C: New test.
11287 * testsuite/libgomp.c++/pr66199-2.C: New test.
11288 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
11289 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
11290
c8319826
JB
112912015-05-19 Julian Brown <julian@codesourcery.com>
11292
11293 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
11294 on cuInit failure.
11295
b37dddbc
JJ
112962015-05-13 Jakub Jelinek <jakub@redhat.com>
11297
11298 PR middle-end/66133
11299 * testsuite/libgomp.c/pr66133.c: New test.
11300
55fba601
MH
113012015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
11302
11303 * Makefile.in: Regenerated with automake-1.11.6.
11304 * aclocal.m4: Likewise.
11305 * config.h.in: Likewise.
11306 * configure: Likewise.
11307 * testsuite/Makefile.in: Likewise.
11308
1be0899d
JM
113092015-05-08 Jason Merrill <jason@redhat.com>
11310
11311 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
11312 _Complex.
11313
11314 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
11315
d2463960
JB
113162015-05-06 Julian Brown <julian@codesourcery.com>
11317
11318 * oacc-init.c (acc_device_lock): Add explanatory comment.
11319 (resolve_device): Add comment about locking requirement.
11320 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
11321 gomp_init_device and gomp_fini_device calls.
11322 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
11323 (acc_get_device_num, acc_set_device_num): Add locking around
11324 resolve_device and gomp_init_device calls.
11325
e38fdba4
JB
113262015-05-06 Julian Brown <julian@codesourcery.com>
11327
11328 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
11329 goacc_thread_lock on error paths.
11330 * oacc-mem.c (lookup_host): Remove locking from function. Note
11331 locking requirement for caller in function comment.
11332 (lookup_dev): Likewise.
11333 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
11334 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
11335 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
11336 Add locking.
11337
ae8ffbbb
TS
113382015-05-05 Thomas Schwinge <thomas@codesourcery.com>
11339
11340 PR testsuite/65205
11341 PR libgomp/65993
11342 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
11343 don't expect "0x" prefix for "%p" format specifier, don't expect
11344 "(nil)" for NULL pointer.
11345 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11346 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11347 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11348 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11349 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11350 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11351 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11352 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11353 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11354 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11355 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11356 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11357 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11358 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11359 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11360 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11361 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11362 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11363 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11364 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11365 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11366 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11367 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11368 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11369 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11370 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11371 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11372 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11373 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
11374 accurately specify what we're looking for.
11375 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11376 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11377 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11378 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11379 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11380
1309f1d2
JN
113812015-04-30 James Norris <jnorris@codesourcery.com>
11382
11383 PR testsuite/65205
11384 * testsuite/lib/libgomp.exp
11385 (check_effective_target_openacc_host_selected)
11386 (check_effective_target_openacc_host_nonshm_selected): New
11387 procedures.
11388 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
11389 dg-shouldfail.
11390 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11391 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11392 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11393 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11394 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11395 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11396 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11397 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11398 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11399 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11400 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11401 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11402 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11403 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11404 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11405 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11406 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11407 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11408 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11409 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11410 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11411 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11412 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11413 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11414 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11415 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11416 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11417 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11418 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11419 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11420 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11421 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11422 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11423 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11424 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11425 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11426 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11427 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11428 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11429 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11430 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11431 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11432 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11433
d93bdab5
JB
114342015-04-08 Julian Brown <julian@codesourcery.com>
11435
11436 * libgomp.h (target_mem_desc: Remove mem_map field.
11437 (acc_dispatch_t): Remove open_device_func, close_device_func,
11438 get_device_num_func, set_device_num_func, target_data members.
11439 Change create_thread_data_func argument to device number instead of
11440 generic pointer.
11441 * oacc-async.c (assert.h): Include.
11442 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
11443 (acc_wait_all, acc_wait_all_async): Use current host thread's
11444 active device, not base_dev.
11445 * oacc-cuda.c (acc_get_current_cuda_device)
11446 (acc_get_current_cuda_context, acc_get_cuda_stream)
11447 (acc_set_cuda_stream): Likewise.
11448 * oacc-host.c (host_dispatch): Don't set open_device_func,
11449 close_device_func, get_device_num_func or set_device_num_func.
11450 * oacc-init.c (base_dev, init_key): Remove.
11451 (cached_base_dev): New.
11452 (name_of_acc_device_t): New.
11453 (acc_init_1): Initialise default-numbered device, not zeroth.
11454 (acc_shutdown_1): Close all devices of a given type.
11455 (goacc_destroy_thread): Don't use base_dev.
11456 (lazy_open, lazy_init, lazy_init_and_open): Remove.
11457 (goacc_attach_host_thread_to_device): New.
11458 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
11459 (acc_get_num_devices): Don't use base_dev.
11460 (acc_set_device_type): Reimplement.
11461 (acc_get_device_type): Don't use base_dev.
11462 (acc_get_device_num): Tweak logic.
11463 (acc_set_device_num): Likewise.
11464 (acc_on_device): Use acc_get_device_type.
11465 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
11466 (goacc_lazy_initialize): Reimplement with acc_init and
11467 goacc_attach_host_thread_to_device.
11468 * oacc-int.h (goacc_thread): Add base_dev field.
11469 (base_dev): Remove extern declaration.
11470 (goacc_attach_host_thread_to_device): Add prototype.
11471 * oacc-mem.c (acc_malloc): Use current thread's device instead of
11472 base_dev.
11473 (acc_free): Likewise.
11474 (acc_memcpy_to_device): Likewise.
11475 (acc_memcpy_from_device): Likewise.
11476 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
11477 goacc_lazy_initialize (throughout).
11478 (GOACC_parallel): Use tgt_offset to locate target functions.
11479 * target.c (gomp_map_vars): Don't set tgt->mem_map.
11480 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
11481 (gomp_load_plugin_for_device): Remove open_device, close_device,
11482 get_device_num, set_device_num openacc hook initialisation. Don't set
11483 openacc.target_data.
11484 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
11485 (GOMP_OFFLOAD_openacc_close_device)
11486 (GOMP_OFFLOAD_openacc_get_device_num)
11487 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
11488 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
11489 to int.
11490 * plugin/plugin-nvptx.c (ptx_inited): Remove.
11491 (instantiated_devices, ptx_dev_lock): New.
11492 (struct ptx_image_data): New.
11493 (ptx_devices, ptx_images, ptx_image_lock): New.
11494 (fini_streams_for_device): Reorder cuStreamDestroy call.
11495 (nvptx_get_num_devices): Remove forward declaration.
11496 (nvptx_init): Change return type to bool.
11497 (nvptx_fini): Remove.
11498 (nvptx_attach_host_thread_to_device): New.
11499 (nvptx_open_device): Return struct ptx_device* instead of void*.
11500 (nvptx_close_device): Change argument type to struct ptx_device*,
11501 return type to void.
11502 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
11503 (kernel_target_data, kernel_host_table): Remove static globals.
11504 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
11505 (GOMP_OFFLOAD_init_device): Reimplement.
11506 (GOMP_OFFLOAD_fini_device): Likewise.
11507 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
11508 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
11509 (GOMP_OFFLOAD_host2dev): Use ORD argument.
11510 (GOMP_OFFLOAD_openacc_open_device)
11511 (GOMP_OFFLOAD_openacc_close_device)
11512 (GOMP_OFFLOAD_openacc_set_device_num)
11513 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
11514 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
11515 (device number).
11516
11517 testsuite/
11518 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
11519
a51df54e
IV
115202015-04-06 Ilya Verbin <ilya.verbin@intel.com>
11521
11522 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
11523 * libgomp.h (struct gomp_memory_mapping): Remove.
11524 (struct target_mem_desc): Change type of mem_map from
11525 gomp_memory_mapping * to splay_tree_s *.
11526 (struct gomp_device_descr): Remove register_image_func, get_table_func.
11527 Add load_image_func, unload_image_func.
11528 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
11529 Remove offload_regions_registered.
11530 (gomp_init_tables): Remove.
11531 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
11532 to splay_tree_s *.
11533 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
11534 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
11535 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
11536 offload_regions_registered.
11537 Initialize load_image_func, unload_image_func, mem_map.root.
11538 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
11539 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
11540 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
11541 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
11542 gomp_memory_mapping *. Use dev's lock and splay_tree.
11543 (lookup_dev): Use dev's lock.
11544 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
11545 (acc_is_present): Likewise.
11546 (acc_map_data): Likewise.
11547 (acc_unmap_data): Likewise. Use dev's lock.
11548 (present_create_copy): Likewise.
11549 (delete_copyout): Pass dev to lookup_host instead of mem_map.
11550 (update_dev_host): Likewise.
11551 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
11552 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
11553 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
11554 (GOMP_OFFLOAD_get_table): Remove
11555 (GOMP_OFFLOAD_load_image): New function.
11556 (GOMP_OFFLOAD_unload_image): New function.
11557 * target.c (register_lock): New mutex for offload image registration.
11558 (num_devices): Do not guard with PLUGIN_SUPPORT.
11559 (gomp_realloc_unlock): New static function.
11560 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
11561 before gomp_fatal.
11562 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
11563 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
11564 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
11565 mem_map's.
11566 (gomp_unmap_vars): Likewise.
11567 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
11568 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
11569 (gomp_offload_image_to_device): New static function.
11570 (GOMP_offload_register): Add mutex lock.
11571 Call gomp_offload_image_to_device for all initialized devices.
11572 Replace gomp_realloc with gomp_realloc_unlock.
11573 (GOMP_offload_unregister): New function.
11574 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
11575 get_table_func from the plugin with calls to init_device_func and
11576 gomp_offload_image_to_device.
11577 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
11578 to splay_tree_s *.
11579 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
11580 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
11581 (GOMP_target_data): Do not call gomp_init_tables.
11582 (GOMP_target_update): Likewise. Remove argument from gomp_update.
11583 (gomp_load_plugin_for_device): Replace register_image and get_table
11584 with load_image and unload_image in DLSYM ().
11585 (gomp_register_images_for_device): Remove function.
11586 (gomp_target_init): Do not initialize current_device.mem_map.*,
11587 current_device.offload_regions_registered.
11588 Remove call to gomp_register_images_for_device.
11589 Do not free offload_images and num_offload_images.
11590
6c384511
JJ
115912015-03-30 Jakub Jelinek <jakub@redhat.com>
11592
11593 PR fortran/65597
11594 * testsuite/libgomp.fortran/pr65597.f90: New test.
11595
3e8165a5
TV
115962015-03-27 Tom de Vries <tom@codesourcery.com>
11597
11598 PR testsuite/65594
11599 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
11600 (init, check): New function.
11601 (foo): Change return type to void.
11602 (main): Call init and check.
11603
4d688c9a
TV
116042015-03-27 Tom de Vries <tom@codesourcery.com>
11605
11606 PR testsuite/65594
11607 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
11608 (foo): Use M for non-inner loops to scale down test-case.
11609
01c0b3b0
KT
116102015-03-25 Kai Tietz <ktietz@redhat.com>
11611
11612 PR libgomp/64972
11613 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
11614 (GOACC_data_start): Likewise.
11615 * target.c (gomp_map_vars): Likewise.
11616
844d9a76
JDA
116172015-03-21 John David Anglin <danglin@gcc.gnu.org>
11618
11619 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
11620 hppa*-*-hpux*.
11621
9b65e171
JJ
116222015-03-19 Jakub Jelinek <jakub@redhat.com>
11623
11624 * testsuite/libgomp.c/target-10.c: New test.
11625 * testsuite/libgomp.c++/target-4.C: New test.
11626
db397e2e
IV
116272015-03-13 Ilya Verbin <ilya.verbin@intel.com>
11628
11629 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
11630 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
11631
cd93945d
SH
116322015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
11633
11634 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
11635 * configure.ac (*-*-rtems*): Assume Pthread is supported.
11636 (pthread.h): Check for this header file.
11637 * configure: Regenerate.
11638
05deba9f
TV
116392015-02-25 Tom de Vries <tom@codesourcery.com>
11640
11641 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
11642 (check_reduction_op, check_reduction_macro, max, min):
11643 Declare.
11644 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
11645 function.
11646 (main): Use new functions.
11647
196904d8
IT
116482015-02-18 Ilya Tocar <ilya.tocar@intel.com>
11649
11650 * target.c (gomp_load_plugin_for_device): Use const char * instead of
11651 char * for variables holding dlerror return values.
11652 (DLSYM_OPT): Ditto.
11653
a2818955
TS
116542015-02-17 Thomas Schwinge <thomas@codesourcery.com>
11655
11656 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
11657
26f93312
TS
116582015-02-17 Thomas Schwinge <thomas@codesourcery.com>
11659 Cesar Philippidis <cesar@codesourcery.com>
11660
11661 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
11662 GOACC_ctaid, and GOACC_nctaid routines.
11663
fa01ffcc
JJ
116642015-02-11 Jakub Jelinek <jakub@redhat.com>
11665
11666 PR c/64824
11667 * testsuite/libgomp.c/atomic-18.c: New test.
11668 * testsuite/libgomp.c++/atomic-16.C: New test.
11669
4886ec8e
JJ
116702015-02-04 Jakub Jelinek <jakub@redhat.com>
11671
11672 PR c/64824
11673 PR c/64868
11674 * testsuite/libgomp.c/pr64824.c: New test.
11675 * testsuite/libgomp.c/pr64868.c: New test.
11676 * testsuite/libgomp.c++/pr64824.C: New test.
11677 * testsuite/libgomp.c++/pr64868.C: New test.
11678
02d3e45e
DE
116792015-02-01 David Edelsohn <dje.gcc@gmail.com>
11680
11681 PR libgomp/64635
11682 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
11683 Link with -lpthread.
11684 * config/aix/plugin-suffix.h: Delete.
11685
b5f7a6ca
JH
116862015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
11687
11688 PR libgomp/64635
11689 * configure.tgt (*-*-aix*): Use config_path "aix posix".
11690 (*-*-darwin*): Use config_path "bsd darwin posix".
11691 (*-*-hpux*): Use config_path "hpux posix".
11692 * target.c: Add include of plugin-suffix.h and use
11693 SONAME_SUFFIX macro.
11694 * config/aix/plugin-suffix.h: New file.
11695 * config/darwin/plugin-suffix.h: New file.
11696 * config/hpux/plugin-suffix.h: New file.
11697 * config/posix/plugin-suffix.h: New file.
11698
b8910447
JJ
116992015-01-23 Jakub Jelinek <jakub@redhat.com>
11700
11701 PR middle-end/64734
11702 * libgomp.c/pr64734.c: New test.
11703
a0c88d06
TV
117042015-01-23 Tom de Vries <tom@codesourcery.com>
11705
11706 PR libgomp/64672
11707 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
11708
1506ae0e
TV
117092015-01-23 Tom de Vries <tom@codesourcery.com>
11710
11711 PR libgomp/64707
11712 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
11713 dg-options.
11714
128b26dc
TS
117152015-01-19 Thomas Schwinge <thomas@codesourcery.com>
11716
bed62c21 11717 PR libgomp/64625
128b26dc
TS
11718 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
11719 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
11720 formal parameter. Update all users.
11721 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
11722 Document unused formal parameter.
11723
6e36114c
TS
117242015-01-16 Thomas Schwinge <thomas@codesourcery.com>
11725
11726 * oacc-parallel.c: Don't include <alloca.h>.
11727 (GOACC_parallel): Use gomp_alloca instead of alloca.
11728
973e9808
GP
117292015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
11730
11731 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
11732
41dbbb37
TS
117332015-01-15 Thomas Schwinge <thomas@codesourcery.com>
11734 James Norris <jnorris@codesourcery.com>
11735 Tom de Vries <tom@codesourcery.com>
11736 Julian Brown <julian@codesourcery.com>
11737 Cesar Philippidis <cesar@codesourcery.com>
11738 Nathan Sidwell <nathan@codesourcery.com>
11739 Tobias Burnus <burnus@net-b.de>
11740
11741 * Makefile.am (search_path): Add $(top_srcdir)/../include.
11742 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
11743 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
11744 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
11745 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
11746 Include $(top_srcdir)/plugin/Makefrag.am.
11747 (nodist_libsubinclude_HEADERS): Add openacc.h.
11748 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
11749 openacc.f90, openacc.mod, openacc_kinds.mod.
11750 (omp_lib.mod): Generalize into...
11751 (%.mod): ... this new rule.
11752 (openacc_kinds.mod, openacc.mod): New rules.
11753 * plugin/configfrag.ac: New file.
11754 * configure.ac: Move plugin/offloading support into it. Include
11755 it. Instantiate testsuite/libgomp-test-support.pt.exp.
11756 * plugin/Makefrag.am: New file.
11757 * testsuite/Makefile.am (OFFLOAD_TARGETS)
11758 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
11759 export.
11760 (libgomp-test-support.exp): New rule.
11761 (all-local): Depend on it.
11762 * Makefile.in: Regenerate.
11763 * testsuite/Makefile.in: Regenerate.
11764 * config.h.in: Likewise.
11765 * configure: Likewise.
11766 * configure.tgt: Harden shell syntax.
11767 * env.c: Include "oacc-int.h".
11768 (parse_acc_device_type): New function.
11769 (gomp_debug_var, goacc_device_type, goacc_device_num): New
11770 variables.
11771 (initialize_env): Initialize those. Call
11772 goacc_runtime_initialize.
11773 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
11774 (gomp_fatal): Call gomp_vfatal.
11775 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
11776 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
11777 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
11778 (splay_tree_node, splay_tree, splay_tree_key)
11779 (struct target_mem_desc, struct splay_tree_key_s)
11780 (struct gomp_memory_mapping, struct acc_dispatch_t)
11781 (struct gomp_device_descr, gomp_acc_insert_pointer)
11782 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
11783 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
11784 (gomp_free_memmap, gomp_fini_device): New declarations.
11785 (gomp_vdebug, gomp_debug): New macros.
11786 Include "splay-tree.h".
11787 * libgomp.map (OACC_2.0): New symbol version. Use for
11788 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
11789 acc_set_device_type_h_, acc_get_device_type,
11790 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
11791 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
11792 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
11793 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
11794 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
11795 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
11796 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
11797 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
11798 acc_copyin_array_h_, acc_present_or_copyin,
11799 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
11800 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
11801 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
11802 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
11803 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
11804 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
11805 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
11806 acc_update_device, acc_update_device_32_h_,
11807 acc_update_device_64_h_, acc_update_device_array_h_,
11808 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
11809 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
11810 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
11811 acc_is_present_64_h_, acc_is_present_array_h_,
11812 acc_memcpy_to_device, acc_memcpy_from_device,
11813 acc_get_current_cuda_device, acc_get_current_cuda_context,
11814 acc_get_cuda_stream, acc_set_cuda_stream.
11815 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
11816 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
11817 GOACC_update, GOACC_wait, GOACC_get_thread_num,
11818 GOACC_get_num_threads.
11819 (GOMP_PLUGIN_1.0): New symbol version. Use for
11820 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
11821 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
11822 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
11823 GOMP_PLUGIN_acc_thread.
11824 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
11825 environment variable.
11826 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
11827 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
11828 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
11829 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
11830 (splay_tree_remove): New declarations.
11831 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
11832 (splay_tree_remove, splay_tree_lookup): Move into...
11833 * splay-tree.c: ... this new file.
11834 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
11835 (splay_tree_node, splay_tree, splay_tree_key)
11836 (struct target_mem_desc, struct splay_tree_key_s)
11837 (struct gomp_device_descr): Don't declare.
11838 (num_devices_openmp): New variable.
11839 (gomp_get_num_devices ): Use it.
11840 (gomp_init_targets_once): New function.
11841 (gomp_get_num_devices ): Use it.
11842 (get_kind, gomp_copy_from_async, gomp_free_memmap)
11843 (gomp_fini_device, gomp_register_image_for_device): New functions.
11844 (gomp_map_vars): Add devaddrs parameter.
11845 (gomp_update): Add mm parameter.
11846 (gomp_init_device): Move most of it into...
11847 (gomp_init_tables): ... this new function.
11848 (gomp_register_images_for_device): Remove function.
11849 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
11850 Make them hidden instead of static.
11851 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
11852 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
11853 (GOMP_target_end_data, GOMP_target_update)
11854 (gomp_load_plugin_for_device, gomp_target_init): Update for
11855 OpenACC changes.
11856 * oacc-async.c: New file.
11857 * oacc-cuda.c: Likewise.
11858 * oacc-host.c: Likewise.
11859 * oacc-init.c: Likewise.
11860 * oacc-int.h: Likewise.
11861 * oacc-mem.c: Likewise.
11862 * oacc-parallel.c: Likewise.
11863 * oacc-plugin.c: Likewise.
11864 * oacc-plugin.h: Likewise.
11865 * oacc-ptx.h: Likewise.
11866 * openacc.f90: Likewise.
11867 * openacc.h: Likewise.
11868 * openacc_lib.h: Likewise.
11869 * plugin/plugin-host.c: Likewise.
11870 * plugin/plugin-nvptx.c: Likewise.
11871 * libgomp-plugin.c: Likewise.
11872 * libgomp-plugin.h: Likewise.
11873 * libgomp_target.h: Remove file after merging content into the
11874 former file. Update all users.
11875 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
11876 (offload_targets_s, offload_targets_s_openacc): New variables.
11877 (check_effective_target_openacc_nvidia_accel_present)
11878 (check_effective_target_openacc_nvidia_accel_selected): New
11879 procedures.
11880 (libgomp_init): Update for OpenACC changes.
11881 * testsuite/libgomp-test-support.exp.in: New file.
11882 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
11883 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11884 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11885 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
11886 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
11887 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11888 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
11889 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11890 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
11891 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
11892 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
11893 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11894 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
11895 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
11896 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
11897 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
11898 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
11899 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
11900 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
11901 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
11902 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
11903 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
11904 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
11905 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11906 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11907 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11908 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11909 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11910 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11911 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11912 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11913 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
11914 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
11915 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
11916 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
11917 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11918 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
11919 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11920 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
11921 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
11922 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
11923 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
11924 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11925 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11926 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11927 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
11928 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11929 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11930 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11931 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11932 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11933 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
11934 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11935 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11936 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11937 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11938 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11939 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11940 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11941 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
11942 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11943 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
11944 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11945 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11946 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11947 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
11948 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
11949 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11950 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11951 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11952 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
11953 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11954 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11955 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11956 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
11957 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
11958 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11959 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11960 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
11961 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
11962 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
11963 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
11964 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11965 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11966 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11967 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
11968 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
11969 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11970 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11971 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
11972 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
11973 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
11974 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
11975 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11976 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11977 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11978 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11979 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
11980 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11981 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11982 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
11983 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
11984 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
11985 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11986 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
11987 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
11988 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
11989 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
11990 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
11991 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11992 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
11993 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
11994 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11995 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
11996 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
11997 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11998 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
11999 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
12000 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
12001 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
12002 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
12003 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
12004 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
12005 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
12006 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
12007 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
12008 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
12009 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
12010 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
12011 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
12012 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
12013 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
12014 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12015 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
12016 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
12017 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12018 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12019 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12020 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12021 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
12022 Likewise.
12023 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
12024 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
12025 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
12026 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12027 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
12028 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12029 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12030 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12031 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12032 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12033 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12034 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12035 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12036 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12037 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12038 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12039 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12040 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12041 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12042 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12043 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12044 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12045 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12046 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12047 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12048 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12049 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12050 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12051 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
12052 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
12053 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
12054 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
12055 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
12056 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12057 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12058 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12059 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12060 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12061 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12062 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12063 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12064 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12065 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12066 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12067 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12068 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12069 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12070 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12071 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12072 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12073 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12074 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12075 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12076 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12077 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12078 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12079 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12080 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12081 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12082 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12083
f1f3453e
TS
120842015-01-10 Thomas Schwinge <thomas@codesourcery.com>
12085 Julian Brown <julian@codesourcery.com>
12086 David Malcolm <dmalcolm@redhat.com>
12087
12088 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
12089 to "GNU Offloading and Multi Processing Runtime Library". Change
12090 all users.
12091 * configure: Regenerate.
12092 * libgomp.texi: Update.
12093
f9a0eca4
TS
120942015-01-08 Thomas Schwinge <thomas@codesourcery.com>
12095
b335ef4e
TS
12096 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
12097 "$tgt_dir/lib32".
12098 * configure: Regenerate.
12099
f9a0eca4
TS
12100 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
12101 "intelmic" in $offload_targets.
12102
b67cd4e3
JJ
121032015-01-05 Jakub Jelinek <jakub@redhat.com>
12104
5624e564
JJ
12105 Update copyright years.
12106
b67cd4e3
JJ
12107 * libgomp.texi: Bump @copying's copyright year.
12108
3b41b583
KT
121092014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12110
12111 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 12112 Move load of target-supports.exp earlier.
3b41b583 12113
2354caec
IV
121142014-12-10 Ilya Verbin <ilya.verbin@intel.com>
12115
12116 * testsuite/libgomp.c/target-9.c: New test.
12117
f50eecba
VR
121182014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
12119
12120 * config.h.in: Regenerate.
12121 * configure: Regenerate.
12122 * configure.ac: Add GCC_CHECK_EMUTLS.
12123 * libgomp.h: Add check for USE_EMUTLS: this case
12124 is equal to HAVE_TLS.
12125 * team.c: Likewise.
12126
68bc9270
UB
121272014-12-03 Uros Bizjak <ubizjak@gmail.com>
12128
12129 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
12130
476ff787
AT
121312014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
12132 Ilya Verbin <ilya.verbin@intel.com>
12133
12134 * testsuite/libgomp.c/target-critical-1.c: New test.
12135
31a30e62
JJ
121362014-11-26 Jakub Jelinek <jakub@redhat.com>
12137
12138 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 12139 to dg-options unless expensive testing is on.
31a30e62
JJ
12140 (TESTITERS): Define to N if not defined.
12141 (main): Use TESTITERS instead of N.
12142 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
12143 dg-additional-options depending on whether expensive testing is on.
12144 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
12145 Decrease N to 100000 and CHUNKSZ to 10000.
12146
3f9e8f13
JJ
121472014-11-24 Jakub Jelinek <jakub@redhat.com>
12148
12149 PR fortran/63938
31a30e62
JJ
12150 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
12151 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 12152
c8451a46
SE
121532014-11-21 Steve Ellcey <sellcey@imgtec.com>
12154
12155 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
12156
a699d672
L
121572014-11-21 H.J. Lu <hongjiu.lu@intel.com>
12158
12159 PR bootstrap/63784
12160 * configure: Regenerated.
12161
4a19f719
UB
121622014-11-19 Uros Bizjak <ubizjak@gmail.com>
12163
12164 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
12165 vect_simd_clones effective target.
12166 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12167
b1bf6c52
JJ
121682014-11-14 Jakub Jelinek <jakub@redhat.com>
12169
12170 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
12171 of 32 as block_size.
12172 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
12173 instead of 32 as block_size.
12174
d64ae614
AT
121752014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
12176 Ilya Verbin <ilya.verbin@intel.com>
12177
12178 * Makefile.in: Regenerate.
12179 * configure: Regenerate.
12180 * configure.ac: Set up offload_additional_options,
12181 offload_additional_lib_paths and offload_targets.
12182 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
12183 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
12184 * testsuite/Makefile.in: Regenerate.
12185 * testsuite/lib/libgomp.exp (libgomp_init): Append
12186 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
12187 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
12188 build directory to LD_LIBRARY_PATH for intelmic offload targets.
12189
122d7303
AT
121902014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
12191 Ilya Verbin <ilya.verbin@intel.com>
12192 Kirill Yukhin <kirill.yukhin@intel.com>
12193 Ilya Tocar <ilya.tocar@intel.com>
12194
12195 * testsuite/lib/libgomp.exp
12196 (check_effective_target_offload_device): New.
12197 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
12198 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
12199 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
12200 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
12201 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
12202 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
12203 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
12204 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
12205 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
12206 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
12207 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
12208 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
12209 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
12210 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
12211 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
12212 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
12213 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
12214 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
12215 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
12216 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
12217 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
12218 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
12219 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
12220 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
12221 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
12222 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
12223 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
12224 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
12225 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
12226 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
12227 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
12228 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
12229 * testsuite/libgomp.c/target-7.c: Fix test.
12230 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
12231 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
12232 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
12233 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
12234 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
12235 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
12236 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
12237 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
12238 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
12239 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
12240 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
12241 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
12242 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
12243 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
12244 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
12245 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
12246 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
12247 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
12248 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12249 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
12250 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
12251 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
12252 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
12253 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
12254 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
12255 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
12256 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
12257 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
12258 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
12259 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
12260 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
12261
1df3f842
JJ
122622014-11-13 Jakub Jelinek <jakub@redhat.com>
12263 Ilya Verbin <ilya.verbin@intel.com>
12264 Thomas Schwinge <thomas@codesourcery.com>
12265 Andrey Turetskiy <andrey.turetskiy@intel.com>
12266
12267 * libgomp.map (GOMP_4.0.1): New symbol version.
12268 Add GOMP_offload_register.
12269 * libgomp_target.h: New file.
12270 * splay-tree.h: New file.
12271 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
12272 (gomp_target_init): New forward declaration.
12273 (gomp_is_initialized): New static variable.
12274 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
12275 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
12276 New structures.
12277 (offload_images, num_offload_images, devices, num_devices): New static
12278 variables.
12279 (splay_compare): New static function.
12280 (struct gomp_device_descr): New structure.
12281 (gomp_get_num_devices): Call gomp_target_init.
12282 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
12283 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
12284 (GOMP_offload_register): New function.
12285 (GOMP_target): Arrange for host callback to be performed in a separate
12286 initial thread and contention group, inheriting ICVs from
12287 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
12288 Add device initialization and lookup for target function in splay tree.
12289 (GOMP_target_data): Add device initialization and call gomp_map_vars.
12290 (GOMP_target_end_data): Call gomp_unmap_vars.
12291 (GOMP_target_update): Add device initialization and call gomp_update.
12292 (gomp_load_plugin_for_device, gomp_register_images_for_device)
12293 (gomp_target_init): New static functions.
12294
85c64bbe
BS
122952014-11-13 Bernd Schmidt <bernds@codesourcery.com>
12296 Thomas Schwinge <thomas@codesourcery.com>
12297 Ilya Verbin <ilya.verbin@intel.com>
12298 Andrey Turetskiy <andrey.turetskiy@intel.com>
12299
12300 * config.h.in: Regenerate.
12301 * configure: Regenerate.
12302 * configure.ac: Check for libdl, required for plugin support.
12303 (PLUGIN_SUPPORT): Define if plugins are supported.
12304 (enable_offload_targets): Support Intel MIC targets.
12305 (OFFLOAD_TARGETS): List of target names suitable for offloading.
12306
ebf6d33b
FXC
123072014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12308
12309 PR target/63610
12310 * configure: Regenerate.
12311
8c768629
RO
123122014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12313
12314 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
12315
c1d62412
MP
123162014-10-06 Marek Polacek <polacek@redhat.com>
12317
12318 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
12319 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
12320 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
12321 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
12322
44a0c6cb
MP
123232014-10-06 Marek Polacek <polacek@redhat.com>
12324
12325 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
12326 * testsuite/libgomp.c/nqueens-1.c: Likewise.
12327 * testsuite/libgomp.c/pr26943-3.c: Likewise.
12328 * testsuite/libgomp.c/pr26943-4.c: Likewise.
12329 * testsuite/libgomp.c/pr36802-2.c: Likewise.
12330 * testsuite/libgomp.c/pr36802-3.c: Likewise.
12331 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
12332 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
12333 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
12334 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
12335 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
12336 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
12337 * testsuite/libgomp.c/omp-single-1.c: Likewise.
12338 * testsuite/libgomp.c/omp-single-2.c: Likewise.
12339 * testsuite/libgomp.c/omp_matvec.c: Likewise.
12340 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
12341 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
12342 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
12343 declarations.
12344
5771c391
JJ
123452014-10-03 Jakub Jelinek <jakub@redhat.com>
12346
12347 PR libgomp/61200
12348 * testsuite/libgomp.c/pr61200.c: New test.
12349
bce16b88
JJ
123502014-09-18 Jakub Jelinek <jakub@redhat.com>
12351
12352 PR c++/63248
12353 * testsuite/libgomp.c++/pr63248.C: New test.
12354
3696163c
JJ
123552014-08-04 Jakub Jelinek <jakub@redhat.com>
12356
12357 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
12358 is not zero, but taskgroup->children is NULL and there are
12359 any task->children, schedule those instead of waiting.
12360 * testsuite/libgomp.c/depend-6.c: New test.
12361 * testsuite/libgomp.c/depend-7.c: New test.
12362 * testsuite/libgomp.c/depend-8.c: New test.
12363 * testsuite/libgomp.c/depend-9.c: New test.
12364 * testsuite/libgomp.c/depend-10.c: New test.
12365
0494285a
JJ
123662014-08-01 Jakub Jelinek <jakub@redhat.com>
12367
12368 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
12369 (struct gomp_taskwait): New type.
12370 (struct gomp_task): Add taskwait and parent_depends_on, remove
12371 in_taskwait and taskwait_sem fields.
12372 (gomp_finish_task): Don't destroy taskwait_sem.
12373 * task.c (gomp_init_task): Don't init in_taskwait, instead init
12374 taskwait and parent_depends_on.
12375 (GOMP_task): For if (0) tasks with depend clause that depend on
12376 earlier tasks don't defer them, instead call
12377 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
12378 Initialize redundant_out field, for redundant out entries just
12379 move them at the end of linked list instead of removing them
12380 completely, and set redundant_out flag instead of redundant.
12381 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
12382 that task.
12383 (gomp_task_run_post_handle_dependers): If parent is in
12384 gomp_task_maybe_wait_for_dependencies and newly runnable task
12385 is not parent_depends_on, queue it in parent->children linked
12386 list after all runnable tasks with parent_depends_on set.
12387 Adjust for addition of taskwait indirection.
12388 (gomp_task_run_post_remove_parent): If parent is in
12389 gomp_task_maybe_wait_for_dependencies and task to be removed
12390 is parent_depends_on, decrement n_depend and if needed awake
12391 parent. Adjust for addition of taskwait indirection.
12392 (GOMP_taskwait): Adjust for addition of taskwait indirection.
12393 (gomp_task_maybe_wait_for_dependencies): New function.
12394 * testsuite/libgomp.c/depend-5.c: New test.
12395
60ab4b44
TB
123962014-07-13 Tobias Burnus <burnus@net-b.de>
12397
12398 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 12399 with TS 18508/Fortran 2015.
60ab4b44 12400
773ec47f
MP
124012014-07-06 Marek Polacek <polacek@redhat.com>
12402
12403 PR c/6940
12404 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
12405
f707da16
JJ
124062014-07-03 Jakub Jelinek <jakub@redhat.com>
12407
12408 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
12409 matches regex $lang_source_re, add $lang_include_flags to options.
12410 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
12411 * testsuite/libgomp.c++/c++.exp: Likewise.
12412 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
12413 and lang_include_flags instead of adding -fintrinsic-modules-path= to
12414 ALWAYS_CFLAGS.
12415 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
12416
07b6c044
TS
124172014-07-03 Thomas Schwinge <thomas@codesourcery.com>
12418
12419 * testsuite/libgomp.fortran/fortran.exp: Explain
12420 gfortran-dg-runtest usage.
12421
da6f124d
JJ
124222014-06-25 Jakub Jelinek <jakub@redhat.com>
12423
12424 * testsuite/libgomp.fortran/simd5.f90: New test.
12425 * testsuite/libgomp.fortran/simd6.f90: New test.
12426 * testsuite/libgomp.fortran/simd7.f90: New test.
12427
b46ebd6c
JJ
124282014-06-24 Jakub Jelinek <jakub@redhat.com>
12429
56ad0e38
JJ
12430 * testsuite/libgomp.c/for-2.c: Define SC to static for
12431 #pragma omp for simd testing.
12432 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
12433 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
12434 SC macro.
12435 * testsuite/libgomp.c/simd-14.c: New test.
12436 * testsuite/libgomp.c/simd-15.c: New test.
12437 * testsuite/libgomp.c/simd-16.c: New test.
12438 * testsuite/libgomp.c/simd-17.c: New test.
12439 * testsuite/libgomp.c++/for-10.C: Define SC to static for
12440 #pragma omp for simd testing.
12441 * testsuite/libgomp.c++/simd10.C: New test.
12442 * testsuite/libgomp.c++/simd11.C: New test.
12443 * testsuite/libgomp.c++/simd12.C: New test.
12444 * testsuite/libgomp.c++/simd13.C: New test.
12445
b46ebd6c
JJ
12446 * testsuite/libgomp.fortran/aligned1.f03: New test.
12447 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
12448 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
12449 tasks with !$omp parallel !$omp single.
12450 * testsuite/libgomp.fortran/target8.f90: New test.
12451 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
12452 not to use trim in the combiner, instead call elemental function.
12453 (fn): New elemental function.
12454 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
12455 Make elemental.
12456 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
12457 omp_in): Likewise.
12458 * testsuite/libgomp.fortran/udr12.f90: New test.
12459 * testsuite/libgomp.fortran/udr13.f90: New test.
12460 * testsuite/libgomp.fortran/udr14.f90: New test.
12461 * testsuite/libgomp.fortran/udr15.f90: New test.
12462
f014c653
JJ
124632014-06-18 Jakub Jelinek <jakub@redhat.com>
12464
12465 * omp_lib.f90.in (openmp_version): Set to 201307.
12466 * omp_lib.h.in (openmp_version): Likewise.
12467 * testsuite/libgomp.c/target-8.c: New test.
12468 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
12469 and inbranch clauses.
12470 * testsuite/libgomp.fortran/depend-3.f90: New test.
12471 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
12472 openmp_version.
12473 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12474 * testsuite/libgomp.fortran/target1.f90: New test.
12475 * testsuite/libgomp.fortran/target2.f90: New test.
12476 * testsuite/libgomp.fortran/target3.f90: New test.
12477 * testsuite/libgomp.fortran/target4.f90: New test.
12478 * testsuite/libgomp.fortran/target5.f90: New test.
12479 * testsuite/libgomp.fortran/target6.f90: New test.
12480 * testsuite/libgomp.fortran/target7.f90: New test.
12481
92d28cbb
JJ
124822014-06-10 Jakub Jelinek <jakub@redhat.com>
12483
12484 PR fortran/60928
12485 * testsuite/libgomp.fortran/allocatable9.f90: New test.
12486 * testsuite/libgomp.fortran/allocatable10.f90: New test.
12487 * testsuite/libgomp.fortran/allocatable11.f90: New test.
12488 * testsuite/libgomp.fortran/allocatable12.f90: New test.
12489 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
12490 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
12491 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
12492 * testsuite/libgomp.fortran/associate1.f90: New test.
12493 * testsuite/libgomp.fortran/associate2.f90: New test.
12494 * testsuite/libgomp.fortran/procptr1.f90: New test.
12495
5f23671d
JJ
124962014-06-06 Jakub Jelinek <jakub@redhat.com>
12497
12498 * testsuite/libgomp.fortran/simd1.f90: New test.
12499 * testsuite/libgomp.fortran/udr1.f90: New test.
12500 * testsuite/libgomp.fortran/udr2.f90: New test.
12501 * testsuite/libgomp.fortran/udr3.f90: New test.
12502 * testsuite/libgomp.fortran/udr4.f90: New test.
12503 * testsuite/libgomp.fortran/udr5.f90: New test.
12504 * testsuite/libgomp.fortran/udr6.f90: New test.
12505 * testsuite/libgomp.fortran/udr7.f90: New test.
12506 * testsuite/libgomp.fortran/udr8.f90: New test.
12507 * testsuite/libgomp.fortran/udr9.f90: New test.
12508 * testsuite/libgomp.fortran/udr10.f90: New test.
12509 * testsuite/libgomp.fortran/udr11.f90: New test.
12510
0389fbb5
UB
125112014-05-27 Uros Bizjak <ubizjak@gmail.com>
12512
12513 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
12514 vect_simd_clones effective target.
12515 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
12516
decaaec8
JJ
125172014-05-21 Jakub Jelinek <jakub@redhat.com>
12518
12519 PR middle-end/61252
12520 * testsuite/libgomp.c++/simd-9.C: New test.
12521
72832460
UB
125222014-05-18 Uros Bizjak <ubizjak@gmail.com>
12523
12524 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
12525 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
12526 texts according to their @menu entry positions.
12527
dd2fc525
JJ
125282014-05-11 Jakub Jelinek <jakub@redhat.com>
12529
12530 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
12531 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
12532 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
12533 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
12534 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
12535 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
12536 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
12537 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
12538 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
12539 * testsuite/libgomp.fortran/depend-1.f90: New test.
12540 * testsuite/libgomp.fortran/depend-2.f90: New test.
12541 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
12542 * testsuite/libgomp.fortran/simd1.f90: New test.
12543 * testsuite/libgomp.fortran/simd2.f90: New test.
12544 * testsuite/libgomp.fortran/simd3.f90: New test.
12545 * testsuite/libgomp.fortran/simd4.f90: New test.
12546 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
12547
95782571
JJ
125482014-05-02 Jakub Jelinek <jakub@redhat.com>
12549
12550 * testsuite/libgomp.c/simd-10.c: New test.
12551 * testsuite/libgomp.c/simd-11.c: New test.
12552 * testsuite/libgomp.c/simd-12.c: New test.
12553 * testsuite/libgomp.c/simd-13.c: New test.
12554
f7468577
JJ
125552014-04-24 Jakub Jelinek <jakub@redhat.com>
12556
42056eac
JJ
12557 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
12558 atomic type clauses in any order and optional comma in between.
12559 * testsuite/libgomp.c++/atomic-15.C: Likewise.
12560 * testsuite/libgomp.c/atomic-17.c: Likewise.
12561
f7468577
JJ
12562 * testsuite/libgomp.c/simd-7.c: New test.
12563 * testsuite/libgomp.c/simd-8.c: New test.
12564 * testsuite/libgomp.c/simd-9.c: New test.
12565 * testsuite/libgomp.c/loop-16.c: New test.
12566
ab18f2f5
RH
125672014-04-02 Richard Henderson <rth@redhat.com>
12568
12569 * config/linux/futex.h (futex_wait): Get error value from errno.
12570 (futex_wake): Likewise.
12571
8bcc90b0
JJ
125722014-03-25 Jakub Jelinek <jakub@redhat.com>
12573
12574 PR c++/60331
12575 * testsuite/libgomp.c++/udr-11.C: New test.
12576 * testsuite/libgomp.c++/udr-12.C: New test.
12577 * testsuite/libgomp.c++/udr-13.C: New test.
12578 * testsuite/libgomp.c++/udr-14.C: New test.
12579 * testsuite/libgomp.c++/udr-15.C: New test.
12580 * testsuite/libgomp.c++/udr-16.C: New test.
12581 * testsuite/libgomp.c++/udr-17.C: New test.
12582 * testsuite/libgomp.c++/udr-18.C: New test.
12583 * testsuite/libgomp.c++/udr-19.C: New test.
12584
18d73c7f
RS
125852014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
12586
12587 Update copyright years
12588
f9030485
RS
125892014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
12590
12591 * hashtab.h: Use the standard form for the copyright notice.
12592
98db73df
TB
125932014-01-02 Tobias Burnus <burnus@net-b.de>
12594
12595 * libgomp.texi: Bump @copying's copyright year.
12596
ae246f7f
AT
125972013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
12598
93d90219 12599 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
12600 alloca () with __builtin_alloca ().
12601 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
12602 * testsuite/libgomp.c/lock-3.c: Likewise.
12603 * testsuite/libgomp.c/pr48591.c: Likewise.
12604
fa00a5fe
JJ
126052013-12-17 Jakub Jelinek <jakub@redhat.com>
12606
12607 PR testsuite/59534
12608 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
12609 comparisons.
12610
e9792e1d
JJ
126112013-12-16 Jakub Jelinek <jakub@redhat.com>
12612
12613 PR libgomp/58756
12614 * testsuite/libgomp.c/pr58756.c: New test.
12615
cab37c89
JJ
126162013-12-12 Jakub Jelinek <jakub@redhat.com>
12617
12618 PR libgomp/59467
12619 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
12620 !$omp parallel.
12621
de14871c
TS
126222013-11-07 Thomas Schwinge <thomas@codesourcery.com>
12623
1707a5de
TS
12624 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
12625 ALWAYS_CFLAGS.
12626 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
12627 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
12628 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
12629 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
12630 Likewise.
12631
70f05c43
TS
12632 * libgomp_g.h: Include <stddef.h> for size_t.
12633
de14871c
TS
12634 * libgomp.spec.in: Update comment about libgomp's dependencies.
12635 * configure.ac: Likewise.
12636 * configure: Regenerate.
12637
83fd6c5b
TB
126382013-10-16 Tobias Burnus <burnus@net-b.de>
12639
12640 * libgomp.texi: (Runtime Library Routines): Update references for
12641 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
12642 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
12643 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
12644 (Environment Variables): Update references for OpenMP 4.0. Add
12645 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
12646 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
12647 order.
12648
c8673881
JJ
126492013-10-14 Jakub Jelinek <jakub@redhat.com>
12650
12651 * env.c (parse_bind_var): Initialize value to avoid
12652 (false positive) warning.
12653
f89163fd
JJ
126542013-10-12 Jakub Jelinek <jakub@redhat.com>
12655
12656 PR libgomp/58691
12657 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
12658 to check variable.
12659 (gomp_init_num_threads): Move i variable declaration into
12660 #ifdef CPU_ALLOC_SIZE block.
12661 * config/linux/affinity.c (gomp_affinity_init_level): Test
12662 gomp_places_list_len == 0 rather than gomp_places_list == 0
12663 when checking for topology reading error.
12664 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
12665 * env.c (parse_affinity): Add ignore argument, if true, don't populate
12666 gomp_places_list, only parse env var and always return false.
12667 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
12668 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
12669 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
12670 and either of these variables were parsed correctly into a places
12671 list.
12672
1d340638
TS
126732013-10-11 Thomas Schwinge <thomas@codesourcery.com>
12674 Jakub Jelinek <jakub@redhat.com>
12675
12676 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
12677 of 5 loopfn matches.
12678 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12679 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12680 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12681 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12682 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12683 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12684 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12685 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12686
71a81c21
TS
126872013-10-11 Thomas Schwinge <thomas@codesourcery.com>
12688
bd87f731
TS
12689 * Makefile.am (omp_lib.mod): Streamline rule.
12690 * Makefile.in: Regenerate.
12691
f5745bed
TS
12692 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
12693 exceptions.
12694
b5512c66
TS
12695 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
12696 * testsuite/libgomp.fortran/lib1.f90: Likewise.
12697 * testsuite/libgomp.fortran/lib2.f: Likewise.
12698 * testsuite/libgomp.fortran/lib3.f: Likewise.
12699
451c19c4
TS
12700 * configure.ac: Typo fix.
12701 * configure: Regenerate.
12702
86a6016d
TS
12703 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
12704 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12705
71a81c21
TS
12706 * omp.h.in: Don't touch the user's namespace.
12707
acf0174b
JJ
127082013-10-11 Jakub Jelinek <jakub@redhat.com>
12709 Tobias Burnus <burnus@net-b.de>
12710 Richard Henderson <rth@redhat.com>
12711
12712 * target.c: New file.
12713 * Makefile.am (libgomp_la_SOURCES): Add target.c.
12714 * Makefile.in: Regenerated.
12715 * libgomp_g.h (GOMP_task): Add depend argument.
12716 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
12717 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
12718 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
12719 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
12720 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
12721 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
12722 GOMP_taskgroup_start, GOMP_taskgroup_end,
12723 GOMP_parallel_sections): New prototypes.
12724 * fortran.c (omp_is_initial_device): Add ialias_redirect.
12725 (omp_is_initial_device_): New function.
12726 (ULP, STR1, STR2, ialias_redirect): Removed.
12727 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
12728 omp_set_default_device_8_, omp_get_default_device_,
12729 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
12730 functions.
12731 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
12732 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
12733 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
12734 @@GOMP_4.0.
12735 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
12736 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
12737 omp_set_default_device, omp_set_default_device_,
12738 omp_set_default_device_8_, omp_get_default_device,
12739 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
12740 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
12741 omp_get_team_num_): Export @@OMP_4.0.
12742 * team.c (struct gomp_thread_start_data): Add place field.
12743 (gomp_thread_start): Clear thr->thread_pool and
12744 thr->task before returning. Use gomp_team_barrier_wait_final
12745 instead of gomp_team_barrier_wait. Initialize thr->place.
12746 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
12747 team_cancelled and task_queued_count fields.
12748 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
12749 before calling pthread_exit.
12750 (gomp_free_thread): No longer static. Use
12751 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
12752 (gomp_team_start): Add flags argument. Set
12753 thr->thread_pool->threads_busy to nthreads immediately after creating
12754 new pool. Use gomp_managed_threads_lock instead of
12755 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
12756 (gomp_team_end): Use gomp_managed_threads_lock instead of
12757 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
12758 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 12759 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
12760 rather than thr->ts.work_share.
12761 (initialize_team): Don't call gomp_sem_init here.
12762 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
12763 caller.
12764 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
12765 * env.c (gomp_global_icv): Add default_device_var, target_data and
12766 bind_var initializers.
12767 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
12768 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
12769 gomp_places_list_len): New variables.
12770 (parse_bind_var, parse_one_place, parse_places_var): New functions.
12771 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
12772 sized places.
12773 (gomp_cancel_var): New global variable.
12774 (parse_int): New function.
12775 (handle_omp_display_env): New function.
12776 (initialize_env): Use it. Initialize default_device_var.
12777 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
12778 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
12779 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
12780 been successfully parsed (and call gomp_init_affinity in that case).
12781 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12782 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12783 omp_get_team_num, omp_is_initial_device): New functions.
12784 * libgomp.h: Include stdlib.h.
12785 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
12786 Define.
12787 (struct target_mem_desc): Forward declare.
12788 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
12789 and thread_limit_var fields.
12790 (gomp_get_num_devices): New prototype.
12791 (gomp_cancel_var): New extern decl.
12792 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
12793 team_cancelled and task_queued_count fields. Add comments about
12794 task_{,queued_,running_}count.
12795 (gomp_cancel_kind): New enum.
12796 (gomp_work_share_end_cancel): New prototype.
12797 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
12798 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
12799 and depend fields.
12800 (struct gomp_taskgroup): New type.
12801 (struct gomp_task_depend_entry,
12802 struct gomp_dependers_vec): New types.
12803 (gomp_finish_task): Free depend_hash if non-NULL.
12804 (struct gomp_team_state): Add place_partition_off
12805 and place_partition_len fields.
12806 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
12807 gomp_places_list_len): New extern decls.
12808 (struct gomp_thread): Add place field.
12809 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
12810 (gomp_init_thread_affinity): Add place argument.
12811 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12812 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12813 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12814 gomp_affinity_init_level, gomp_affinity_print_place): New
12815 prototypes.
12816 (gomp_team_start): Add flags argument.
12817 (gomp_thread_limit_var, gomp_remaining_threads_count,
12818 gomp_remaining_threads_lock): Remove.
12819 (gomp_managed_threads_lock): New variable.
12820 (struct gomp_thread_pool): Add threads_busy field.
12821 (gomp_free_thread): New prototype.
12822 * task.c: Include hashtab.h.
12823 (hash_entry_type): New typedef.
12824 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
12825 (gomp_init_task): Clear dependers, depend_hash, depend_count,
12826 copy_ctors_done and taskgroup fields.
12827 (GOMP_task): Add depend argument, handle depend clauses. If
12828 gomp_team_barrier_cancelled or if it's taskgroup has been
12829 cancelled, don't queue or start new tasks. Set copy_ctors_done
12830 field if needed. Initialize taskgroup field. If copy_ctors_done
12831 and already cancelled, don't discard the task. If taskgroup is
12832 non-NULL, enqueue the task into taskgroup queue. Increment
12833 num_children field in taskgroup. Increment task_queued_count.
12834 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
12835 gomp_task_run_post_remove_taskgroup): New inline functions.
12836 (gomp_task_run_post_handle_depend_hash,
12837 gomp_task_run_post_handle_dependers,
12838 gomp_task_run_post_handle_depend): New functions.
12839 (GOMP_taskwait): Use them. If more than one new tasks
12840 have been queued, wake other threads if needed.
12841 (gomp_barrier_handle_tasks): Likewise. If
12842 gomp_team_barrier_cancelled, don't start any new tasks, just free
12843 all tasks.
12844 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
12845 * omp_lib.f90.in
12846 (omp_proc_bind_kind, omp_proc_bind_false,
12847 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
12848 omp_proc_bind_spread): New params.
12849 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12850 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12851 omp_get_team_num, omp_is_initial_device): New interfaces.
12852 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
12853 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
12854 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
12855 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
12856 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
12857 useless use omp_lib_kinds.
12858 * omp.h.in (omp_proc_bind_t): New typedef.
12859 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12860 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12861 omp_get_team_num, omp_is_initial_device): New prototypes.
12862 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
12863 through to gomp_team_start.
12864 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
12865 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
12866 Adjust gomp_parallel_loop_start callers.
12867 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
12868 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
12869 GOMP_loop_end_cancel): New functions.
12870 (GOMP_parallel_end): Add ialias_redirect.
12871 * hashtab.h: New file.
12872 * libgomp.texi (Environment Variables): Minor cleanup,
12873 update section refs to OpenMP 4.0rc2.
12874 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
12875 environment variables.
12876 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
12877 team->work_shares_to_free to thr->ts.work_share before calling
12878 free_work_share.
12879 (gomp_work_share_end_cancel): New function.
12880 * config/linux/proc.c: Include errno.h.
12881 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
12882 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
12883 sizeof (cpu_set_t) to determine number of iterations. Fix up check
12884 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
12885 gomp_cpuset_size is sizeof (cpu_set_t).
12886 (gomp_init_num_threads): Initialize gomp_cpuset_size,
12887 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
12888 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
12889 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
12890 contain any logical CPUs.
12891 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
12892 is NULL. Use gomp_cpusetp instead of &cpuset and pass
12893 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
12894 pthread_getaffinity_np. Check gomp_places_list instead of
12895 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
12896 * config/linux/bar.c (gomp_barrier_wait_end,
12897 gomp_barrier_wait_last): Use BAR_* defines.
12898 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
12899 from state where needed. Set work_share_cancelled to 0 on last
12900 thread.
12901 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
12902 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
12903 functions.
12904 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
12905 Add cpusetsize argument.
12906 (gomp_cpuset_size, gomp_cpusetp): Declare.
12907 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
12908 (affinity_counter): Remove.
12909 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
12910 if CPU_ALLOC_SIZE isn't defined.
12911 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
12912 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
12913 bind current thread to the first place.
12914 (gomp_init_thread_affinity): Rewritten. Add place argument, just
12915 pthread_setaffinity_np to gomp_places_list[place].
12916 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12917 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12918 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12919 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
12920 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
12921 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
12922 (gomp_barrier_t): Add awaited_final field.
12923 (gomp_barrier_init): Initialize awaited_final field.
12924 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
12925 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
12926 prototypes.
12927 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
12928 defines.
12929 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
12930 gomp_team_barrier_cancelled): New inline functions.
12931 (gomp_barrier_last_thread,
12932 gomp_team_barrier_set_task_pending,
12933 gomp_team_barrier_clear_task_pending,
12934 gomp_team_barrier_set_waiting_for_tasks,
12935 gomp_team_barrier_waiting_for_tasks,
12936 gomp_team_barrier_done): Use BAR_* defines.
12937 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
12938 (gomp_barrier_wait_end): Use BAR_* defines.
12939 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
12940 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
12941 Use BAR_* defines.
12942 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
12943 gomp_team_barrier_cancel): New functions.
12944 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
12945 argument.
12946 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12947 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12948 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12949 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
12950 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
12951 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
12952 (gomp_barrier_t): Add cancellable field.
12953 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
12954 gomp_team_barrier_cancel): New prototypes.
12955 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
12956 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
12957 gomp_team_barrier_cancelled): New inline functions.
12958 (gomp_barrier_wait_start, gomp_barrier_last_thread,
12959 gomp_team_barrier_set_task_pending,
12960 gomp_team_barrier_clear_task_pending,
12961 gomp_team_barrier_set_waiting_for_tasks,
12962 gomp_team_barrier_waiting_for_tasks,
12963 gomp_team_barrier_done): Use BAR_* defines.
12964 * barrier.c (GOMP_barrier_cancel): New function.
12965 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
12966 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
12967 omp_proc_bind_spread): New params.
12968 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12969 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12970 omp_get_team_num, omp_is_initial_device): New externals.
12971 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
12972 New functions.
12973 (gomp_resolve_num_threads): Adjust for thread_limit now being in
12974 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
12975 infinity. If not nested, just return minimum of max_num_threads
12976 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
12977 to the returned value. Otherwise, don't update atomically
12978 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
12979 (GOMP_parallel_end): Adjust for thread_limit now being in
12980 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
12981 infinity. Adjust threads_busy in the pool rather than
12982 gomp_remaining_threads_count. Remember team->nthreads and call
12983 gomp_team_end before adjusting threads_busy, if not nested
12984 afterwards, just set it to 1 non-atomically. Add ialias.
12985 (GOMP_parallel_start): Adjust gomp_team_start caller.
12986 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
12987 * testsuite/libgomp.c/affinity-1.c: New test.
12988 * testsuite/libgomp.c/atomic-15.c: New test.
12989 * testsuite/libgomp.c/atomic-16.c: New test.
12990 * testsuite/libgomp.c/atomic-17.c: New test.
12991 * testsuite/libgomp.c/cancel-for-1.c: New test.
12992 * testsuite/libgomp.c/cancel-for-2.c: New test.
12993 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
12994 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
12995 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
12996 * testsuite/libgomp.c/cancel-sections-1.c: New test.
12997 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
12998 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
12999 * testsuite/libgomp.c/depend-1.c: New test.
13000 * testsuite/libgomp.c/depend-2.c: New test.
13001 * testsuite/libgomp.c/depend-3.c: New test.
13002 * testsuite/libgomp.c/depend-4.c: New test.
13003 * testsuite/libgomp.c/for-1.c: New test.
13004 * testsuite/libgomp.c/for-1.h: New file.
13005 * testsuite/libgomp.c/for-2.c: New test.
13006 * testsuite/libgomp.c/for-2.h: New file.
13007 * testsuite/libgomp.c/for-3.c: New test.
13008 * testsuite/libgomp.c/pr58392.c: New test.
13009 * testsuite/libgomp.c/simd-1.c: New test.
13010 * testsuite/libgomp.c/simd-2.c: New test.
13011 * testsuite/libgomp.c/simd-3.c: New test.
13012 * testsuite/libgomp.c/simd-4.c: New test.
13013 * testsuite/libgomp.c/simd-5.c: New test.
13014 * testsuite/libgomp.c/simd-6.c: New test.
13015 * testsuite/libgomp.c/target-1.c: New test.
13016 * testsuite/libgomp.c/target-2.c: New test.
13017 * testsuite/libgomp.c/target-3.c: New test.
13018 * testsuite/libgomp.c/target-4.c: New test.
13019 * testsuite/libgomp.c/target-5.c: New test.
13020 * testsuite/libgomp.c/target-6.c: New test.
13021 * testsuite/libgomp.c/target-7.c: New test.
13022 * testsuite/libgomp.c/taskgroup-1.c: New test.
13023 * testsuite/libgomp.c/thread-limit-1.c: New test.
13024 * testsuite/libgomp.c/thread-limit-2.c: New test.
13025 * testsuite/libgomp.c/thread-limit-3.c: New test.
13026 * testsuite/libgomp.c/udr-1.c: New test.
13027 * testsuite/libgomp.c/udr-2.c: New test.
13028 * testsuite/libgomp.c/udr-3.c: New test.
13029 * testsuite/libgomp.c++/affinity-1.C: New test.
13030 * testsuite/libgomp.c++/atomic-10.C: New test.
13031 * testsuite/libgomp.c++/atomic-11.C: New test.
13032 * testsuite/libgomp.c++/atomic-12.C: New test.
13033 * testsuite/libgomp.c++/atomic-13.C: New test.
13034 * testsuite/libgomp.c++/atomic-14.C: New test.
13035 * testsuite/libgomp.c++/atomic-15.C: New test.
13036 * testsuite/libgomp.c++/cancel-for-1.C: New test.
13037 * testsuite/libgomp.c++/cancel-for-2.C: New test.
13038 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
13039 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
13040 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
13041 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
13042 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
13043 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
13044 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
13045 * testsuite/libgomp.c++/cancel-test.h: New file.
13046 * testsuite/libgomp.c++/for-9.C: New test.
13047 * testsuite/libgomp.c++/for-10.C: New test.
13048 * testsuite/libgomp.c++/for-11.C: New test.
13049 * testsuite/libgomp.c++/simd-1.C: New test.
13050 * testsuite/libgomp.c++/simd-2.C: New test.
13051 * testsuite/libgomp.c++/simd-3.C: New test.
13052 * testsuite/libgomp.c++/simd-4.C: New test.
13053 * testsuite/libgomp.c++/simd-5.C: New test.
13054 * testsuite/libgomp.c++/simd-6.C: New test.
13055 * testsuite/libgomp.c++/simd-7.C: New test.
13056 * testsuite/libgomp.c++/simd-8.C: New test.
13057 * testsuite/libgomp.c++/target-1.C: New test.
13058 * testsuite/libgomp.c++/target-2.C: New test.
13059 * testsuite/libgomp.c++/target-2-aux.cc: New file.
13060 * testsuite/libgomp.c++/target-3.C: New test.
13061 * testsuite/libgomp.c++/taskgroup-1.C: New test.
13062 * testsuite/libgomp.c++/udr-1.C: New test.
13063 * testsuite/libgomp.c++/udr-2.C: New test.
13064 * testsuite/libgomp.c++/udr-3.C: New test.
13065 * testsuite/libgomp.c++/udr-4.C: New test.
13066 * testsuite/libgomp.c++/udr-5.C: New test.
13067 * testsuite/libgomp.c++/udr-6.C: New test.
13068 * testsuite/libgomp.c++/udr-7.C: New test.
13069 * testsuite/libgomp.c++/udr-8.C: New test.
13070 * testsuite/libgomp.c++/udr-9.C: New test.
13071
bd599dea
JJ
130722013-09-20 Jakub Jelinek <jakub@redhat.com>
13073
13074 PR testsuite/57605
13075 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
13076 ALWAYS_CFLAGS.
13077
3cbe17f7
AM
130782013-09-20 Alan Modra <amodra@gmail.com>
13079
13080 * configure: Regenerate.
13081
4befd127
JJ
130822013-09-19 Jakub Jelinek <jakub@redhat.com>
13083
13084 * testsuite/libgomp.c/sections-2.c: New test.
13085
946c8f7b
MS
130862013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
13087
13088 * testsuite/libgomp.fortran/strassen.f90:
13089 Add dg-skip-if aarch64_tiny.
13090
1ef3b58e
IS
130912013-06-20 Iain Sandoe <iain@codesourcery.com>
13092 Cesar Philippidis <cesar@codesourcery.com>
13093
13094 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
13095 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
13096 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
13097 * testsuite/libgomp.fortran/fortran.exp: Likewise.
13098 * testsuite/libgomp.graphite/graphite.exp: Likewise.
13099 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
13100 Use dg-runtest rather than gfortran-dg-runtest.
13101
9275f73a
TS
131022013-06-10 Thomas Schwinge <thomas@codesourcery.com>
13103
13104 * testsuite/libgomp.c/icv-2.c: Extend current handling of
13105 Linux-based x86 systems to cover all GNU systems.
13106 * testsuite/libgomp.c/lock-3.c: Likewise.
13107 * testsuite/libgomp.c/pr48591.c: Likewise.
13108
492992e2
TS
131092013-06-06 Thomas Schwinge <thomas@codesourcery.com>
13110
48df3acb
TS
13111 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
13112 GNU/Hurd, as done for Linux-based systems.
13113
492992e2
TS
13114 * config/posix/ptrlock.h: Fix comment.
13115
4fed6b25
TB
131162013-05-27 Tobias Burnus <burnus@net-b.de>
13117
13118 PR fortran/57423
13119 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
13120 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
13121 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
13122 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
13123 omp_destroy_nest_lock): Correct arguments to match the one in
13124 the OpenMP spec.
13125 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
13126 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
13127 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
13128 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
13129
5a0f4dd3
JJ
131302013-05-16 Jakub Jelinek <jakub@redhat.com>
13131
13132 * testsuite/libgomp.c/loop-13.c: New test.
13133 * testsuite/libgomp.c/loop-14.c: New test.
13134 * testsuite/libgomp.c/loop-15.c: New test.
13135 * testsuite/libgomp.c++/loop-13.C: New test.
13136 * testsuite/libgomp.c++/loop-14.C: New test.
13137 * testsuite/libgomp.c++/loop-15.C: New test.
13138
6d840d99
JJ
131392013-02-06 Jakub Jelinek <jakub@redhat.com>
13140
13141 PR middle-end/56217
13142 * testsuite/libgomp.c++/pr56217.C: New test.
13143
bed8d8a6
AM
131442013-02-01 Alan Modra <amodra@gmail.com>
13145
13146 * task.c (GOMP_task, GOMP_taskwait): Comment.
13147
3b35cd04
DV
131482013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
13149 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
13150
13151 PR libgomp/55561
13152 * config/linux/wait.h (do_spin): Use atomic load for addr.
13153 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
13154 for intptr and ptrlock.
13155 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
13156 for ptrlock.
13157
9a647288
AM
131582013-01-22 Alan Modra <amodra@gmail.com>
13159
13160 PR libgomp/51376
13161 PR libgomp/56073
13162 * task.c (GOMP_task): Revert 2011-12-09 change.
13163 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
13164 barrier to read task->children..
13165 (gomp_barrier_handle_tasks): ..and matching atomic store with
13166 release barrier here when setting parent->children to NULL.
13167
f34dea03
JJ
131682013-01-16 Jakub Jelinek <jakub@redhat.com>
13169 Tobias Burnus <burnus@net-b.de>
13170
13171 PR driver/55884
13172 * testsuite/libgomp.fortran/fortran.exp: Use
13173 -fintrinsic-modules-path= instead of
13174 -fintrinsic-modules-path.
13175
8129609c
RS
131762013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
13177
13178 Update copyright years.
13179
aa86bf1e
TB
131802012-12-19 Tobias Burnus <burnus@net-b.de>
13181
13182 * testsuite/libgomp.fortran/fortran.exp: Set
13183 -fintrinsic-modules-path.
13184
2865ea66
TB
131852012-12-19 Tobias Burnus <burnus@net-b.de>
13186
13187 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
13188 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
13189
4c5ba8d0
JJ
131902012-11-21 Jakub Jelinek <jakub@redhat.com>
13191
13192 PR libgomp/55411
13193 * team.c (gomp_free_thread): Decrease gomp_managed_threads
13194 if pool had any threads_used.
13195
e9f958c2
JH
131962012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
13197
13198 * testsuite/libgomp.c++/pr24455.C: Use
13199 -Wl,-undefined,dynamic_lookup on darwin.
13200
a57d75dc
DE
132012012-11-07 David Edelsohn <dje.gcc@gmail.com>
13202
13203 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
13204
c6c08485
DH
132052012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
13206
13207 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
13208
c1f37c00
IB
132092012-10-23 Ian Bolton <ian.bolton@arm.com>
13210 Jim MacArthur <jim.macarthur@arm.com>
13211 Marcus Shawcroft <marcus.shawcroft@arm.com>
13212 Nigel Stephens <nigel.stephens@arm.com>
13213 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13214 Richard Earnshaw <rearnsha@arm.com>
13215 Sofiane Naci <sofiane.naci@arm.com>
13216 Stephen Thomas <stephen.thomas@arm.com>
13217 Tejas Belagod <tejas.belagod@arm.com>
13218 Yufeng Zhang <yufeng.zhang@arm.com>
13219
13220 * configure.tgt: Add AArch64.
13221
7c424acd
JM
132222012-10-04 Jason Merrill <jason@redhat.com>
13223
13224 * testsuite/libgomp.c++/tls-init1.C: New.
13225
6608378b
DE
132262012-09-14 David Edelsohn <dje.gcc@gmail.com>
13227
13228 * configure: Regenerated.
13229
c24dbebb
CLT
132302012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
13231
13232 * config/linux/mips/futex.h (sys_futex0): Change to static
13233 function with noinline, nomips16 attributes under MIPS16. Adjust
13234 asm statement to place 'li v0,SYS_futex' immediately before
13235 syscall insn.
13236
3d3949df
SL
132372012-07-04 Sandra Loosemore <sandra@codesourcery.com>
13238
13239 * libgomp.texi (Library Index): Renamed from "Index" to prevent
13240 conflict with index.html on case-insensitive file systems.
13241
68a12ef3
UB
132422012-07-03 Uros Bizjak <ubizjak@gmail.com>
13243
13244 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
13245 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
13246
33ad93b9 132472012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
13248 Michael Matz <matz@suse.de>
13249 Tobias Grosser <tobias@grosser.es>
13250 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
13251
13252 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
13253 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13254 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13255 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13256
e6fdc918
AS
132572012-06-28 Andreas Schwab <schwab@linux-m68k.org>
13258
13259 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
13260
62e0a1ed
RG
132612012-06-22 Richard Guenther <rguenther@suse.de>
13262
13263 Merge from graphite branch
13264 2012-01-13 Tobias Grosser <tobias@grosser.es>
13265
13266 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13267 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13268
26127932
JJ
132692012-06-07 Jakub Jelinek <jakub@redhat.com>
13270
13271 PR middle-end/53580
13272 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
13273 use GOMP_barrier () call instead.
13274 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13275 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13276 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
13277 call GOMP_barrier instead.
13278 * testsuite/libgomp.fortran/vla5.f90: Likewise.
13279
43fa5db5
JJ
132802012-06-06 Jakub Jelinek <jakub@redhat.com>
13281
13282 PR libgomp/52993
13283 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
13284 argument to memset call.
13285
e6d5f8c9
L
132862012-05-16 H.J. Lu <hongjiu.lu@intel.com>
13287
13288 * configure: Regenerated.
13289
559d990c
MLI
132902012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13291
13292 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
13293
b9c23a61
L
132942012-03-31 H.J. Lu <hongjiu.lu@intel.com>
13295
13296 PR bootstrap/52812
13297 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
13298
c140ddf3
JJ
132992012-03-22 Jakub Jelinek <jakub@redhat.com>
13300
13301 PR middle-end/52547
13302 * testsuite/libgomp.c/pr52547.c: New test.
13303
6a26a74d
BRF
133042012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13305
13306 * testsuite/lib/libgomp.exp: load fortran-modules.exp
13307
b24513a1
RO
133082012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13309
13310 * configure.tgt (mips-sgi-irix6*): Remove.
13311
5c30094f
RO
133122012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13313
13314 * configure.tgt (alpha*-dec-osf*): Remove.
13315
13316 * config/osf/sem.h: Remove.
13317 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
13318
a339c9d6
EB
133192012-02-29 Eric Botcazou <ebotcazou@adacore.com>
13320
13321 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
13322
cc2de92d
RO
133232012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13324
13325 PR libstdc++/52188
13326 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
13327 Remove ENABLE_SYMVERS_SOL2.
13328 * configure: Regenerate.
13329 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
13330 (PREPROCESS): New variable.
13331 (libgomp.ver): New target.
13332 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
13333 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
13334 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
13335 Use libgomp.ver.
13336 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
13337 * Makefile.in: Regenerate.
13338
dd552284
WL
133392012-02-14 Walter Lee <walt@tilera.com>
13340
13341 * configure.tgt: Handle tilegx and tilepro.
13342 * config/linux/tile/futex.h: New file.
13343
31432e21
RG
133442012-02-08 Richard Guenther <rguenther@suse.de>
13345
13346 PR tree-optimization/46886
13347 * testsuite/libgomp.c/pr46886.c: New testcase.
13348
b9264b5f
MK
133492012-01-25 Matthias Klose <doko@ubuntu.com>
13350
13351 * config/linux/arm: Remove empty directory.
13352 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
13353
fbf7be80
AM
133542011-12-09 Alan Modra <amodra@gmail.com>
13355
13356 PR libgomp/51376
13357 * task.c (GOMP_taskwait): Don't access task->children outside of
13358 task_lock mutex region.
13359 (GOMP_task): Likewise.
13360
5de62d00
JJ
133612011-12-06 Jakub Jelinek <jakub@redhat.com>
13362
13363 PR libgomp/51132
13364 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
13365 to file scope.
13366 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13367 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13368 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13369 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13370 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13371
45608a43
AM
133722011-12-02 Alan Modra <amodra@gmail.com>
13373
13374 * config/linux/affinity.c: Use atomic rather than sync builtin.
13375 * config/linux/lock.c: Likewise.
13376 * config/linux/ptrlock.h: Likewise.
13377 * config/linux/ptrlock.c: Likewise.
13378 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
13379 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
13380 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
13381 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
13382 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
13383 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
13384 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
13385 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
13386 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
13387 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
13388
ab6dd406
AM
133892011-11-30 Alan Modra <amodra@gmail.com>
13390
13391 PR libgomp/51298
13392 * config/linux/bar.h: Use atomic rather than sync builtins.
13393 * config/linux/bar.c: Likewise. Add missing acquire
13394 synchronisation on generation field.
13395 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
13396 double unlock.
13397
b40c885f
AM
133982011-11-30 Alan Modra <amodra@gmail.com>
13399
13400 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
13401 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
13402 * config/linux/mutex.h: Use atomic rather than sync builtins.
13403 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
13404 * config/linux/omp-lock.h: Comment fix.
13405 * config/linux/arm/mutex.h: Delete.
13406 * config/linux/powerpc/mutex.h: Delete.
13407 * config/linux/ia64/mutex.h: Delete.
13408 * config/linux/mips/mutex.h: Delete.
13409
3e348fcc
AM
134102011-11-30 Alan Modra <amodra@gmail.com>
13411
13412 PR libgomp/51249
13413 * config/linux/sem.h: Rewrite.
13414 * config/linux/sem.c: Rewrite.
13415
cef86eb2
RH
134162011-11-28 Richard Henderson <rth@redhat.com>
13417
13418 * libgomp.h (enum memmodel): New.
13419
c6084f68
AT
134202011-11-21 Andreas Tobler <andreast@fgznet.ch>
13421
13422 * configure: Regenerate.
13423
06fe026c
MK
134242011-10-10 Matthias Klose <doko@ubuntu.com>
13425
13426 * config/posix95: Remove empty directory.
13427
a6c975bd
JJ
134282011-08-26 Jakub Jelinek <jakub@redhat.com>
13429
13430 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
13431
c26dffff
JJ
134322011-08-19 Jakub Jelinek <jakub@redhat.com>
13433
13434 PR fortran/49792
13435 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
13436 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
13437
ddaad3c8
RO
134382011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13439
13440 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
13441
98d03683
RO
134422011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13443
13444 PR libgomp/49965
13445 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
13446
e0b23d9f
UB
134472011-08-03 Uros Bizjak <ubizjak@gmail.com>
13448
13449 * config/linux/proc.h: New.
13450 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
13451 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
13452 (gomp_init_num_threads): Update call to cpuset_popcount.
13453 (get_num_procs): Ditto.
13454 * config/linux/affinity.c (gomp_init_affinity): Call
13455 gomp_cpuset_popcount.
13456
20906c66
JJ
134572011-08-02 Jakub Jelinek <jakub@redhat.com>
13458
13459 PR fortran/42041
13460 PR fortran/46752
13461 * omp.h.in (omp_in_final): New prototype.
13462 * omp_lib.f90.in (omp_in_final): New interface.
13463 (omp_integer_kind, omp_logical_kind): Remove
13464 and replace all its uses in the module with 4.
13465 (openmp_version): Change to 201107.
13466 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
13467 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
13468 kind for the parameters.
13469 (omp_in_final): New external.
13470 (openmp_version): Change to 201107.
13471 * task.c (omp_in_final): New function.
13472 (gomp_init_task): Initialize final_task.
13473 (GOMP_task): Remove unused attribute from flags. Handle final
13474 tasks.
13475 (GOMP_taskyield): New function.
13476 (omp_in_final): Return true if if (false) or final (true) task
13477 or descendant of final (true).
13478 * fortran.c (omp_in_final_): New function.
13479 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
13480 (GOMP_3.0): Export GOMP_taskyield.
13481 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
13482 variables.
13483 (parse_unsigned_long_list): New function.
13484 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
13485 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
13486 even if parse_affinity returned false.
13487 * config/linux/affinity.c (gomp_init_affinity): Handle
13488 gomp_cpu_affinity_len == 0.
13489 * libgomp_g.h (GOMP_taskyield): New prototype.
13490 * libgomp.h (struct gomp_task): Add final_task field.
13491 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
13492 * team.c (gomp_team_start): Override new task's nthreads_var icv
13493 if list form OMP_NUM_THREADS has been used and it has value for
13494 the new nesting level.
13495
13496 * testsuite/libgomp.c/atomic-11.c: New test.
13497 * testsuite/libgomp.c/atomic-12.c: New test.
13498 * testsuite/libgomp.c/atomic-13.c: New test.
13499 * testsuite/libgomp.c/atomic-14.c: New test.
13500 * testsuite/libgomp.c/reduction-6.c: New test.
13501 * testsuite/libgomp.c/task-5.c: New test.
13502 * testsuite/libgomp.c++/atomic-2.C: New test.
13503 * testsuite/libgomp.c++/atomic-3.C: New test.
13504 * testsuite/libgomp.c++/atomic-4.C: New test.
13505 * testsuite/libgomp.c++/atomic-5.C: New test.
13506 * testsuite/libgomp.c++/atomic-6.C: New test.
13507 * testsuite/libgomp.c++/atomic-7.C: New test.
13508 * testsuite/libgomp.c++/atomic-8.C: New test.
13509 * testsuite/libgomp.c++/atomic-9.C: New test.
13510 * testsuite/libgomp.c++/task-8.C: New test.
13511 * testsuite/libgomp.c++/reduction-4.C: New test.
13512 * testsuite/libgomp.fortran/allocatable7.f90: New test.
13513 * testsuite/libgomp.fortran/allocatable8.f90: New test.
13514 * testsuite/libgomp.fortran/crayptr3.f90: New test.
13515 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
13516 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
13517 * testsuite/libgomp.fortran/pointer1.f90: New test.
13518 * testsuite/libgomp.fortran/pointer2.f90: New test.
13519 * testsuite/libgomp.fortran/task4.f90: New test.
13520
135212011-08-02 Tobias Burnus <burnus@net-b.de>
13522
13523 * libgomp.texi: Update OpenMP spec references to 3.1.
13524 (omp_in_final,OMP_PROC_BIND): New sections.
13525 (OMP_NUM_THREADS): Document that the value can be now a list.
13526 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
13527
c01ecafc
L
135282011-08-02 H.J. Lu <hongjiu.lu@intel.com>
13529
13530 * config/linux/x86/futex.h: Check __x86_64__ instead of
13531 __LP64__.
13532
25142650
JJ
135332011-07-29 Jakub Jelinek <jakub@redhat.com>
13534
13535 PR middle-end/49897
13536 PR middle-end/49898
13537 * testsuite/libgomp.c/pr49897-1.c: New test.
13538 * testsuite/libgomp.c/pr49897-2.c: New test.
13539 * testsuite/libgomp.c/pr49898-1.c: New test.
13540 * testsuite/libgomp.c/pr49898-2.c: New test.
13541
f53d712f
L
135422011-07-28 H.J. Lu <hongjiu.lu@intel.com>
13543
13544 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
13545 for ia32 instead of ilp32.
13546
13547 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
13548 * testsuite/libgomp.c/atomic-6.c: Likewise.
13549
3689198d
SP
135502011-07-23 Sebastian Pop <sebastian.pop@amd.com>
13551
13552 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
13553 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
13554
1a79cb73
RO
135552011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13556
13557 PR libgomp/45351
13558 * config/osf/sem.h: New file.
13559 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
13560
c1f51484
RO
135612011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13562
13563 PR target/49541
13564 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
13565 ldflags.
13566
bfee0724
JJ
135672011-07-15 Jakub Jelinek <jakub@redhat.com>
13568
13569 * config/linux/wait.h (do_spin): New inline, largely copied
13570 from do_wait, just don't do futex_wait here, instead return true if
13571 it should be done.
13572 (do_wait): Implement using do_spin.
13573 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
13574 to prototype.
13575 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
13576 __sync_bool_compare_and_swap, pass the oldval to
13577 gomp_mutex_lock_slow.
13578 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
13579 If all mutex contenders are just spinning and not sleeping, don't
13580 change state to 2 unnecessarily. Optimize the loop when state has
13581 already become 2 to use just one atomic operation per loop instead
13582 of two.
13583 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
13584 to prototype.
13585 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
13586 __sync_bool_compare_and_swap, pass the oldval to
13587 gomp_mutex_lock_slow.
13588
fb79f500
JJ
135892011-06-22 Jakub Jelinek <jakub@redhat.com>
13590
13591 PR libgomp/49490
13592 * iter.c (gomp_iter_static_next): For chunk size 0
13593 only use n ceil/ nthreads size for the first
13594 n % nthreads threads in the team instead of
13595 all threads except for the last few ones which
13596 get less work or none at all.
13597 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
13598 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
13599 chunk argument, set run_sched_modifier to 0 for static
13600 resp. 1 for other kinds. If chunk argument is 0
13601 and not static, set value to 1.
13602
4577f730
JJ
136032011-05-19 Jakub Jelinek <jakub@redhat.com>
13604
ea93a47b
JJ
13605 PR c++/49043
13606 * testsuite/libgomp.c++/pr49043.C: New test.
13607
4577f730
JJ
13608 PR c++/48869
13609 * testsuite/libgomp.c++/pr48869.C: New test.
13610
e7385332
JJ
136112011-05-06 Jakub Jelinek <jakub@redhat.com>
13612
13613 PR fortran/48894
13614 * fortran.c: Include limits.h.
13615 (TO_INT): Define.
13616 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
13617 *set.
13618 (omp_set_num_threads_8_, omp_set_schedule_8_,
13619 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
13620 omp_get_team_size_8_): Use TO_INT macro.
13621 * testsuite/libgomp.fortran/pr48894.f90: New test.
13622
20790697
JJ
136232011-04-13 Jakub Jelinek <jakub@redhat.com>
13624
13625 PR middle-end/48591
13626 * testsuite/libgomp.c/pr48591.c: New test.
13627
bf382f5f
RO
136282011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13629
13630 PR bootstrap/48135
13631 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
13632 * configure: Regenerate.
13633
113a53c1
JJ
136342011-02-27 Jakub Jelinek <jakub@redhat.com>
13635
13636 PR fortran/47886
13637 * testsuite/libgomp.fortran/task3.f90: New test.
13638
0024f1af
TB
136392011-02-24 Tobias Burnus <burnus@net-b.de>
13640
13641 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
13642
21e1e594
JJ
136432011-02-23 Jakub Jelinek <jakub@redhat.com>
13644
13645 PR libgomp/47854
13646 * libgomp.texi (omp_get_wtime): Don't say time in the past
13647 must be Unix Epoch.
13648
67962076
JJ
136492011-02-18 Jakub Jelinek <jakub@redhat.com>
13650
13651 PR libgomp/47804
13652 * testsuite/libgomp.fortran/fortran.exp: Check for both
13653 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
13654 but $blddir != "", still append ${blddir}/${lang_library_path}
13655 to ld_library_path.
13656
3808007c
TB
136572011-02-16 Tobias Burnus <burnus@net-b.de>
13658
13659 PR libgomp/47758
13660 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
13661 of libquadmath.a before adding its libpath to ldflags.
13662
53b4d41d
JJ
136632011-02-14 Jakub Jelinek <jakub@redhat.com>
13664
13665 PR libgomp/47731
13666 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
13667 to FUTEX_WAIT futex syscall.
13668 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
13669
029c8f3e
RW
136702011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13671
13672 * configure: Regenerate.
13673
bddd6626
BK
136742011-01-20 Benjamin Kosnik <bkoz@redhat.com>
13675
13676 PR libstdc++/36104
13677 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
13678
f1d4ab26
GP
136792011-01-16 Gerald Pfeifer
13680
13681 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
13682
2b503136
JJ
136832010-12-14 Jakub Jelinek <jakub@redhat.com>
13684
13685 PR fortran/46874
13686 * libgomp.fortran/allocatable6.f90: New test.
13687
c0f9d583
RO
136882010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13689
13690 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
13691 * configure: Regenerate.
13692
7de6ba7a
DK
136932010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
13694
13695 PR target/40125
13696 PR lto/46695
13697 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
13698 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
13699 * aclocal.m4: Regenerate.
13700 * configure: Regenerate.
13701 * Makefile.in: Regenerate.
13702 * testsuite/Makefile.in: Regenerate.
13703
b7516041
JJ
137042010-12-02 Jakub Jelinek <jakub@redhat.com>
13705
edaadf74
JJ
13706 PR fortran/46753
13707 * libgomp.fortran/pr46753.f90: New test.
13708
4c698cf8
JJ
13709 PR libgomp/43706
13710 * env.c (initialize_env): Default to spin count 300000
13711 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
13712 is specified.
13713
b7516041
JJ
13714 PR libgomp/45240
13715 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
13716 at the end if sync builtins aren't supported.
13717
6b43a34c
RO
137182010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13719
13720 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
13721
950691fa
RO
137222010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13723
13724 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
13725
fb9041ea
IS
137262010-11-24 Iain Sandoe <iains@gcc.gnu.org>
13727
13728 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
13729
1ec601bf
FXC
137302010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13731 Tobias Burnus <burnus@net-b.de>
13732
13733 PR fortran/32049
3e348fcc 13734 * configure.ac:
1ec601bf
FXC
13735 * configure: Regenerate.
13736
d213e92e
MS
137372010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
13738
13739 * config/linux/futex.h: New.
13740 * config/linux/arm/mutex.h: New.
13741 * configure.tgt (arm*-*-linux*): Add config path.
13742
89d5c66f
SP
137432010-09-30 Sebastian Pop <sebastian.pop@amd.com>
13744
13745 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13746
87350d4a
TB
137472010-09-23 Tobias Burnus <burnus@net-b.de>
13748
13749 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
13750 Change Fortran datatype to LOGICAL.
13751 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
13752 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
13753
75bc9e5e
RW
137542010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13755
13756 * configure: Regenerate.
13757
acb5c916
JJ
137582010-07-26 Jakub Jelinek <jakub@redhat.com>
13759
13760 * libgomp.texi: Add function keyword to a couple of Fortran
13761 interfaces, use integer instead of int for Fortran.
13762
6a2ba183
AH
137632010-07-26 Aldy Hernandez <aldyh@redhat.com>
13764
13765 * libgomp.texi: Fix spelling and pasto problems throughout.
13766 Adjust prototypes to match code.
13767
df161b69
TB
137682010-07-24 Tobias Burnus <burnus@net-b.de>
13769
13770 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
13771 silence -fwhole-file warning.
13772
16c9d3b1
RO
137732010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13774
13775 * configure.tgt (*-*-solaris2.[56]*): Removed.
13776
6d28b933
RO
137772010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13778
13779 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
13780 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
13781 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
13782 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
13783 targetting solaris2*.
13784 * configure: Regenerate.
13785 * config.h.in: Regenerate.
13786
13787 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
13788 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
13789 Add libgomp_version_dep.
13790 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
13791 versioning.
13792 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
13793 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
13794 * Makefile.in: Regenerate.
13795
13796 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
13797 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
13798 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
13799 to common block, protected by
13800 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
13801
07a67d6a
GP
138022010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
13803
13804 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
13805
dbd34b89
IS
138062010-06-09 Iain Sandoe <iains@gcc.gnu.org>
13807
13808 PR bootstrap/43170
13809 * configure: Regenerate.
13810
13917ae3
RW
138112010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13812
13813 PR other/43620
13814 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
13815 * configure: Regenerate.
13816 * Makefile.in: Regenerate.
13817 * testsuite/Makefile.in: Regenerate.
13818
b83a701b
JJ
138192010-04-26 Jakub Jelinek <jakub@redhat.com>
13820
13821 PR c/43893
13822 * testsuite/libgomp.c/pr43893.c: New test.
13823 * testsuite/libgomp.c++/pr43893.C: New test.
13824
78db7d92
JJ
138252010-04-21 Jakub Jelinek <jakub@redhat.com>
13826
13827 PR middle-end/43570
13828 * testsuite/libgomp.fortran/vla8.f90: New test.
13829
5221d7a9
JJ
138302010-04-20 Jakub Jelinek <jakub@redhat.com>
13831
e4ba7a60
JJ
13832 PR libgomp/43706
13833 * config/linux/affinity.c (gomp_init_affinity): Decrease
13834 gomp_available_cpus if affinity mask confines the process to fewer
13835 CPUs.
13836 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
13837 non-NULL, just return gomp_available_cpus.
13838
5221d7a9
JJ
13839 PR libgomp/43569
13840 * sections.c (gomp_sections_init): Initialize ws->mode.
13841
289a9f86
UB
138422010-04-14 Uros Bizjak <ubizjak@gmail.com>
13843
13844 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
13845 not unused bar variable.
13846 * configure: Regenerate.
13847
4d9e8446
RW
138482010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13849
13850 * Makefile.in: Regenerate.
13851 * aclocal.m4: Regenerate.
13852 * testsuite/Makefile.in: Regenerate.
13853
80f046cc
JJ
138542010-03-22 Jakub Jelinek <jakub@redhat.com>
13855
13856 PR libgomp/42942
13857 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
13858 (initialize_env): Adjust callers.
13859 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
13860 when the argument is 0.
13861
13862 * testsuite/libgomp.c/pr42942.c: New test.
13863
b58543c3
SP
138642010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
13865
13866 PR middle-end/42644
13867 PR middle-end/42130
13868 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13869 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
13870
41d1138f
RO
138712010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13872
13873 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
13874 * testsuite/libgomp.c++/task-6.C: Likewise.
13875
6684eb28
SE
138762010-01-28 Steve Ellcey <sje@cup.hp.com>
13877
13878 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
13879
2122aa97
PB
138802010-01-26 Paolo Bonzini <bonzini@gnu.org>
13881
13882 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
13883 * configure: Regenerate.
13884
057dd91d
JJ
138852010-01-26 Jakub Jelinek <jakub@redhat.com>
13886
13887 PR fortran/42866
13888 * testsuite/libgomp.fortran/allocatable5.f90: New test.
13889
d0709b6a
PB
138902010-01-20 Paolo Bonzini <bonzini@gnu.org>
13891
13892 * configure.ac: Test for executability of GFORTRAN.
13893 * configure: Regenerate.
13894
b9497ab5
RO
138952010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13896
13897 * configure: Regenerate.
13898
45de5648
L
138992010-01-04 H.J. Lu <hongjiu.lu@intel.com>
13900
13901 PR libgomp/42602
13902 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
13903
e74003a1
RG
139042010-01-03 Richard Guenther <rguenther@suse.de>
13905
13906 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
13907
1b3abda8
SP
139082009-12-23 Sebastian Pop <sebpop@gmail.com>
13909
13910 * testsuite/libgomp.graphite/pr4118.c: New.
13911
e19977d3
IS
139122009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
13913
13914 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
13915 for darwin, protect the test with require-effective-target tls_runtime.
13916 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
13917
1d32a772
IS
139182009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
13919
13920 PR target/41605
13921 * testsuite/lib/libgomp.exp: Provide -B options to allow for
13922 link spec %s substitutions for static libraries.
13923
deb109b2
JH
139242009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
13925
13926 PR testsuite/42135
13927 * libgomp.graphite/force-parallel-2.c: Reduce array size.
13928
43e02a8a
RW
139292009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13930
13931 * Makefile.in: Regenerate.
13932 * configure: Regenerate.
13933 * testsuite/Makefile.in: Regenerate.
13934
17f35e23
DK
139352009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
13936
13937 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
13938 settings for LC_ALL and LANG.
13939
281e33e1
JJ
139402009-11-25 Jakub Jelinek <jakub@redhat.com>
13941
13942 PR fortran/42162
13943 * testsuite/libgomp.fortran/pr42162.f90: New test.
13944
2b32c27d
JJ
139452009-11-13 Jakub Jelinek <jakub@redhat.com>
13946
13947 PR middle-end/42029
281e33e1 13948 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 13949
89c74f4a
JJ
139502009-10-26 Jakub Jelinek <jakub@redhat.com>
13951
13952 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
13953 *s. Accept ld version without text in ()s.
13954 * configure: Regenerated.
13955
7e06c3d6
EB
139562009-10-22 Razya Ladelsky <razya@il.ibm.com>
13957
13958 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
13959
0046b1a7
RW
139602009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13961
13962 PR libgomp/41418
13963 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
13964 or a hyphen (happens with fortran language disabled).
13965 * configure: Regenerate.
13966
c82852f7
RW
139672009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13968
13969 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
13970 use sed script portable to Solaris /bin/sed for extracting ld
13971 version.
13972 * configure: Regenerate.
13973
98f3eb1f
AM
139742009-09-17 Alexander Monakov <amonakov@ispras.ru>
13975
13976 * testsuite/libgomp.graphite/bounds.c: New test.
13977
878f62e5
RW
139782009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13979
13980 * Makefile.am (libgomp_la_LINK): New.
13981 * Makefile.in: Regenerate.
13982
df58e648
RW
139832009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13984
13985 * configure.ac (AC_PREREQ): Bump to 2.64.
13986
5213506e
RW
139872009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13988
70fa0efa
RW
13989 * Makefile.am (install-html, install-pdf): Remove.
13990 * Makefile.in: Regenerate.
13991
5213506e
RW
13992 * Makefile.in: Regenerate.
13993 * aclocal.m4: Regenerate.
13994 * config.h.in: Regenerate.
13995 * configure: Regenerate.
13996 * testsuite/Makefile.in: Regenerate.
13997
84fec8a5
RW
139982009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13999
14000 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
14001 * Makefile.in: Regenerate.
14002
197c68cc
DK
140032009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
14004
14005 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
14006 * Makefile.in: Regenerate.
14007
693d54f2
TB
140082009-08-19 Tobias Burnus <burnus@net-b.de>
14009
14010 PR fortran/41102
14011 omp_lib.h.in: Fix -std=f95 errors.
14012
8cac884c
DE
140132009-08-14 David Edelsohn <edelsohn@gnu.org>
14014
14015 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
14016 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
14017 * testsuite/libgomp.graphite/graphite.exp: New.
14018
78729ee2
AT
140192009-08-05 Andreas Tobler <a.tobler@schweiz.org>
14020
14021 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
14022 only build.
14023
b13b7f39
DD
140242009-08-04 David Daney <ddaney@caviumnetworks.com>
14025
14026 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
14027 needed memory barrier semantics.
14028 * config/linux/mips/mutex.h: New file.
14029
1b3b24c2
RW
140302009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14031
14032 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
14033
396b7fa4
JM
140342009-07-16 Joseph Myers <joseph@codesourcery.com>
14035
14036 * configure: Regenerate.
14037
33cde516
RS
140382009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
14039
14040 PR testsuite/40699
14041 PR testsuite/40707
14042 PR testsuite/40709
14043 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
14044 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
14045 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
14046
bc21bfa5
RS
140472009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
14048
14049 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
14050 options when choosing a multilib.
14051
b30bfd40
RS
140522009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
14053
14054 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
14055 ld_library_path. Use add_path. Add just find_libgcc_s to
14056 ld_library_path, not every libgcc multilib directory.
14057 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
14058 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
14059 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
14060 Use add_path.
14061 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
14062
479c15c2
NF
140632009-06-09 Nathan Froyd <froydnj@codesourcery.com>
14064
14065 * Makefile.am (LTLDFLAGS): Define.
14066 (LINK): Define.
14067 * Makefile.in: Regenerate.
14068
667e6f89
JB
140692009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
14070
14071 PR fortran/39718
14072 * testsuite/libgomp.fortran/fortran.exp: Don't link with
14073 libgfortranbegin, check existence of libgfortran.a instead of
14074 libgfortranbegin.a.
14075
6dea8e99
JJ
140762009-05-20 Jakub Jelinek <jakub@redhat.com>
14077
14078 PR libgomp/40174
14079 * team.c (gomp_thread_start): Destroy thr->release semaphore.
14080 (gomp_free_pool_helper): Likewise.
14081
34d01e1d
VL
140822009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
14083 Jakub Jelinek <jakub@redhat.com>
14084
14085 PR fortran/35423
14086 * testsuite/libgomp.fortran/workshare2.f90: New test.
14087
748086b7
JJ
140882009-04-09 Nick Clifton <nickc@redhat.com>
14089
14090 * iter.c: Change copyright header to refer to version 3 of the
14091 GNU General Public License with version 3.1 of the GCC Runtime
14092 Library Exception and to point readers at the COPYING3 and
14093 COPYING3.RUNTIME files and the FSF's license web page.
14094 * alloc.c: Likewise.
14095 * barrier.c: Likewise.
14096 * config/bsd/proc.c: Likewise.
14097 * config/linux/affinity.c: Likewise.
14098 * config/linux/alpha/futex.h: Likewise.
14099 * config/linux/bar.c: Likewise.
14100 * config/linux/bar.h: Likewise.
14101 * config/linux/ia64/futex.h: Likewise.
14102 * config/linux/ia64/mutex.h: Likewise.
14103 * config/linux/lock.c: Likewise.
14104 * config/linux/mips/futex.h: Likewise.
14105 * config/linux/mutex.c: Likewise.
14106 * config/linux/mutex.h: Likewise.
14107 * config/linux/powerpc/futex.h: Likewise.
14108 * config/linux/proc.c: Likewise.
14109 * config/linux/ptrlock.c: Likewise.
14110 * config/linux/ptrlock.h: Likewise.
14111 * config/linux/s390/futex.h: Likewise.
14112 * config/linux/sem.c: Likewise.
14113 * config/linux/sem.h: Likewise.
14114 * config/linux/sparc/futex.h: Likewise.
14115 * config/linux/wait.h: Likewise.
14116 * config/linux/x86/futex.h: Likewise.
14117 * config/mingw32/proc.c: Likewise.
14118 * config/mingw32/time.c: Likewise.
14119 * config/posix/affinity.c: Likewise.
14120 * config/posix/bar.c: Likewise.
14121 * config/posix/bar.h: Likewise.
14122 * config/posix/lock.c: Likewise.
14123 * config/posix/mutex.h: Likewise.
14124 * config/posix/proc.c: Likewise.
14125 * config/posix/ptrlock.h: Likewise.
14126 * config/posix/sem.c: Likewise.
14127 * config/posix/sem.h: Likewise.
14128 * config/posix/time.c: Likewise.
14129 * config/posix95/lock.c: Likewise.
14130 * critical.c: Likewise.
14131 * env.c: Likewise.
14132 * error.c: Likewise.
14133 * fortran.c: Likewise.
14134 * iter_ull.c: Likewise.
14135 * libgomp.h: Likewise.
14136 * libgomp_f.h.in: Likewise.
14137 * libgomp_g.h: Likewise.
14138 * loop.c: Likewise.
14139 * loop_ull.c: Likewise.
14140 * omp.h.in: Likewise.
14141 * omp_lib.f90.in: Likewise.
14142 * omp_lib.h.in: Likewise.
14143 * ordered.c: Likewise.
14144 * parallel.c: Likewise.
14145 * sections.c: Likewise.
14146 * single.c: Likewise.
14147 * task.c: Likewise.
14148 * team.c: Likewise.
14149 * work.c: Likewise.
14150
141512009-04-09 Jakub Jelinek <jakub@redhat.com>
14152
14153 * testsuite/config/default.exp: Change copyright header to refer to
14154 version 3 of the GNU General Public License and to point readers
14155 at the COPYING3 file and the FSF's license web page.
14156
4f0ae266
JJ
141572009-04-08 Jakub Jelinek <jakub@redhat.com>
14158
14159 PR middle-end/39573
14160 * libgomp.c++/pr39573.C: New test.
14161
03742a9b
JJ
141622009-04-01 Jakub Jelinek <jakub@redhat.com>
14163
14164 PR other/39591
14165 * testsuite/libgomp.c/pr39591-1.c: New test.
14166 * testsuite/libgomp.c/pr39591-2.c: New test.
14167 * testsuite/libgomp.c/pr39591-3.c: New test.
14168
e50ea10b
UB
141692009-03-25 Uros Bizjak <ubizjak@gmail.com>
14170
14171 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
14172 * testsuite/libgomp.c/atomic-6.c: Ditto.
14173
c5cdb03f
JJ
141742009-03-23 Jakub Jelinek <jakub@redhat.com>
14175
14176 PR c/39495
14177 * testsuite/libgomp.c/loop-12.c: New test.
14178 * testsuite/libgomp.c/loop-11.c: New test.
14179 * testsuite/libgomp.c++/loop-11.C: New test.
14180 * testsuite/libgomp.c++/loop-12.C: New test.
14181 * testsuite/libgomp.c++/for-8.C: New test.
14182
7a9d3fe8
RW
141832009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14184
14185 * configure: Regenerate.
14186
3ad6b266
JJ
141872009-02-11 Jakub Jelinek <jakub@redhat.com>
14188
14189 PR middle-end/39154
14190 * testsuite/libgomp.c/pr39154.c: New test.
14191
b39dea08
ILT
141922009-01-30 Ian Lance Taylor <iant@google.com>
14193
14194 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
14195 libgomp_ld_is_gold. Get gold version number.
14196 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
14197 * configure: Rebuild.
14198
72c66596
IS
141992009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14200
e50ea10b 14201 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
14202 use libgfortran.a%s in their specs.
14203
876080ff
JJ
142042009-01-07 Jakub Jelinek <jakub@redhat.com>
14205
14206 PR libgomp/38086
14207 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
14208 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
14209 HAVE_AS_SYMVER_DIRECTIVE is not defined.
14210 * configure: Regenerated.
14211 * config.h.in: Likewise.
14212
e4ebaef3
JJ
142132008-12-28 Jakub Jelinek <jakub@redhat.com>
14214
14215 PR c++/38650
14216 * testsuite/libgomp.c/pr38650.c: New test.
14217 * testsuite/libgomp.c++/pr38650.C: New test.
14218
382017a6
JJ
142192008-12-27 Jakub Jelinek <jakub@redhat.com>
14220
14221 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
14222
79644b27
UB
142232008-12-26 Uros Bizjak <ubizjak@gmail.com>
14224
14225 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
14226
baafc534
RW
142272008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14228
14229 * configure: Regenerate.
14230
d9c194cb
JJ
142312008-12-08 Jakub Jelinek <jakub@redhat.com>
14232
14233 PR middle-end/36802
14234 * testsuite/libgomp.c/pr36802-1.c: New test.
14235 * testsuite/libgomp.c/pr36802-2.c: New test.
14236 * testsuite/libgomp.c/pr36802-3.c: New test.
14237
86a182bf
JJ
142382008-12-01 Janis Johnson <janis187@us.ibm.com>
14239
14240 PR libgomp/38270
14241 * config/linux/powerpc/mutex.h: New.
14242
956adfaf
JJ
142432008-12-01 Jakub Jelinek <jakub@redhat.com>
14244
a2d4cdc9
JJ
14245 PR c++/38257
14246 * testsuite/libgomp.c++/for-7.C: New test.
14247
956adfaf
JJ
14248 PR c++/38348
14249 * testsuite/libgomp.c++/for-6.C: New test.
14250
d4038ca2
JJ
142512008-11-26 Janis Johnson <janis187@us.ibm.com>
14252
14253 PR testsuite/28870
14254 * testsuite/lib/libgomp.exp: Include new timeout library files.
14255 (libgomp_target_compile): Set timeout value from new proc.
14256
8b159eea
SE
142572008-11-13 Steve Ellcey <sje@cup.hp.com>
14258
14259 PR libgomp/37938
14260 * config/linux/ia64/mutex.h: New.
14261
5c6ed53a
TB
142622008-11-04 Tobias Burnus <burnus@net-b.de>
14263
14264 PR libgomp/37935
14265 * libgomp.texi (Runtime library routines, environment variables):
14266 Update for OpenMP version 3.0.
14267
6b4a97ed
PG
142682008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
14269 Steve Ellcey <sje@cup.hp.com>
14270
14271 * configure: Regenerate for new libtool.
14272 * Makefile.in: Ditto.
14273 * testsuite/Makefile.in: Ditto.
14274
e2b34106
JJ
142752008-09-19 Jakub Jelinek <jakub@redhat.com>
14276 Andreas Tobler <a.tobler@schweiz.org>
14277
14278 * config/bsd/proc.c: New file.
8c3b3600 14279 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
14280 * configure.ac: Check for header <sys/sysctl.h>
14281 * configure: Regenerate.
14282 * config.h.in: Likewise.
14283
3606b8bf
JJ
142842008-09-05 Janis Johnson <janis187@us.ibm.com>
14285
14286 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
14287
6528b88d
AL
142882008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
14289
14290 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
14291 * Makefile.in: Regenerated.
14292 * testsuite/Makefile.in: Regenerated.
14293
d9b14b12 142942008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 14295
a16b68bb 14296 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
14297 depend on blddir if blddir exists.
14298 (libgomp_target_compile): Likewise.
14299 * testsuite/libgomp.c++/c++.exp: Likewise.
14300 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14301
70b1e376
RW
143022008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14303
14304 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
14305 Do not list GPL as Invariant Section.
14306
318e8c3f
IG
143072008-07-28 Ilie Garbacea <ilie@mips.com>
14308 Chao-ying Fu <fu@mips.com>
14309
14310 * configure.tgt: Enable futex for MIPS.
14311 * config/linux/mips/futex.h: New file.
14312
4db72361
JJ
143132008-07-16 Jakub Jelinek <jakub@redhat.com>
14314
14315 * team.c (gomp_team_end): Free team immediately if it has
14316 just one thread.
14317
87bd23b8
DE
143182008-07-08 David Edelsohn <edelsohn@gnu.org>
14319
14320 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
14321 * testsuite/libgomp.fortran/fortran.exp: Same.
14322 * testsuite/libgomp.c/c.exp: Same.
14323 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
14324 directory to library path first.
14325
323ff903
KW
143262008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
14327
14328 * env.c (parse_stacksize): Add cast to avoid warning.
14329 (parse_spincount): Likewise.
14330
b357f682
JJ
143312008-06-27 Jakub Jelinek <jakub@redhat.com>
14332
ca2b1311
JJ
14333 * testsuite/libgomp.c/loop-10.c: New test.
14334 * libgomp.c/loop-3.c (main): Add lastprivate clause.
14335 * libgomp.c++/loop-6.C (main): Likewise.
14336
b357f682
JJ
14337 PR debug/36617
14338 * testsuite/libgomp.c/debug-1.c: New test.
14339
09a46078
JJ
143402008-06-19 Jakub Jelinek <jakub@redhat.com>
14341
14342 * testsuite/libgomp.c/nqueens-1.c: New test.
14343
2368a460
JJ
14344 PR c++/36523
14345 * testsuite/libgomp.c++/task-7.C: New function.
14346
18c04407
RW
143472008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14348
14349 * configure: Regenerate.
14350
9c4e59e0
JDA
143512008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14352
14353 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
14354 mutex when HAVE_SYNC_BUILTINS isn't defined.
14355
6ccde948
RW
143562008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14357
14358 * libgomp.texi (omp_test_lock): Fix typo.
14359
b896f9fd
TB
143602008-06-12 Tobias Burnus <burnus@net-b.de>
14361
14362 * omp_lib.f90.in: Add "implicit none".
14363
c34938a8
JJ
143642008-06-12 Jakub Jelinek <jakub@redhat.com>
14365
14366 PR middle-end/36506
14367 * testsuite/libgomp.c/reduction-5.c: New test.
14368
976e44e3
JJ
143692008-06-11 Jakub Jelinek <jakub@redhat.com>
14370
5f836cbb
JJ
14371 * libgomp.h (struct gomp_task): Add in_tied_task field.
14372 * task.c (gomp_init_task): Initialize it.
14373 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
14374 unconditionally. Don't call gomp_team_barrier_wake if
14375 current task is implicit or if(0) from implicit and number of
14376 running tasks is equal to nthreads - 1.
14377
01501fc8
JJ
14378 PR libgomp/36471
14379 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
14380 omp_get_team_size_8): Fix pastos.
14381
976e44e3
JJ
14382 PR libgomp/36469
14383 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
14384 * configure: Regenerated.
14385 * config.h.in: Regenerated.
14386 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
14387 defined.
14388
e919209b
AT
143892008-06-06 Andreas Tobler <a.tobler@schweiz.org>
14390
14391 PR bootstrap/36452
14392 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
14393 (GOMP_loop_ull_dynamic_start): Likewise.
14394 (GOMP_loop_ull_guided_start): Likewise.
14395 (GOMP_loop_ull_ordered_static_start): Likewise.
14396 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
14397 (GOMP_loop_ull_ordered_guided_start): Likewise.
14398
a68ab351
JJ
143992008-06-06 Jakub Jelinek <jakub@redhat.com>
14400 Richard Henderson <rth@redhat.com>
14401 Ulrich Drepper <drepper@redhat.com>
14402 Jakob Blomer <jakob.blomer@ira.uka.de>
14403
14404 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
14405 Substitute also OMP_*LOCK_25*.
14406 * configure: Regenerated.
14407 * config.h.in: Regenerated.
14408 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
14409 ptrlock.c and task.c.
14410 * Makefile.in: Regenerated.
14411 * testsuite/Makefile.in: Regenerated.
14412 * task.c: New file.
14413 * loop_ull.c: New file.
14414 * iter_ull.c: New file.
14415 * libgomp.h: Include ptrlock.h.
14416 (enum gomp_task_kind): New type.
14417 (struct gomp_team): Add task_lock, task_queue, task_count,
14418 task_running_count, single_count fields. Add
14419 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
14420 Remove work_share_lock, generation_mask,
14421 oldest_live_gen, num_live_gen and init_work_shares fields, add
14422 work work_share_list_alloc, work_share_list_free and work_share_chunk
14423 fields. Change work_shares from pointer to pointers into an array.
14424 Change ordered_release field into gomp_sem_t ** from flexible array
14425 member. Add implicit_task and initial_work_shares fields.
14426 Move close to the end of the struct.
14427 (struct gomp_team_state): Add single_count, last_work_share,
14428 active_level and level fields, remove work_share_generation.
14429 (gomp_barrier_handle_tasks): New prototype.
14430 (gomp_finish_task): New inline function.
14431 (struct gomp_work_share): Move chunk_size, end, incr into
14432 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
14433 next_ll fields. Reshuffle fields. Add next_alloc,
14434 next_ws, next_free and inline_ordered_team_ids fields, change
14435 ordered_team_ids into pointer from flexible array member.
14436 Add mode field. Put lock and next into a different cache line
14437 from most of the write-once fields.
14438 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
14439 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
14440 gomp_iter_ull_guided_next): New prototypes.
14441 (gomp_new_icv): New prototype.
14442 (struct gomp_thread): Add thread_pool and task fields.
14443 (struct gomp_thread_pool): New type.
14444 (gomp_new_team): New prototype.
14445 (gomp_team_start): Change type of last argument.
14446 (gomp_new_work_share): Removed.
14447 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
14448 (gomp_work_share_init_done): New static inline.
14449 (gomp_throttled_spin_count_var, gomp_available_cpus,
14450 gomp_managed_threads): New extern decls.
14451 (gomp_init_task): New prototype.
14452 (gomp_spin_count_var): New extern var decl.
14453 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
14454 or no alias support, or if not PIC.
14455 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
14456 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
14457 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
14458 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
14459 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
14460 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
14461 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
14462 gomp_test_nest_lock_25): New prototypes.
14463 (omp_lock_symver, strong_alias): Define.
14464 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
14465 decls.
14466 (gomp_end_task): New.
14467 (struct gomp_task_icv, gomp_global_icv): New.
14468 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
14469 (struct gomp_task): New.
14470 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
14471 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
14472 (gomp_icv): New.
14473 (gomp_schedule_type): Reorder enum to match
14474 omp_sched_t.
14475 * team.c (struct gomp_thread_start_data): Add thread_pool and task
14476 fields.
14477 (gomp_thread_start): Add gomp_team_barrier_wait call.
14478 For non-nested case remove clearing of docked thread thr fields.
14479 Use pool fields instead of global gomp_* variables. Use
14480 gomp_barrier_wait_last when needed. Initialize ts.active_level.
14481 Create tasks for each member thread.
14482 (free_team): Only destroy team barrier, task_lock here and free it.
14483 (gomp_free_thread): Free last_team if non-NULL.
14484 (gomp_team_end): Call gomp_team_barrier_wait instead of
14485 gomp_barrier_wait. For nested case call one extra
14486 gomp_barrier_wait. Move here some destruction from free_team.
14487 Call free_team on pool->last_team if any, rather than freeing
14488 current team. Destroy work_share_list_free_lock ifndef
14489 HAVE_SYNC_BUILTINS.
14490 (gomp_new_icv): New function.
14491 (gomp_threads, gomp_threads_size, gomp_threads_used,
14492 gomp_threads_dock): Removed.
14493 (gomp_thread_destructor): New variable.
14494 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
14495 functions.
14496 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 14497 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
14498 Initialize thread_pool field for new threads. Clear single_count.
14499 Change last argument from ws to team, don't create
14500 new team, set ts.work_share to &team->work_shares[0] and clear
14501 ts.last_work_share. Don't clear ts.work_share_generation.
14502 If number of threads changed, adjust atomically gomp_managed_threads.
14503 Use gomp_init_task instead of gomp_new_task,
14504 set thr->task to the corresponding implicit_task array entry.
14505 Create tasks for each member thread. Initialize ts.level.
14506 (initialize_team): Call pthread_key_create on
14507 gomp_thread_destructor.
14508 (team_destructor): New function.
14509 (new_team): Removed.
14510 (gomp_new_team): New function.
14511 (free_team): Free gomp_work_share blocks chained through next_alloc,
14512 instead of freeing work_shares and destroying work_share_lock.
14513 (gomp_team_end): Call gomp_fini_work_share. If number of threads
14514 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
14515 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
14516 of gomp_barrier_wait.
14517 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
14518 instead of gomp_barrier_wait. Call gomp_work_share_init_done
14519 if gomp_work_share_start returned true. Don't unlock ws->lock.
14520 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
14521 of gomp_barrier_wait.
14522 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
14523 gomp_work_share_init_done if gomp_work_share_start returned true.
14524 Don't unlock ws->lock.
14525 * work.c: Include stddef.h.
14526 (free_work_share): Use work_share_list_free_lock instead
14527 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
14528 Call gomp_fini_work_share and then either free ws if orphaned, or
14529 put it into work_share_list_free list of the current team.
14530 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
14531 functions.
14532 (gomp_work_share_start, gomp_work_share_end,
14533 gomp_work_share_end_nowait): Rewritten.
14534 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
14535 (openmp_version): Set to 200805.
14536 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
14537 omp_sched_guided, omp_sched_auto): New parameters.
14538 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14539 omp_set_max_active_levels, omp_get_max_active_levels,
14540 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14541 omp_get_active_level): New interfaces.
14542 * omp_lib.h.in (openmp_version): Set to 200805.
14543 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
14544 omp_sched_guided, omp_sched_auto): New parameters.
14545 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14546 omp_set_max_active_levels, omp_get_max_active_levels,
14547 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14548 omp_get_active_level): New externals.
14549 * loop.c: Include limits.h.
14550 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
14551 GFS_AUTO.
14552 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
14553 Likewise. Use gomp_icv.
14554 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
14555 ts.static_trip here.
14556 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
14557 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
14558 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
14559 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
14560 don't unlock ws->lock, otherwise lock it.
14561 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
14562 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
14563 (gomp_parallel_loop_start): Call gomp_new_team instead of
14564 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
14565 Adjust gomp_team_start caller. Pass 0 as second argument to
14566 gomp_resolve_num_threads.
14567 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
14568 If adding ws->chunk_size nthreads + 1 times after end won't
14569 overflow, set ws->mode to 1.
14570 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
14571 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
14572 GOMP_loop_ull_ordered_static_start,
14573 GOMP_loop_ull_ordered_dynamic_start,
14574 GOMP_loop_ull_ordered_guided_start,
14575 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
14576 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
14577 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
14578 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
14579 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
14580 prototypes.
14581 * libgomp.map: Export lock routines also @@OMP_2.0.
14582 (GOMP_loop_ordered_dynamic_first,
14583 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
14584 GOMP_loop_ordered_static_first): Remove.
14585 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
14586 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
14587 GOMP_loop_ull_ordered_dynamic_next,
14588 GOMP_loop_ull_ordered_dynamic_start,
14589 GOMP_loop_ull_ordered_guided_next,
14590 GOMP_loop_ull_ordered_guided_start,
14591 GOMP_loop_ull_ordered_runtime_next,
14592 GOMP_loop_ull_ordered_runtime_start,
14593 GOMP_loop_ull_ordered_static_next,
14594 GOMP_loop_ull_ordered_static_start,
14595 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
14596 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
14597 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
14598 (omp_set_schedule, omp_get_schedule,
14599 omp_get_thread_limit, omp_set_max_active_levels,
14600 omp_get_max_active_levels, omp_get_level,
14601 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
14602 omp_set_schedule_, omp_set_schedule_8_,
14603 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
14604 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
14605 omp_get_max_active_levels_, omp_get_level_,
14606 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
14607 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
14608 New exports @@OMP_3.0.
14609 * omp.h.in (omp_sched_t): New type.
14610 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14611 omp_set_max_active_levels, omp_get_max_active_levels,
14612 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14613 omp_get_active_level): New prototypes.
14614 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
14615 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
14616 gomp_thread_limit_var, gomp_remaining_threads_count,
14617 gomp_remaining_threads_lock): New variables.
14618 (parse_spincount): New function.
14619 (initialize_env): Call gomp_init_num_threads unconditionally.
14620 Initialize gomp_available_cpus. Call parse_spincount,
14621 initialize gomp_{,throttled_}spin_count_var
14622 depending on presence and value of OMP_WAIT_POLICY and
14623 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
14624 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
14625 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
14626 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
14627 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
14628 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
14629 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
14630 (gomp_global_icv): New.
14631 (parse_schedule): Use it. Parse "auto".
14632 (omp_set_num_threads): Use gomp_icv.
14633 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
14634 Likewise.
14635 (omp_get_max_threads): Move from parallel.c.
14636 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14637 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
14638 add ialias.
14639 (parse_stacksize, parse_wait_policy): New functions.
14640 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
14641 both wrappers for compatibility and new locks.
14642 (omp_set_schedule, omp_get_schedule,
14643 omp_get_thread_limit, omp_set_max_active_levels,
14644 omp_get_max_active_levels, omp_get_level,
14645 omp_get_ancestor_thread_num, omp_get_team_size,
14646 omp_get_active_level): New ialias_redirect.
14647 (omp_set_schedule_, omp_set_schedule_8_,
14648 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
14649 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
14650 omp_get_max_active_levels_, omp_get_level_,
14651 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
14652 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
14653 New functions.
14654 * parallel.c: Include limits.h.
14655 (gomp_resolve_num_threads): Add count argument. Rewritten.
14656 (GOMP_parallel_start): Call gomp_new_team and pass that as last
14657 argument to gomp_team_start. Pass 0 as second argument to
14658 gomp_resolve_num_threads.
14659 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
14660 if gomp_thread_limit_var != ULONG_MAX.
14661 (omp_in_parallel): Implement using ts.active_level.
14662 (omp_get_max_threads): Move to env.c.
14663 (omp_get_level, omp_get_ancestor_thread_num,
14664 omp_get_team_size, omp_get_active_level): New functions,
14665 add ialias.
14666 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
14667 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
14668 gomp_iter_dynamic_next instead of the _locked variant and don't take
14669 lock around it, otherwise acquire it before calling
14670 gomp_iter_dynamic_next_locked.
14671 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
14672 gomp_iter_dynamic_next instead of the _locked variant and don't take
14673 lock around it.
14674 (GOMP_parallel_sections_start): Call gomp_new_team instead of
14675 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
14676 Adjust gomp_team_start caller. Pass count as second argument to
14677 gomp_resolve_num_threads, don't adjust num_threads after the call.
14678 Use gomp_icv.
14679 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
14680 ws->chunk_size by incr.
14681 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
14682 code.
14683 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
14684 types.
14685 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
14686 (omp_check_defines): Check even the compat defines.
14687 * config/linux/ptrlock.c: New file.
14688 * config/linux/ptrlock.h: New file.
14689 * config/linux/wait.h: New file.
14690 * config/posix/ptrlock.c: New file.
14691 * config/posix/ptrlock.h: New file.
14692 * config/linux/bar.h (gomp_team_barrier_wait,
14693 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
14694 (gomp_team_barrier_set_task_pending,
14695 gomp_team_barrier_clear_task_pending,
14696 gomp_team_barrier_set_waiting_for_tasks,
14697 gomp_team_barrier_waiting_for_tasks,
14698 gomp_team_barrier_done): New inlines.
14699 (gomp_barrier_t): Rewritten.
14700 (gomp_barrier_state_t): New typedef.
14701 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
14702 gomp_barrier_wait_start): Rewritten.
14703 (gomp_barrier_wait_end): Change second argument to
14704 gomp_barrier_state_t.
14705 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
14706 inlines.
14707 * config/linux/bar.c: Include wait.h instead of libgomp.h and
14708 futex.h.
14709 (gomp_barrier_wait_end): Rewritten.
14710 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
14711 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
14712 * config/posix/bar.h (gomp_barrier_t): Add generation field.
14713 (gomp_barrier_state_t): New typedef.
14714 (gomp_team_barrier_wait,
14715 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
14716 (gomp_barrier_wait_start): Or all but low 2 bits from generation
14717 into the return value. Return gomp_barrier_state_t.
14718 (gomp_team_barrier_set_task_pending,
14719 gomp_team_barrier_clear_task_pending,
14720 gomp_team_barrier_set_waiting_for_tasks,
14721 gomp_team_barrier_waiting_for_tasks,
14722 gomp_team_barrier_done): New inlines.
14723 (gomp_barrier_wait_end): Change second argument to
14724 gomp_barrier_state_t.
14725 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
14726 inlines.
14727 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
14728 (gomp_barrier_wait_end): Change second argument to
3e348fcc 14729 gomp_barrier_state_t.
a68ab351
JJ
14730 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
14731 gomp_team_barrier_wake): New functions.
14732 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
14733 futex.h.
14734 (gomp_futex_wake, gomp_futex_wait): New variables.
14735 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
14736 * config/linux/lock.c: Rewrite to make locks task owned,
14737 for backwards compatibility provide the old entrypoints
14738 if symbol versioning. Include wait.h instead of libgomp.h and
14739 futex.h.
14740 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
14741 * config/posix95/lock.c: Rewrite to make locks task owned,
14742 for backwards compatibility provide the old entrypoints
14743 if symbol versioning.
14744 * config/posix/lock.c: Rewrite to make locks task owned,
14745 for backwards compatibility provide the old entrypoints
14746 if symbol versioning.
14747 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
14748 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
14749 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
14750 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14751 (sys_futex0): Return error code.
14752 (futex_wake, futex_wait): If ENOSYS was returned, clear
14753 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14754 (cpu_relax, atomic_write_barrier): New static inlines.
14755 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14756 (futex_wake, futex_wait): If ENOSYS was returned, clear
14757 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14758 (cpu_relax, atomic_write_barrier): New static inlines.
14759 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14760 (sys_futex0): Return error code.
14761 (futex_wake, futex_wait): If ENOSYS was returned, clear
14762 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14763 (cpu_relax, atomic_write_barrier): New static inlines.
14764 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14765 (sys_futex0): Return error code.
14766 (futex_wake, futex_wait): If ENOSYS was returned, clear
14767 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14768 (cpu_relax, atomic_write_barrier): New static inlines.
14769 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14770 (sys_futex0): Return error code.
14771 (futex_wake, futex_wait): If ENOSYS was returned, clear
14772 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14773 (cpu_relax, atomic_write_barrier): New static inlines.
14774 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14775 (sys_futex0): Return error code.
14776 (futex_wake, futex_wait): If ENOSYS was returned, clear
14777 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14778 (cpu_relax, atomic_write_barrier): New static inlines.
14779 * config/linux/sem.c: Include wait.h instead of libgomp.h and
14780 futex.h.
14781 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
14782 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
14783 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
14784 types.
14785 (omp_nest_lock_t): Change owner into void *, add lock field.
14786 * config/posix95/omp-lock.h: Include semaphore.h.
14787 (omp_lock_25_t, omp_nest_lock_25_t): New types.
14788 (omp_lock_t): Use sem_t instead of mutex if semaphores
14789 aren't broken.
14790 (omp_nest_lock_t): Likewise. Change owner to void *.
14791 * config/posix/omp-lock.h: Include semaphore.h.
14792 (omp_lock_25_t, omp_nest_lock_25_t): New types.
14793 (omp_lock_t): Use sem_t instead of mutex if semaphores
14794 aren't broken.
14795 (omp_nest_lock_t): Likewise. Add owner field.
14796
147972008-06-06 Jakub Jelinek <jakub@redhat.com>
14798
14799 * testsuite/libgomp.c/collapse-1.c: New test.
14800 * testsuite/libgomp.c/collapse-2.c: New test.
14801 * testsuite/libgomp.c/collapse-3.c: New test.
14802 * testsuite/libgomp.c/icv-1.c: New test.
14803 * testsuite/libgomp.c/icv-2.c: New test.
14804 * testsuite/libgomp.c/lib-2.c: New test.
14805 * testsuite/libgomp.c/lock-1.c: New test.
14806 * testsuite/libgomp.c/lock-2.c: New test.
14807 * testsuite/libgomp.c/lock-3.c: New test.
14808 * testsuite/libgomp.c/loop-4.c: New test.
14809 * testsuite/libgomp.c/loop-5.c: New test.
14810 * testsuite/libgomp.c/loop-6.c: New test.
14811 * testsuite/libgomp.c/loop-7.c: New test.
14812 * testsuite/libgomp.c/loop-8.c: New test.
14813 * testsuite/libgomp.c/loop-9.c: New test.
14814 * testsuite/libgomp.c/nested-3.c: New test.
14815 * testsuite/libgomp.c/nestedfn-6.c: New test.
14816 * testsuite/libgomp.c/sort-1.c: New test.
14817 * testsuite/libgomp.c/task-1.c: New test.
14818 * testsuite/libgomp.c/task-2.c: New test.
14819 * testsuite/libgomp.c/task-3.c: New test.
14820 * testsuite/libgomp.c/task-4.c: New test.
14821 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
14822 to C++ testsuite default compiler options.
14823 * testsuite/libgomp.c++/collapse-1.C: New test.
14824 * testsuite/libgomp.c++/collapse-2.C: New test.
14825 * testsuite/libgomp.c++/ctor-10.C: New test.
14826 * testsuite/libgomp.c++/for-1.C: New test.
14827 * testsuite/libgomp.c++/for-2.C: New test.
14828 * testsuite/libgomp.c++/for-3.C: New test.
14829 * testsuite/libgomp.c++/for-4.C: New test.
14830 * testsuite/libgomp.c++/for-5.C: New test.
14831 * testsuite/libgomp.c++/loop-8.C: New test.
14832 * testsuite/libgomp.c++/loop-9.C: New test.
14833 * testsuite/libgomp.c++/loop-10.C: New test.
14834 * testsuite/libgomp.c++/task-1.C: New test.
14835 * testsuite/libgomp.c++/task-2.C: New test.
14836 * testsuite/libgomp.c++/task-3.C: New test.
14837 * testsuite/libgomp.c++/task-4.C: New test.
14838 * testsuite/libgomp.c++/task-5.C: New test.
14839 * testsuite/libgomp.c++/task-6.C: New test.
14840 * testsuite/libgomp.fortran/allocatable1.f90: New test.
14841 * testsuite/libgomp.fortran/allocatable2.f90: New test.
14842 * testsuite/libgomp.fortran/allocatable3.f90: New test.
14843 * testsuite/libgomp.fortran/allocatable4.f90: New test.
14844 * testsuite/libgomp.fortran/collapse1.f90: New test.
14845 * testsuite/libgomp.fortran/collapse2.f90: New test.
14846 * testsuite/libgomp.fortran/collapse3.f90: New test.
14847 * testsuite/libgomp.fortran/collapse4.f90: New test.
14848 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
14849 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
14850 * testsuite/libgomp.fortran/lib4.f90: New test.
14851 * testsuite/libgomp.fortran/lock-1.f90: New test.
14852 * testsuite/libgomp.fortran/lock-2.f90: New test.
14853 * testsuite/libgomp.fortran/nested1.f90: New test.
14854 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
14855 * testsuite/libgomp.fortran/strassen.f90: New test.
14856 * testsuite/libgomp.fortran/tabs1.f90: New test.
14857 * testsuite/libgomp.fortran/tabs2.f: New test.
14858 * testsuite/libgomp.fortran/task1.f90: New test.
14859 * testsuite/libgomp.fortran/task2.f90: New test.
14860 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
14861 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14862 * testsuite/libgomp.c/pr26943-2.c: Likewise.
14863 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14864 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14865
7a0112e7
JJ
148662008-05-23 Jakub Jelinek <jakub@redhat.com>
14867
14868 PR c++/36308
14869 * testsuite/libgomp.c++/ctor-11.C: New test.
14870 * testsuite/libgomp.c++/ctor-12.C: New test.
14871
91a5b394
JJ
148722008-05-15 Janis Johnson <janis187@us.ibm.com>
14873
14874 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
14875
c18c98c0
JJ
148762008-05-07 Jakub Jelinek <jakub@redhat.com>
14877
14878 PR middle-end/36106
14879 * testsuite/libgomp.c/atomic-5.c: New test.
14880 * testsuite/libgomp.c/atomic-6.c: New test.
14881 * testsuite/libgomp.c/autopar-1.c: New test.
14882
6d26724a
RW
148832008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14884
14885 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
14886 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
14887 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
14888 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
14889 * configure: Regenerate.
14890 * Makefile.in, testsuite/Makefile.in: Likewise.
14891
deb984e6
PB
148922008-04-18 Paolo Bonzini <bonzini@gnu.org>
14893
14894 PR bootstrap/35457
14895 * aclocal.m4: Regenerate.
14896 * configure: Regenerate.
14897
9e775963
JJ
148982008-03-18 Jakub Jelinek <jakub@redhat.com>
14899
8119fc93
JJ
14900 PR middle-end/35611
14901 * testsuite/libgomp.c/atomic-4.c: New test.
14902
9e775963
JJ
14903 PR libgomp/35625
14904 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
14905 (gomp_iter_guided_next): Likewise.
14906 * testsuite/libgomp.c/pr35625.c: New test.
14907
38d24731
RW
149082008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14909
14910 * aclocal.m4: Regenerate.
14911 * configure: Likewise.
14912 * Makefile.in: Likewise.
14913 * testsuite/Makefile.in: Likewise.
14914
d0fb20be
JJ
149152008-03-13 Jakub Jelinek <jakub@redhat.com>
14916
14917 PR middle-end/35185
14918 * testsuite/libgomp.c++/pr35185.C: New test.
14919
7c8f7639
JJ
149202008-03-12 Jakub Jelinek <jakub@redhat.com>
14921
14922 PR middle-end/35549
14923 * testsuite/libgomp.c/pr35549.c: New test.
14924
251923f5
JJ
149252008-03-06 Jakub Jelinek <jakub@redhat.com>
14926
14927 * testsuite/libgomp.c/atomic-3.c: New test.
14928
f489fba1
FXC
149292008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14930
14931 PR fortran/33197
251923f5 14932 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
14933 .F08 file suffixes.
14934
a1b25e49
PG
149352008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
14936
14937 PR libgomp/33131
14938 * configure.ac: Add ACX_HEADER_STRING.
14939 * env.c: Include strings.h.
14940 * aclocal.m4: Regenerate.
14941 * config.h.in: Regenerate.
14942 * configure: Regenerate.
14943 * Makefile.in: Regenerate.
14944 * testsuite/Makefile.in: Regenerate.
14945
6837b3b8
JJ
149462008-02-15 Jakub Jelinek <jakub@redhat.com>
14947
ac84c062
JJ
14948 PR middle-end/35196
14949 * testsuite/libgomp.c/pr35196.c: New test.
14950
6837b3b8
JJ
14951 PR middle-end/35130
14952 * testsuite/libgomp.fortran/pr35130.f90: New test.
14953 * testsuite/libgomp.c/pr35130.c: New test.
14954
c256730c
JJ
149552008-01-25 Jakub Jelinek <jakub@redhat.com>
14956
14957 PR middle-end/33880
14958 * testsuite/libgomp.c/pr33880.c: New test.
14959 * testsuite/libgomp.fortran/pr33880.f90: New test.
14960
c8e95542 149612008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
14962
14963 * configure: Regenerate.
14964
0f3e711e
JJ
149652008-01-08 Jakub Jelinek <jakub@redhat.com>
14966
14967 * configure.ac: Move futex checking into ../config/futex.m4.
14968 * configure: Rebuilt.
14969 * aclocal.m4: Rebuilt.
14970 * Makefile.in: Rebuilt.
14971
14972 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
14973 2007-10-15 ../config/tls.m4 change.
14974
5259c813
JJ
149752007-12-19 Jakub Jelinek <jakub@redhat.com>
14976
14977 PR c++/34513
14978 * testsuite/libgomp.c/pr34513.c: New test.
14979 * testsuite/libgomp.c++/pr34513.C: New test.
14980
ae8d8879
JH
149812007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
14982
14983 PR target/32765
14984 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
14985
2b4cf991
JJ
149862007-12-04 Jakub Jelinek <jakub@redhat.com>
14987
14988 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
14989
d2dda7fe
JJ
149902007-12-03 Jakub Jelinek <jakub@redhat.com>
14991
14992 * testsuite/libgomp.c/private-1.c: New test.
14993
d683ec81
PB
149942007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
14995 Paolo Bonzini <bonzini@gnu.org>
14996
14997 * Makefile.am: Use space as vpath separator. Use 'vpath %'
14998 instead of 'VPATH ='.
14999 * Makefile.in: Regenerate.
15000
a7415017
MK
150012007-11-23 Matthias Klose <doko@ubuntu.com>
15002
15003 * configure.ac: Adjust makeinfo version check.
15004 * configure: Regenerate.
15005
78e47463
JJ
150062007-11-10 Jakub Jelinek <jakub@redhat.com>
15007
15008 PR fortran/34020
15009 * testsuite/libgomp.fortran/pr34020.f90: New test.
15010
239371f9
JJ
150112007-11-06 Jakub Jelinek <jakub@redhat.com>
15012
15013 PR c++/33894
15014 * testsuite/libgomp.c++/atomic-1.C: New test.
15015
98a5fa94
JJ
150162007-10-25 Jakub Jelinek <jakub@redhat.com>
15017
15018 PR libgomp/33275
15019 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
15020 Make x and y integers rather than (implicit) reals. Add private (j)
15021 clause to the last omp parallel.
15022
3afcaaf4
MR
150232007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
15024
15025 * configure: Regenerate following changes to ../config/tls.m4.
15026
bd69daef
JJ
150272007-09-28 Jakub Jelinek <jakub@redhat.com>
15028
15029 * testsuite/libgomp.fortran/stack.f90: New test.
15030
1d0bd356
DS
150312007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
15032
15033 * config/mingw32/proc.c: New file.
15034
b3172cab
UB
150352007-09-05 Uros Bizjak <ubizjak@gmail.com>
15036
15037 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
15038 (main): Use __get_cpuid to get i386 target fetaures.
15039 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
15040 (main): Use __get_cpuid to get x86_64 target fetaures.
15041
6da17392
JH
150422007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
15043
15044 PR target/32765
15045 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
15046 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
15047
e1c82219
JJ
150482007-07-12 Jakub Jelinek <jakub@redhat.com>
15049
15050 PR fortran/32550
15051 * testsuite/libgomp.fortran/pr32550.f90: New test.
15052 * testsuite/libgomp.fortran/crayptr2.f90: New test.
15053
12a27363
L
150542007-07-05 H.J. Lu <hongjiu.lu@intel.com>
15055
15056 * aclocal.m4: Regenerated.
15057
5349080d
TB
150582007-07-05 Tobias Burnus <burnus@net-b.de>
15059
15060 PR fortran/32359
15061 * testsuite/libgomp.fortran/pr32359.f90: New.
15062
4f9c450c
JJ
150632007-07-02 Jakub Jelinek <jakub@redhat.com>
15064
15065 PR libgomp/32468
15066 * sections.c (GOMP_parallel_sections_start): Only decrease
15067 number of threads to COUNT if dyn_var is true.
15068 * testsuite/libgomp.c/pr32468.c: New test.
15069
28c67ed7
RO
150702007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15071
15072 PR libgomp/26308
15073 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
15074
64964499
JJ
150752007-06-21 Jakub Jelinek <jakub@redhat.com>
15076
15077 PR middle-end/32362
15078 * testsuite/libgomp.c/pr32362-1.c: New test.
15079 * testsuite/libgomp.c/pr32362-2.c: New test.
15080 * testsuite/libgomp.c/pr32362-3.c: New test.
15081
46d8fbd1
JJ
150822007-06-07 Jakub Jelinek <jakub@redhat.com>
15083
15084 * team.c (gomp_team_start): Fix setting up thread_attr
15085 stack size.
15086
82a6cadf
PB
150872007-06-02 Paolo Bonzini <bonzini@gnu.org>
15088
15089 * configure: Regenerate.
15090
1cf3d07d
SE
150912007-05-23 Steve Ellcey <sje@cup.hp.com>
15092
15093 * Makefile.in: Regenerate.
15094 * configure: Regenerate.
15095 * aclocal.m4: Regenerate.
15096 * testsuite/Makefile.in: Regenerate.
15097
12aac30b
JJ
150982007-05-04 Jakub Jelinek <jakub@redhat.com>
15099
15100 * config/linux/proc.c: New file.
15101
f1028b02
JJ
15102 PR libgomp/28482
15103 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
15104
06785a48
DF
151052007-04-19 Daniel Franke <franke.daniel@gmail.com>
15106
15107 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
15108
b3b08ba0
MK
151092007-04-16 Matthias Klose <doko@debian.org>
15110
15111 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
15112 flags if not building with -m64.
15113 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
15114 flag for i?86-*-* targets, if current target matches -m64.
15115
6b2c5ce0
SE
151162007-04-14 Steve Ellcey <sje@cup.hp.com>
15117
15118 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
15119 * Makefile.in: Regenerate.
15120
dd56fe7c
JDA
151212007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15122
15123 PR testsuite/31369
15124 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
15125 ld_library_path.
15126 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15127
a0884cf0
JJ
151282007-04-04 Jakub Jelinek <jakub@redhat.com>
15129
15130 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
15131 decls.
15132 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
15133 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
15134 (parse_affinity): New function.
15135 (initialize_env): Call it and gomp_init_affinity.
15136 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
15137 create new pthread_attr_t and call gomp_init_thread_affinity
15138 on it for each thread before passing the attribute to pthread_create.
15139 * config/linux/affinity.c: New file.
15140 * config/posix/affinity.c: New file.
15141 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
15142 * configure: Rebuilt.
15143 * config.h.in: Rebuilt.
15144 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
15145 * Makefile.in: Rebuilt.
15146
1850744b
AT
151472007-03-23 Andreas Tobler <a.tobler@schweiz.org>
15148
15149 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
15150 *-*-darwin*.
15151 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
15152 and use it if found.
15153
516f1ed8
UB
151542007-03-18 Uros Bizjak <ubizjak@gmail.com>
15155
15156 * testsuite/config/default.exp: New file.
15157 * testsuite/lib/libgomp.exp: New file.
15158 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
15159 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
15160 load_lib *, load_gcc_lib *): Move to libgomp.exp.
15161 (libgomp_load): Remove.
15162 * testsuite/lib/libgomp.exp (libgomp_init): Compute
15163 always_ld_library_path, not ld_library_path. Set additional_flags
15164 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
15165 (target_compile): Do not call libgomp_init. Append lang_library_path
15166 and lang_link_flags to options.
15167 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
15168 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
15169 here.
15170 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
15171 always_ld_library_path. Set LD_LIBRARY_PATH here.
15172 * testsuite/libgomp.fortran/fortran.exp: Ditto.
15173 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
15174 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
15175 CX8 flag.
15176 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
15177 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
15178 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
15179 * testsuite/libgomp.c/pr29947-1.c: Ditto.
15180 * testsuite/libgomp.c/atomic-10.c: Ditto.
15181
2ada56f5
JJ
151822007-03-21 Jakub Jelinek <jakub@redhat.com>
15183
15184 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
15185 dg-final cleanup-modules line.
15186 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
15187 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
15188 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
15189 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
15190 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
15191 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
15192 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
15193
f210f1cd
AS
151942007-03-18 Andreas Schwab <schwab@suse.de>
15195
15196 * acinclude.m4: Adjust regular expression for ld version
15197 extraction.
15198 * configure: Regenerate.
15199
c4dc950d
BM
152002007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
15201
15202 * Makefile.am: Add install-pdf target as copied from
15203 automake v1.10 rules.
15204 * Makefile.in: Regenerate
15205
e02a048f
JJ
152062007-02-07 Jakub Jelinek <jakub@redhat.com>
15207
78e075d4
JJ
15208 PR libgomp/28486
15209 * configure: Regenerate.
15210
e02a048f
JJ
15211 PR c++/30703
15212 * testsuite/libgomp.c++/pr30703.C: New test.
15213
60def7ed
JJ
152142007-02-02 Jakub Jelinek <jakub@redhat.com>
15215
15216 Revert:
15217 2006-07-05 Eric Christopher <echristo@apple.com>
15218 * configure.ac: Depend addition of -pthread on host OS.
15219 * configure: Regenerate.
15220
f1b0882e
RW
152212007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15222
15223 * libgomp.texi: Fix spacing after abbreviations.
15224
748b9d7c
DF
152252007-01-31 Daniel Franke <franke.daniel@gmail.com>
15226
15227 PR libgomp/30546
15228 * configure.ac: Add check for makeinfo
15229 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 15230 if an appropriate version of makeinfo is found.
748b9d7c
DF
15231 * aclocal.m4: Regenerated.
15232 * configure: Regenerated.
15233 * Makefile.in: Regenerated.
15234 * testsuite/Makefile.in: Regenerated.
15235
14734fc7
DF
152362007-01-29 Daniel Franke <franke.daniel@gmail.com>
15237
15238 PR libgomp/30540
15239 * libgomp.texi: More about implementation-dependent settings.
15240
7befd5d2
TB
152412007-01-26 Tobias Burnus <burnus@net-b.de>
15242
15243 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
15244
4288fea2
JJ
152452007-01-24 Jakub Jelinek <jakub@redhat.com>
15246
15247 PR middle-end/30494
15248 * testsuite/libgomp.c/pr30494.c: New test.
15249
627ab4b8
TT
152502007-01-15 Tom Tromey <tromey@redhat.com>
15251
15252 * configure: Rebuilt.
15253 * configure.ac: Fixed comment.
15254
7c2b7f45
DF
152552007-01-14 Daniel Franke <franke.daniel@gmail.com>
15256
15257 * libgomp.texi: Document implementation specific default values of
15258 environment variables.
15259
3721b9e1
DF
152602006-12-21 Daniel Franke <franke.daniel@gmail.com>
15261
15262 PR libgomp/28209
15263 * libgomp.texi: New file.
15264 * configure.ac: Add --enable-generated-files-in-srcdir option.
15265 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
15266 files to srcdir.
15267 * Makefile.in: Regenerated.
15268 * config.h.in: Regenerated.
15269 * testsuite/Makefile.in: Regenerated.
15270 * NOTES: Removed.
15271
62bd6216
DF
152722006-12-04 Daniel Franke <franke.daniel@gmail.com>
15273
15274 PR libgomp/29949
15275 * env.c (omp_set_num_threads): Set illegal thread count to 1.
15276
aad741f4
EB
152772006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
15278
15279 * configure: Regenerate.
15280
22568cc6
JJ
152812006-12-04 Jakub Jelinek <jakub@redhat.com>
15282
15283 PR libgomp/29947
15284 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
15285 start if there shouldn't be any loop iterations.
15286 (gomp_loop_ordered_static_start): Remove start == end test.
15287 * testsuite/libgomp.c/pr29947-1.c: New test.
15288 * testsuite/libgomp.c/pr29947-2.c: New test.
15289
a9690009
EB
152902006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
15291
15292 * configure.tgt: Force initial-exec TLS model on Linux only.
15293
597c25e6
DJ
152942006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
15295
15296 * configure: Regenerated.
15297
6acf0b38
UB
152982006-11-09 Uros Bizjak <ubizjak@gmail.com>
15299
15300 * env.c (parse_schedule): Reject out of range values.
15301 (parse_unsigned_long): Reject out of range, negative or zero values.
15302
a7a53ca5
JJ
153032006-10-29 Jakub Jelinek <jakub@redhat.com>
15304
15305 PR fortran/29629
15306 * testsuite/libgomp.fortran/pr29629.f90: New test.
15307
6d4d216a
EB
153082006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
15309
15310 PR libgomp/29494
15311 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
15312 * config/posix95: New directory.
15313 * config/posix95/omp-lock.h: New file.
15314 * config/posix95/lock.c: Likewise.
15315
5b043f08
GK
153162006-10-14 Geoffrey Keating <geoffk@apple.com>
15317
15318 * aclocal.m4: Regenerate.
15319 * configure: Regenerate.
15320
b50019f0
DS
153212006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
15322
15323 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
15324 '<' to '<='.
15325
8887708e
DS
153262006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
15327
15328 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
15329 test.
15330 * configure: Regenerate.
15331 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
15332
9b9e4cd6
JJ
153332006-09-26 Jakub Jelinek <jakub@redhat.com>
15334
a70ad3bb
JJ
15335 PR middle-end/25261
15336 PR middle-end/28790
15337 * testsuite/libgomp.c/nestedfn-4.c: New test.
15338 * testsuite/libgomp.c/nestedfn-5.c: New test.
15339 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
15340
9b9e4cd6
JJ
15341 PR fortran/29097
15342 * testsuite/libgomp.fortran/condinc1.f: New test.
15343 * testsuite/libgomp.fortran/condinc2.f: New test.
15344 * testsuite/libgomp.fortran/condinc3.f90: New test.
15345 * testsuite/libgomp.fortran/condinc4.f90: New test.
15346 * testsuite/libgomp.fortran/condinc1.inc: New file.
15347
2fb31455
TT
153482006-09-18 Tom Tromey <tromey@redhat.com>
15349
15350 * configure: Rebuilt.
15351
c663e301
JM
153522006-09-13 Joseph S. Myers <joseph@codesourcery.com>
15353
15354 PR c/28768
15355 PR preprocessor/14634
15356 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
15357 to AC_DEFINE.
15358 * configure: Regenerate.
15359
38371be9
SK
153602006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
15361
15362 * testsuite/libgomp.fortran/reduction3.f90: Change
15363 -2147483648 to -huge(i)-1 to avoid overflow.
15364 * testsuite/libgomp.fortran/reduction4.f90: Change
15365 Z'ffffffff' to not(0) to avoid overflow.
15366
571d5ac5
JM
153672006-08-26 Joseph S. Myers <joseph@codesourcery.com>
15368
15369 PR libgomp/25938
15370 * Makefile.am (libsubincludedir): New.
15371 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
15372 * Makefile.in: Regenerate.
15373
89b3e3cd
JJ
153742006-08-17 Jakub Jelinek <jakub@redhat.com>
15375
15376 PR libgomp/28725
15377 * env.c: Include ctype.h.
15378 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
15379 leading and/or trailing whitespace and compare strings case
15380 insensitively.
15381
742fae05
JJ
153822006-07-16 Jakub Jelinek <jakub@redhat.com>
15383
15384 PR fortran/28390
15385 * testsuite/libgomp.fortran/pr28390.f: New test.
15386
a1daed2d
EC
153872006-07-05 Eric Christopher <echristo@apple.com>
15388
15389 * configure.ac: Depend addition of -pthread on host OS.
15390 * configure: Regenerate.
15391
5d7b5199
JJ
153922006-06-21 Jakub Jelinek <jakub@redhat.com>
15393
15394 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
15395 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
15396 defined.
15397
fe5568e9
JJ
153982006-06-20 Jakub Jelinek <jakub@redhat.com>
15399
15400 PR libgomp/26175
15401 PR libgomp/26477
15402 * configure.ac: If neither --enable-linux-futex nor
15403 --disable-linux-futex is passed, determine the default by checking
15404 for compiling and/or running against NPTL. With --enable-linux-futex,
15405 check if SYS_gettid and SYS_futex are defined.
15406 * configure: Rebuilt.
15407
c3b11a40
RH
154082006-06-14 Richard Henderson <rth@redhat.com>
15409
15410 PR libgomp/28008
15411 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
15412 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
15413
d0d1b24d
RH
154142006-06-09 Richard Henderson <rth@redhat.com>
15415
15416 * env.c (gomp_nthreads_var): Change to unsigned long.
15417 (gomp_run_sched_chunk): Likewise.
15418 (parse_unsigned_long): Rename from parse_num_threads and generalize.
15419 (initialize_env): Initialize gomp_thread_attr.
15420 * libgomp.h (gomp_nthreads_var): Update decl.
15421 (gomp_run_sched_chunk): Likewise.
15422 (gomp_thread_attr): Declare.
15423 * team.c (gomp_thread_attr): Export.
15424 (initialize_team): Don't initialize it.
15425
cd75853e
JJ
154262006-06-09 Jakub Jelinek <jakub@redhat.com>
15427
15428 PR fortran/27916
15429 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
15430 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
15431
33815e0c
FXC
154322006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
15433
15434 * config/mingw32/time.c: New file.
15435 * configure.tgt: Use it.
15436
6667de0d
CD
154372006-05-23 Carlos O'Donell <carlos@codesourcery.com>
15438
15439 * Makefile.am: Add install-html target. Add install-html to .PHONY
15440 * Makefile.in: Regenerate.
15441
e962c46b
JDA
154422006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15443
15444 PR libgomp/27612
15445 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
15446 * testsuite/libgomp.c/critical-1.c: Likewise.
15447 * testsuite/libgomp.c/loop-1.c: Likewise.
15448 * testsuite/libgomp.c/loop-2.c: Likewise.
15449 * testsuite/libgomp.c/single-1.c: Likewise.
15450 * testsuite/libgomp.c/ordered-1.c: Likewise.
15451 * testsuite/libgomp.c/ordered-2.c: Likewise.
15452
eeb1d9e0
JJ
154532006-05-15 Jakub Jelinek <jakub@redhat.com>
15454
15455 PR middle-end/27416
15456 * libgomp.fortran/pr27416-1.f90: New test.
15457
693d710f
JJ
154582006-05-03 Jakub Jelinek <jakub@redhat.com>
15459
15460 PR fortran/27395
15461 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
15462 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
15463
8ca5b2a2
JJ
154642006-05-02 Jakub Jelinek <jakub@redhat.com>
15465
15466 PR c++/26943
15467 * testsuite/libgomp.c/pr26943-1.c: New test.
15468 * testsuite/libgomp.c/pr26943-2.c: New test.
15469 * testsuite/libgomp.c/pr26943-3.c: New test.
15470 * testsuite/libgomp.c/pr26943-4.c: New test.
15471 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
15472 * testsuite/libgomp.c++/pr26943.C: New test.
15473
077b0dfb
JJ
154742006-05-02 Jakub Jelinek <jakub@redhat.com>
15475
15476 PR middle-end/27337
15477 * testsuite/libgomp.c++/pr27337.C: New test.
15478
91b6c26d
JJ
154792006-04-26 Jakub Jelinek <jakub@redhat.com>
15480
15481 PR c/26171
15482 * testsuite/libgomp.c/pr26171.c: New test.
15483
60e1758f
RH
154842006-04-25 Richard Henderson <rth@redhat.com>
15485
15486 PR libgomp/25865
15487 * configure.ac: Use GCC_CHECK_TLS.
15488 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
15489 * Makefile.in, aclocal.m4, configure: Regenerate.
15490
615baed7
MK
154912006-04-10 Matthias Klose <doko@debian.org>
15492
15493 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
15494 directory names containing underscores.
15495
fae2b46b
JJ
154962006-03-21 Jakub Jelinek <jakub@redhat.com>
15497
15498 PR c++/26691
15499 * testsuite/libgomp.c++/pr26691.C: New test.
15500
11a5f608
JJ
155012006-03-13 Jakub Jelinek <jakub@redhat.com>
15502
15503 * testsuite/libgomp.fortran/retval2.f90: New test.
15504
1799e5d5
RH
155052006-03-09 Diego Novillo <dnovillo@redhat.com>
15506
15507 * testsuite/libgomp.c++: New directory.
15508
d349482e
AT
155092006-02-25 Shantonu Sen <ssen@opendarwin.org>
15510
15511 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
15512 * config/posix/sem.c: Implement the above.
15513
155142006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
15515
15516 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
15517 define HAVE_BROKEN_POSIX_SEMAPHORES.
15518 * configure: Rebuilt.
15519 * config.h.in: Rebuilt.
15520
124452c9
FXC
155212006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
15522
15523 PR bootstrap/26161
15524 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
15525 for the other pthread check.
15526 * configure: Regenerate.
15527 * config.h.in: Regenerate.
15528
dd8d6dfe
JJ
155292006-02-15 Jakub Jelinek <jakub@redhat.com>
15530
15531 PR libgomp/25938
15532 PR libgomp/25984
15533 * Makefile.am (fincludedir): New variable.
15534 (nodist_include_HEADERS): Remove Fortran files.
15535 (nodist_finclude_HEADERS): New variable.
15536 * Makefile.in: Regenerated.
15537
6c7a4dfd
JJ
155382006-02-13 Jakub Jelinek <jakub@redhat.com>
15539
15540 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
15541 Remove tests for returning assumed character length arrays.
15542
5142e08b
RS
155432006-02-12 Roger Sayle <roger@eyesopen.com>
15544 John David Anglin <dave@hiauly1.hia.nrc.ca>
15545
15546 PR libgomp/25936
15547 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 15548
5821fba8
UW
155492006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
15550
15551 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
15552
cb2bbc67
EB
155532006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
15554
15555 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
15556 part of LD_LIBRARY_PATH manually.
15557
f05ee80c
L
155582006-02-03 H.J. Lu <hongjiu.lu@intel.com>
15559
15560 PR libgomp/25852
15561 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
15562 libgomp_init.
15563
03b8fe49
PB
155642005-01-25 Paolo Bonzini <bonzini@gnu.org>
15565
15566 PR libgomp/25884
f05ee80c
L
15567 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
15568 * configure.ac (PERL): Don't set.
15569 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
15570 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
15571 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
15572 * omp.h.in: Wrap the new configure substitutions with @ characters.
15573 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
15574 * aclocal.m4, configure, Makefile.in: Regenerate.
15575 * mkomp_h.pl: Delete.
03b8fe49 15576
18cbfd85
PB
155772005-01-24 Paolo Bonzini <bonzini@gnu.org>
15578
15579 PR libgomp/25259
15580 * configure.ac: Use GCC_HEADER_STDINT.
15581 * libgomp.h: Include gstdint.h.
15582 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
15583 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
15584
c41303c6
RH
155852006-01-24 Richard Henderson <rth@redhat.com>
15586
15587 PR libgomp/25942
15588 * configure.ac: Add AM_MAINTAINER_MODE.
15589 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
15590
149b9553
DN
155912006-01-24 Diego Novillo <dnovillo@redhat.com>
15592
15593 * Makefile.in: Regenerate.
15594 * testsuite/Makefile.in: Regenerate.
15595 * aclocal.m4: Regenerate.
15596
192a50ad
AT
155972006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
15598
15599 * config/posix/proc.c: Conditional include of sys/loadavg.h for
15600 Solaris.
15601 * configure.ac: Add check for loadavg.h.
15602 (link_gomp): Adjust comment.
15603 * configure: Regenerate.
15604 * config.h.in: Regenerate.
15605
a55b8e18
SE
156062006-01-21 Steve Ellcey <sje@cup.hp.com>
15607
15608 PR libgomp/25877
15609 * configure.ac: Remove check for alloca.h.
15610 * configure: Regenerate.
15611 * config.h.in: Regenerate.
15612 * libgomp.h: define gomp_alloca to be __builtin_alloca.
15613 * team.c: Remove use of alloca.h.
15614 Call gomp_alloca instead of alloca.
15615
692eeb34
SE
156162006-01-20 Steve Ellcey <sje@cup.hp.com>
15617
15618 PR libgomp/25877
15619 * team.c: Add include of alloca.h.
15620 * configure.ac: Add check for alloca.h.
15621 * configure: Regenerate.
15622 * config.h.in: Regenerate.
15623
953ff289
DN
156242006-01-17 Jakub Jelinek <jakub@redhat.com>
15625
15626 PR fortran/25219
15627 * testsuite/libgomp.fortran/pr25219.f90: New test.
15628
156292005-12-05 Uros Bizjak <uros@kss-loka.si>
15630
15631 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
15632 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
15633 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
15634 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
15635 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
15636 testsuite/libgomp.fortran/threadprivate1.f90,
15637 testsuite/libgomp.fortran/threadprivate2.f90,
15638 testsuite/libgomp.fortran/threadprivate3.f90,
15639 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
15640 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
15641 testsuite/libgomp.fortran/omp_parse3.f90: Change required
15642 effective-target to TLS runtime.
15643
15644 * testsuite/libgomp.fortran/pr25162.f: Require
15645 effective-target TLS runtime.
15646
156472005-12-01 Jakub Jelinek <jakub@redhat.com>
15648
15649 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
15650 * testsuite/libgomp.c/nestedfn-3.c: New test.
15651
156522005-11-30 Jakub Jelinek <jakub@redhat.com>
15653
15654 PR fortran/25162
15655 * testsuite/libgomp.fortran/pr25162.f: New test.
15656
156572005-11-28 Jakub Jelinek <jakub@redhat.com>
15658
15659 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
15660 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
15661
156622005-11-25 Jakub Jelinek <jakub@redhat.com>
15663
15664 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
15665 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
15666 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
15667 single.c, team.c, work.c, config/linux/alpha/futex.h,
15668 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
15669 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
15670 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
15671 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
15672 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
15673 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
15674 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
15675 FSF address.
15676
156772005-11-18 Jakub Jelinek <jakub@redhat.com>
15678
15679 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
15680 to nodist_noinst_HEADERS.
15681 * Makefile.in: Rebuilt.
15682
15683 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
15684 add integer count field.
15685 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
15686 omp_nest_lock_t type change.
15687 (omp_init_nest_lock): Likewise. Initialize count to 0.
15688 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
15689 Increment count.
15690 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
15691 Decrement count.
15692 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
15693 Increment count if successful and return the new nesting level.
15694 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
15695 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
15696 * testsuite/libgomp.c/lib-1.c: New test.
15697 * testsuite/libgomp.fortran/lib1.f90: New test.
15698 * testsuite/libgomp.fortran/lib2.f: New test.
15699 * testsuite/libgomp.fortran/lib3.f: New test.
15700
157012005-11-17 Richard Henderson <rth@redhat.com>
15702
15703 PR 24845
15704 * Makefile.am (nodist_toolexeclib_HEADERS): New.
15705 * configure.ac (link_gomp): New. Substitute it.
15706 (AC_CONFIG_FILES): Add libgomp.spec.
15707 * libgomp.spec.in: New file.
15708 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
15709 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
15710
157112005-11-18 Jakub Jelinek <jakub@redhat.com>
15712
15713 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
15714 reduction(-:var) behaving the same as reduction(+:var).
15715 * testsuite/libgomp.c/reduction-4.c: New test.
15716
157172005-11-15 Uros Bizjak <uros@kss-loka.si>
15718
15719 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
15720 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
15721 testsuite/libgomp.c/copyin-3.c,
15722 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
15723 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
15724 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
15725 testsuite/libgomp.c++/pr24455.C,
15726 testsuite/libgomp.fortran/threadprivate1.f90,
15727 testsuite/libgomp.fortran/threadprivate2.f90,
15728 testsuite/libgomp.fortran/threadprivate3.f90,
15729 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
15730 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
15731 testsuite/libgomp.fortran/omp_parse3.f90: Require
15732 effective-target TLS.
15733
157342005-11-14 Diego Novillo <dnovillo@redhat.com>
15735
15736 * HEADER: Remove.
15737
157382005-11-13 Jakub Jelinek <jakub@redhat.com>
15739
15740 PR libgomp/24797
15741 * team.c (initialize_team): Pass NULL rather than free as
15742 pthread_key_create destructor. Initialize thread specific data
15743 pointer in initial thread to a static local variable rather than
15744 malloced memory.
15745
157462005-11-11 Uros Bizjak <uros@kss-loka.si>
15747
15748 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
15749 its location to ld_library_path.
15750
157512005-11-10 Diego Novillo <dnovillo@redhat.com>
15752
15753 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
15754
157552005-11-10 Diego Novillo <dnovillo@redhat.com>
15756
15757 * testsuite/libgomp.c: Rename from libgomp.dg.
15758
157592005-11-09 Diego Novillo <dnovillo@redhat.com>
15760
15761 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
15762 threadprivate variable 'i'.
15763
157642005-11-09 Jakub Jelinek <jakub@redhat.com>
15765
15766 * config/linux/s390/futex.h: New file.
15767 * configure.tgt: Use it.
15768
15769 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
15770 before the parallel.
15771
157722005-11-08 Jakub Jelinek <jakub@redhat.com>
15773
15774 PR c++/24734
15775 * testsuite/libgomp.c++/master-1.C: New test.
15776
157772005-11-07 Jakub Jelinek <jakub@redhat.com>
15778
15779 * testsuite/libgomp.dg/copyin-3.c: New test.
15780
157812005-11-07 Jakub Jelinek <jakub@redhat.com>
15782
15783 * testsuite/libgomp.fortran/retval1.f90: New test.
15784 * testsuite/libgomp.fortran/vla7.f90: New test.
15785
157862005-11-06 Jakub Jelinek <jakub@redhat.com>
15787
15788 * testsuite/libgomp.fortran/vla2.f90: New test.
15789 * testsuite/libgomp.fortran/vla3.f90: New test.
15790 * testsuite/libgomp.fortran/vla4.f90: New test.
15791 * testsuite/libgomp.fortran/vla5.f90: New test.
15792 * testsuite/libgomp.fortran/vla6.f90: New test.
15793
157942005-11-01 Jakub Jelinek <jakub@redhat.com>
15795
15796 * config/linux/sparc/futex.h: New file.
15797 * configure.tgt: Use it.
15798 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
15799
15800 * critical.c: Include stdlib.h.
15801 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
15802 ignoring return value.
15803 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
15804 LIBGOMP_CHECK_SYNC_BUILTINS check.
15805 * configure: Rebuilt.
15806
158072005-10-31 Jakub Jelinek <jakub@redhat.com>
15808
15809 * testsuite/libgomp.fortran/vla1.f90: New test.
15810
158112005-10-31 Richard Henderson <rth@redhat.com>
15812
15813 * testsuite/libgomp.fortran/character2.f90: Fix race condition
15814 setting 's' in different threads.
15815
158162005-10-31 Jakub Jelinek <jakub@redhat.com>
15817
15818 * libgomp.h (attribute_hidden, ialias): Define.
15819 * config/posix/proc.c (omp_get_num_procs): Add ialias.
15820 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
15821 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
15822 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
15823 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
15824 omp_test_lock, omp_test_nest_lock): Likewise.
15825 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
15826 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
15827 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
15828 omp_test_lock, omp_test_nest_lock): Likewise.
15829 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
15830 omp_get_dynamic, omp_get_nested): Likewise.
15831 * parallel.c (omp_get_num_threads, omp_get_max_threads,
15832 omp_get_thread_num, omp_in_parallel): Likewise.
15833 * fortran.c (ialias_redirect): Define.
15834 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
15835 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
15836 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
15837 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
15838 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
15839 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
15840 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
15841 omp_get_wtime): Add ialias_redirect.
15842
158432005-10-30 Jakub Jelinek <jakub@redhat.com>
15844
15845 * fortran.c: Include stdlib.h.
15846
158472005-10-29 Jakub Jelinek <jakub@redhat.com>
15848
15849 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
15850 * Makefile.in: Regenerated.
15851
158522005-10-28 Jakub Jelinek <jakub@redhat.com>
15853
15854 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
15855 * libgomp_f.h.in (omp_check_defines): New function.
15856 * env.c: Include libgomp_f.h.
15857 (initialize_env): Call omp_check_defines.
15858
15859 * testsuite/libgomp.dg/copyin-2.c: New test.
15860 * testsuite/libgomp.c++/copyin-2.C: New test.
15861 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
15862
15863 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
15864 * testsuite/libgomp.fortran/sharing2.f90: New test.
15865
15866 * testsuite/libgomp.dg/copyin-1.c: New test.
15867 * testsuite/libgomp.c++/copyin-1.C: New test.
15868
158692005-10-26 Jakub Jelinek <jakub@redhat.com>
15870
15871 * testsuite/libgomp.fortran/crayptr1.f90: New test.
15872
15873 * testsuite/libgomp.fortran/workshare1.f90: New test.
15874
15875 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
15876 only test.
15877 * libgomp.fortran/sharing1.f90: New test.
15878
158792005-10-24 Jakub Jelinek <jakub@redhat.com>
15880
15881 PR c++/24502
15882 * testsuite/libgomp.c++/loop-7.C: New test.
15883
15884 * testsuite/libgomp.dg/nestedfn-2.c: New test.
15885
15886 * testsuite/libgomp.dg/nestedfn-1.c: New test.
15887 * testsuite/libgomp.fortran/reduction6.f90: New test.
15888 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
15889
158902005-10-23 Richard Henderson <rth@redhat.com>
15891
15892 * testsuite/libgomp.c++/ctor-1.C: New.
15893 * testsuite/libgomp.c++/ctor-2.C: New.
15894 * testsuite/libgomp.c++/ctor-3.C: New.
15895 * testsuite/libgomp.c++/ctor-4.C: New.
15896 * testsuite/libgomp.c++/ctor-5.C: New.
15897 * testsuite/libgomp.c++/ctor-6.C: New.
15898 * testsuite/libgomp.c++/ctor-7.C: New.
15899 * testsuite/libgomp.c++/ctor-8.C: New.
15900 * testsuite/libgomp.c++/ctor-9.C: New.
15901
159022005-10-21 Diego Novillo <dnovillo@redhat.com>
15903
15904 PR 24455
15905 * testsuite/libgomp.c++/pr24455-1.C: New test.
15906 * testsuite/libgomp.c++/pr24455.C: New test.
15907 * testsuite/libgomp.dg/pr24455-1.c: New test.
15908 * testsuite/libgomp.dg/pr24455.c: New test.
15909
159102005-10-20 Richard Henderson <rth@redhat.com>
15911
15912 * testsuite/libgomp.c++/loop-6.C: New.
15913 * testsuite/libgomp.dg/loop-3.c: New.
15914
159152005-10-20 Jakub Jelinek <jakub@redhat.com>
15916
15917 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
15918 explicitly private.
15919 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
15920 explicitly shared.
15921
159222005-10-19 Diego Novillo <dnovillo@redhat.com>
15923
15924 * testsuite/libgomp.fortran/jacobi.f: New test.
15925
159262005-10-19 Richard Henderson <rth@redhat.com>
15927
15928 * configure.tgt (i?86-linux): Default to with_arch instead of
15929 CFLAGS. Add -mtune to match target_cpu.
15930 (x86_64-linux): Tune to i686.
15931
15932 * fortran.c (omp_test_nest_lock_): Fix typo.
15933
159342005-10-19 Jakub Jelinek <jakub@redhat.com>
15935
15936 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
15937 gomp_ordered_sync): Do nothing if team->nthreads == 1.
15938 * testsuite/libgomp.dg/ordered-3.c: New test.
15939
15940 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
15941 Remove volatile keyword.
15942
15943 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
15944 in COMMON block to avoid warnings on 64-bit targets.
15945
159462005-10-18 Diego Novillo <dnovillo@redhat.com>
15947
15948 * testsuite/libgomp.dg/shared-3.c: New test.
15949
159502005-10-18 Jakub Jelinek <jakub@redhat.com>
15951
15952 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
15953 * testsuite/libgomp.fortran/reduction5.f90: New test.
15954
159552005-10-18 Jakub Jelinek <jakub@redhat.com>
15956
15957 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
15958 dg-options.
15959 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
15960 flush loop now that __sync_synchronize has proper memory barrier.
15961 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
15962 Add -ffixed-form to dg-options.
15963
159642005-10-17 Diego Novillo <dnovillo@redhat.com>
15965
15966 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
15967 from subdirectories.
15968 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
15969 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
15970 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
15971 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
15972 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
15973 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
15974 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
15975 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
15976 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
15977 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
15978 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
15979 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
15980 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
15981 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
15982 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
15983 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
15984 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
15985 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
15986 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
15987 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
15988 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
15989 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
15990 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
15991 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
15992 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
15993
159942005-10-17 Jakub Jelinek <jakub@redhat.com>
15995
15996 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
15997 lang_library_path exists. Use find instead of glob to gather tests.
15998 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
15999
160002005-10-17 Diego Novillo <dnovillo@redhat.com>
16001
16002 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
16003 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
16004 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
16005 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
16006 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
16007 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
16008 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
16009 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
16010 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
16011 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
16012 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
16013 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
16014 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
16015
160162005-10-15 Jakub Jelinek <jakub@redhat.com>
16017
16018 * testsuite/libgomp.dg/vla-1.c: New test.
16019
16020 * testsuite/libgomp.fortran/reference2.f90: New test.
16021
16022 * testsuite/libgomp.fortran/character2.f90: Remove explicit
16023 declaration of omp_get_thread_num.
16024 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
16025 use omp_lib.
16026
16027 * testsuite/libgomp.fortran/reduction1.f90: New test.
16028 * testsuite/libgomp.fortran/reduction2.f90: New test.
16029 * testsuite/libgomp.fortran/reduction3.f90: New test.
16030 * testsuite/libgomp.fortran/reduction4.f90: New test.
16031
160322005-10-13 Richard Henderson <rth@redhat.com>
16033
16034 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
16035 * Makefile.in: Regenerate.
16036 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
16037 * libgomp.h: Include bar.h.
16038 (struct gomp_barrier): Remove.
16039 (struct gomp_team): Add barrier. Replace master_barrier with
16040 master_release. Replace threads with ordered_release.
16041 (struct gomp_thread): Replace barrier with release.
16042 * ordered.c (gomp_ordered_first): Update for ordered_release change.
16043 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
16044 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
16045 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
16046 (GOMP_single_copy_end): Likewise.
16047 * team.c (gomp_threads_dock): New.
16048 (gomp_barrier_init, gomp_barrier_destroy): Remove.
16049 (gomp_thread_start): Use gomp_barrier_wait.
16050 (new_team, free_team): Update for gomp_team changes.
16051 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
16052 (gomp_team_end): Use gomp_barrier_wait.
16053 (initialize_team): Update for gomp_thread changes.
16054 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
16055 (gomp_work_share_end_nowait): Use atomic ops when available.
16056 * config/linux/bar.c, config/linux/bar.h: New files.
16057 * config/posix/bar.c, config/posix/bar.h: New files.
16058
160592005-10-13 Jakub Jelinek <jakub@redhat.com>
16060
16061 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
16062 * testsuite/libgomp.dg/single-2.c: New test.
16063
16064 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
16065 lang_link_flags): Unset, so that they aren't inherited from previously
16066 sourced *.exp.
16067
16068 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
16069
160702005-10-12 Richard Henderson <rth@redhat.com>
16071
16072 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
16073 (libgomp_init): Use lang_test_file, lang_library_path, and
16074 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
16075
16076 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
16077 (lang_test_file, lang_link_flags): New.
16078 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
16079
16080 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
16081 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
16082 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
16083 testsuite/libgomp.c++/parallel-1.C,
16084 testsuite/libgomp.c++/reduction-1.C,
16085 testsuite/libgomp.c++/reduction-2.C,
16086 testsuite/libgomp.c++/reduction-3.C,
16087 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
16088 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
16089 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
16090 New files, largely cribbed from the C testsuite.
16091
160922005-10-12 Jakub Jelinek <jakub@redhat.com>
16093
16094 * testsuite/libgomp.fortran/character1.f90: New test.
16095 * testsuite/libgomp.fortran/character2.f90: New test.
16096
16097 * testsuite/libgomp.dg/nested-1.c: New test.
16098 * testsuite/libgomp.dg/nested-2.c: New test.
16099 * testsuite/libgomp.fortran/do1.f90: New test.
16100 * testsuite/libgomp.fortran/do2.f90: New test.
16101
16102 * testsuite/libgomp.fortran/reference1.f90: New test.
16103
161042005-10-11 Jakub Jelinek <jakub@redhat.com>
16105
16106 * testsuite/libgomp.dg/reduction-1.c: New test.
16107 * testsuite/libgomp.dg/reduction-2.c: New test.
16108 * testsuite/libgomp.dg/reduction-3.c: New test.
16109
161102005-10-10 Jakub Jelinek <jakub@redhat.com>
16111
16112 * testsuite/libgomp.dg/atomic-1.c: New test.
16113 * testsuite/libgomp.dg/atomic-2.c: New test.
16114
161152005-10-09 Richard Henderson <rth@redhat.com>
16116
16117 * critical.c (atomic_lock): New.
16118 (initialize_critical): Initialize it.
16119 (GOMP_atomic_start, GOMP_atomic_end): New.
16120 * libgomp.map: Export them.
16121 * libgomp_g.h: Declare them.
16122
16123 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
16124
161252005-10-02 Richard Henderson <rth@redhat.com>
16126
16127 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
16128 to XCFLAGS instead of CFLAGS.
16129
161302005-09-30 Richard Henderson <rth@redhat.com>
16131
16132 * configure.ac: Determine whether -pthread or -lpthread is needed.
16133 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 16134 * Makefile.in, configure: Rebuild.
953ff289
DN
16135
161362005-09-28 Richard Henderson <rth@redhat.com>
16137
16138 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
16139 * testsuite/libgomp.dg/omp-single-3.c: New test.
16140
161412005-09-28 Diego Novillo <dnovillo@redhat.com>
16142
16143 * testsuite/libgomp.dg/omp-single-2.c: New test.
16144 * testsuite/libgomp.dg/shared-2.c: Fix return code.
16145
161462005-09-27 Richard Henderson <rth@redhat.com>
16147
16148 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
16149 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
16150
161512005-09-27 Jakub Jelinek <jakub@redhat.com>
16152
16153 * testsuite/libgomp.dg/omp-loop03.c: New test.
16154
161552005-09-27 Diego Novillo <dnovillo@redhat.com>
16156
16157 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
16158
161592005-09-27 Diego Novillo <dnovillo@redhat.com>
16160
16161 * testsuite/libgomp.dg/omp-single-1.c: New test.
16162 * testsuite/libgomp.dg/shared-1.c: Return 0.
16163 Add prototype for abort.
16164 * testsuite/libgomp.dg/shared-2.c: Likewise.
16165
161662005-09-26 Jakub Jelinek <jakub@redhat.com>
16167
16168 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
16169 constructs.
16170
161712005-09-26 Diego Novillo <dnovillo@redhat.com>
16172
16173 * testsuite/libgomp.dg/shared-1.c: New test.
16174 * testsuite/libgomp.dg/shared-2.c: New test.
16175
161762005-09-24 Richard Henderson <rth@redhat.com>
16177
16178 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
16179
161802005-09-24 Richard Henderson <rth@redhat.com>
16181
16182 * iter.c (gomp_iter_static_next): Round up when computing number
16183 of iterations. Don't bother distributing a remainder equally.
16184
16185 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
16186 Don't call srand. Zero b before testing.
16187 (main): New.
16188
161892005-09-24 Jakub Jelinek <jakub@redhat.com>
16190
16191 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
16192 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
16193
161942005-09-23 Jakub Jelinek <jakub@redhat.com>
16195
16196 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
16197 without !$omp end do, followed immediately by subroutine end.
16198
161992005-09-23 Diego Novillo <dnovillo@redhat.com>
16200
16201 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
16202
162032005-09-22 Richard Henderson <rth@redhat.com>
16204
16205 * critical.c (GOMP_critical_name_start): Change argument to void**.
16206 Reuse the pointer space if the mutex fits.
16207 (GOMP_critical_name_end): Likewise.
16208 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
16209 * libgomp_g.h (GOMP_critical_name_start): Update decl.
16210 (GOMP_critical_name_end): Likewise.
16211 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
16212 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
16213
162142005-09-20 Richard Henderson <rth@redhat.com>
16215
16216 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
16217 (create_lock_lock): New.
16218 (initialize_critical): Initialize it.
16219 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
16220 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
16221
162222005-09-20 Diego Novillo <dnovillo@redhat.com>
16223
16224 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
16225
162262005-09-20 Diego Novillo <dnovillo@redhat.com>
16227
16228 * testsuite/libgomp.dg/omp-loop01.c: New test.
16229 * testsuite/libgomp.dg/omp-loop02.c: New test.
16230
162312005-09-20 Jakub Jelinek <jakub@redhat.com>
16232
16233 * configure.ac (AC_PROG_FC): Add.
16234 (USE_FORTRAN): New automake conditional.
16235 * configure: Rebuilt.
16236 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
16237 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
16238 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
16239 Add rules to build them.
16240 * Makefile.in: Rebuilt.
16241 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
16242 OMP_NEST_LOCK_KIND.
16243 * libgomp.map: Add Fortran wrappers.
16244 * libgomp_f.h.in: New file.
16245 * omp_lib.h.in: New file.
16246 * omp_lib.f90.in: New file.
16247 * fortran.c: New file.
16248 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
16249 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
16250 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
16251 libgfortran has been built.
16252 * testsuite/libgomp.fortran/fortran.exp: New file.
16253 * testsuite/libgomp.fortran/omp_cond1.f: New test.
16254 * testsuite/libgomp.fortran/omp_cond2.f: New test.
16255 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
16256 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
16257 * testsuite/libgomp.fortran/omp_hello.f: New test.
16258 * testsuite/libgomp.fortran/omp_orphan.f: New test.
16259 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
16260 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
16261 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
16262 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
16263 * testsuite/libgomp.fortran/omp_reduction.f: New test.
16264 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
16265 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
16266
162672005-08-30 Richard Henderson <rth@redhat.com>
16268
16269 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
16270 function for when aliases are not usable.
16271 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
16272 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
16273 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
16274 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
16275 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
16276 GOMP_loop_ordered_guided_next): Likewise.
16277 * ordered.c (GOMP_ordered_start): Likewise.
16278
162792005-08-01 Diego Novillo <dnovillo@redhat.com>
16280
16281 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
16282 * testsuite/libgomp.dg/omp_hello.c: Fix return code
16283 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
16284 * testsuite/libgomp.dg/omp_orphan.c: Likewise
16285 * testsuite/libgomp.dg/omp_reduction.c: Likewise
16286 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
16287 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
16288 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
16289 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
16290
162912005-07-07 Eric Christopher <echristo@redhat.com>
16292 Diego Novillo <dnovillo@redhat.com>
16293
16294 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
16295 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
16296 up code.
16297 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
16298 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
16299 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
16300 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
16301 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
16302 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
16303 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
16304
163052005-06-13 Diego Novillo <dnovillo@redhat.com>
16306
16307 * TOPLEVEL.patch: Remove.
16308
163092005-05-16 Richard Henderson <rth@redhat.com>
16310
16311 * configure.ac: Test for clock_gettime.
16312 * config.h.in, configure: Rebuild.
16313 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
16314 (omp_get_wtime): Use clock_gettime if available.
16315 (omp_get_wtick): Use clock_getres if available.
16316
163172005-05-11 Richard Henderson <rth@redhat.com>
16318
16319 * config/linux/ia64/futex.h: New file.
16320 * configure.tgt: Use it.
16321
16322 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
16323
163242005-05-07 Richard Henderson <rth@redhat.com>
16325
16326 * config/linux/powerpc/futex.h: New file.
16327 * configure.tgt: Use it.
16328
16329 * config/linux/i486/futex.h: Merge ...
16330 * config/linux/x86_64/futex.h: ... into ...
16331 * config/linux/x86/futex.h: ... here.
16332 * configure.tgt: Update to match.
16333
163342005-05-06 Richard Henderson <rth@redhat.com>
16335
16336 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
16337 * config/linux/i486/futex.h: Likewise.
16338 * config/linux/x86_64/futex.h: Likewise.
16339
16340 * config/linux/lock.c: New file.
16341 * config/linux/omp-lock.h: New file.
16342
16343 * critical.c, env.h: Don't include omp.h
16344 * config/posix/lock.c: Include libgomp.h instead of omp.h.
16345 * config/posix/time.c: Likewise.
16346 * config/posix/omp-lock.h: New file.
16347 * libgomp.h: Include omp-lock.h and omp.h.
16348 * Makefile.am (nodist_include_HEADERS): New.
16349 (omp.h): New rule.
16350 * configure.ac (PERL): New.
16351 * mkomp_h.pl: New file.
16352 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
16353 with templates.
16354 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
16355
16356 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
16357 build directory. Re-add -march=i486 hack.
16358
16359 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
16360 (libgomp_link_flags): Remove.
16361 (libgomp_initialized): Remove.
16362 (libgomp_init): Don't protect from reinitialization. Copy code
16363 from libstdc++ for getting the multilib set correctly.
16364
163652005-05-05 Richard Henderson <rth@redhat.com>
16366
16367 * config/linux/alpha/futex.h: New file.
16368 * configure.tgt (alpha*-*-linux*): Use it.
16369
16370 * config/posix/mutex.c: New file.
16371 * config/posix/sem.c: Use libgomp.h.
16372
16373 * configure.tgt (x86_64-linux): Also test CC for -m32.
16374 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
16375
a1daed2d 16376 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
16377 after $gccpath.
16378
16379 * Makefile.am (SUBDIRS): New.
16380 (libgomp_la_LDFLAGS): Add -lpthread.
16381 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
16382 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
16383
16384 * libgomp_g.h: New file.
16385 * libgomp.h: Split out all public declarations to libgomp_g.h.
16386 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
16387 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
16388 * config/linux/sem.h: Likewise.
16389 * config/posix/sem.h: Likewise.
16390
16391 * Makefile.am (AM_LDFLAGS): New.
16392 (libgomp_version_script): Split out from ...
16393 (libgomp_la_LDFLAGS): ... here.
16394 (libgomp_version_info): New.
16395 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
16396 (LIBGOMP_ENABLE): New.
16397 (LIBGOMP_CHECK_LINKER_FEATURES): New.
16398 (LIBGOMP_ENABLE_SYMVERS): New.
16399 * configure.ac (AC_INIT): Version 1.0.
16400 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
16401 (enable-linux-futex): Likewise. Rename from enable-futex.
16402 (libtool_VERSION): New.
16403 (LIBGOMP_ENABLE_SYMVERS): Use it.
16404 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
16405 * Makefile.in, aclocal.m4, configure: Rebuild.
16406
16407 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
16408 (gomp_mutex_unlock_slow): Fix typo.
16409 * config/linux/sem.c: Similarly.
16410 (gomp_sem_post_slow): Fix typo.
16411 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
16412 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
16413 [__PIC__] (sys_futex0): Don't use tmp output in asm.
16414
16415 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
16416 (libgomp_la_LDFLAGS): Add top_srcdir to path.
16417 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
16418 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
16419 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
16420 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
16421 LDFLAGS. Pull enable_futex check to top-level.
16422 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
16423 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
16424
16425 First attempt at real configury.
16426 * Makefile, config.h: Remove file.
16427 * Makefile.am, Makefile.in: New file.
16428 * acinclude.m4 aclocal.m4: New file.
16429 * configure.ac, configure.tgt, configure: New file.
16430
16431 * config/posix/lock.c: Rename from sys-lock.c.
16432 * config/posix/mutex.h: Rename from sys-mutex.h.
16433 * config/posix/sem.c: Rename from sys-sem.c.
16434 * config/posix/sem.h: Rename from sys-sem.h.
16435 * config/posix/proc.c: Rename from sys-proc.c.
16436 * config/posix/time.c: Rename from sys-proc.c.
16437
16438 * config/linux/mutex.c: New file.
16439 * config/linux/mutex.h: New file.
16440 * config/linux/sem.c: New file.
16441 * config/linux/sem.h: New file.
16442 * config/linux/i486/futex.h: New file.
16443 * config/linux/x86_64/futex.h: New file.
16444
164452005-05-04 Richard Henderson <rth@redhat.com>
16446
16447 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
16448 * libgomp.h: Declare them.
16449 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
16450 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
16451
164522005-05-04 Richard Henderson <rth@redhat.com>
16453
16454 * libgomp-1 code drop
16455
164562005-05-04 Richard Henderson <rth@redhat.com>
16457
16458 * iter.c (gomp_iter_static_next): Return tri-state on 0.
16459 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
16460 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
16461 (gomp_iter_static_next): Update.
16462 (gomp_ordered_static_next): Update.
16463 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
16464 (gomp_loop_ordered_static_start): Likewise. Exit early for a
16465 totally empty range.
16466 (gomp_loop_ordered_static_next): Refine test for calling
16467 gomp_ordered_static_next.
16468 * testsuite/ordered-1.c: Add case for more threads than iterations.
16469
16470 * iter.c (gomp_iter_runtime_next_locked): Remove.
16471 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 16472 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
16473 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
16474 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
16475 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
16476 gomp_loop_ordered_guided_next): Downcase name, make static, add
16477 an external alias with the old name.
16478 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
16479 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
16480 switch and call one of the above static functions.
16481 * libgomp.h: Update.
16482
16483 * work.c (gomp_work_share_start): Lock the mutex for !first too.
16484 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
16485 GOMP_loop_guided_start, GOMP_loop_runtime_start,
16486 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
16487 GOMP_loop_ordered_guided_start): Update to match.
16488 * sections.c (GOMP_sections_start): Likewise.
16489 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
16490
16491 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16492 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
16493 Use bounds check instead of modulus.
16494 (gomp_ordered_sync): Split out of GOMP_ordered_start.
16495 (gomp_ordered_last): Don't sync with ordered_owner here.
16496 (gomp_ordered_next): Likewise.
16497 (gomp_ordered_static_loop_next): Likewise.
16498 * loop.c, libgomp.h: Update to match.
16499
16500 * libgomp.h (GOMP_barrier): Declare.
16501
16502 * testsuite/barrier-1.c: New file.
16503 * testsuite/critical-1.c: New file.
16504 * testsuite/ordered-2.c: New file.
16505 * testsuite/ordered-1.c: New file.
16506 * testsuite/sections-1.c: New file.
16507 * testsuite/single-1.c: New file.
16508 * testsuite/Makefile (TESTS): Add them.
16509
165102005-05-04 Richard Henderson <rth@redhat.com>
16511
16512 * libgomp.h (struct gomp_work_share): Add ordered_owner.
16513 * loop.c (GOMP_loop_static_start): If not the startup thread,
16514 acquire the mutex to wait for initialization complete.
16515 (GOMP_loop_ordered_static_start): Likewise.
16516 (GOMP_loop_ordered_runtime_start): Likewise.
16517 (GOMP_loop_ordered_static_first): Remove.
16518 (GOMP_loop_ordered_dynamic_first): Remove.
16519 (GOMP_loop_ordered_guided_first): Remove.
16520 (GOMP_loop_ordered_runtime_first): Remove.
16521 * ordered.c (gomp_ordered_loop_first): Post to own release when
16522 we're the first thread.
16523 (gomp_ordered_loop_last): Wait on release if not owner.
16524 (gomp_ordered_loop_next): Likewise.
16525 (gomp_ordered_static_loop_init): New.
16526 (gomp_ordered_static_loop_next): Use ordered_owner.
16527 (GOMP_ordered_start): Likewise.
16528 * work.c (gomp_new_work_share): Initialize ordered_owner.
16529
165302005-05-03 Richard Henderson <rth@redhat.com>
16531
16532 * Makefile (OPT): New.
16533 (CFLAGS): Use it.
16534
16535 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
16536 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
16537 * libgomp.h, libgomp.map, NOTES: Update to match.
16538
16539 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
16540 Add initialized and thr members.
16541 (gomp_thread_start): Pause when initially spawned to wait for
16542 the whole team to be created.
16543 (gomp_team_start): Release team members at the end.
16544
16545 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
16546 (f_foo_1): Use GOMP_loop_end.
16547 (f_foo_2): Use GOMP_loop_end_nowait.
16548
16549 * testsuite/loop-2.c: New file.
16550 * testsuite/Makefile (TESTS): Add it.
16551
165522005-05-03 Richard Henderson <rth@redhat.com>
16553
16554 * iter.c (gomp_iter_static_next): Fix overflow check typo.
16555 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
16556 * team.c (new_team): Initialize oldest_live_gen to 1 if no
16557 initial work_share.
16558
16559 * testsuite/Makefile: New file.
16560 * testsuite/loop-1.c: New file.
16561
165622005-05-03 Richard Henderson <rth@redhat.com>
16563
16564 Initial implementation and checkin.
21fa2a29 16565\f
877e3c2a 16566Copyright (C) 2005-2022 Free Software Foundation, Inc.
21fa2a29
JJ
16567
16568Copying and distribution of this file, with or without modification,
16569are permitted in any medium without royalty provided the copyright
16570notice and this notice are preserved.