]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
2
3 PR fortran/90030
4 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
5 * testsuite/libgomp.fortran/pr90030.f90: New test.
6
7 2021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
8 Thomas Schwinge <thomas@codesourcery.com>
9
10 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
11 temporary skip.
12
13 2021-11-30 Cesar Philippidis <cesar@codesourcery.com>
14 Thomas Schwinge <thomas@codesourcery.com>
15
16 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
17 skip.
18
19 2021-11-29 Richard Biener <rguenther@suse.de>
20
21 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
22 return.
23
24 2021-11-24 Jakub Jelinek <jakub@redhat.com>
25
26 PR middle-end/103384
27 * testsuite/libgomp.c/declare-variant-2.c: New test.
28
29 2021-11-18 David Edelsohn <dje.gcc@gmail.com>
30
31 * alloc.c (gomp_aligned_alloc): Fix typo.
32
33 2021-11-18 Jakub Jelinek <jakub@redhat.com>
34
35 PR libgomp/102838
36 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
37 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
38 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
39 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
40 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
41 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
42 gomp_aligned_alloc instead of team_malloc.
43
44 2021-11-18 Jakub Jelinek <jakub@redhat.com>
45
46 PR libgomp/102838
47 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
48 memalign over posix_memalign over aligned_alloc over fallback
49 with malloc instead of aligned_alloc over _aligned_alloc over
50 posix_memalign over memalign over fallback with malloc. For
51 aligned_alloc, round up size up to multiple of al.
52
53 2021-11-16 Jakub Jelinek <jakub@redhat.com>
54
55 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
56 construct as implemented.
57
58 2021-11-15 Tobias Burnus <tobias@codesourcery.com>
59
60 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
61
62 2021-11-15 Jakub Jelinek <jakub@redhat.com>
63
64 * task.c (gomp_create_target_task): Copy args array as well.
65 * target.c (gomp_target_fallback): Add args argument.
66 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
67 (GOMP_target): Adjust gomp_target_fallback caller.
68 (GOMP_target_ext): Likewise.
69 (gomp_target_task_fn): Likewise.
70 * config/nvptx/team.c (gomp_nvptx_main): Set
71 gomp_global_icv.thread_limit_var.
72 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
73
74 2021-11-15 Jakub Jelinek <jakub@redhat.com>
75
76 * config/nvptx/team.c (__gomp_team_num): Define as
77 __attribute__((shared)) var.
78 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
79 * config/nvptx/target.c (__gomp_team_num): Declare as
80 extern __attribute__((shared)) var.
81 (GOMP_teams4): Use __gomp_team_num as the team number instead of
82 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
83 is bigger than num_blocks, use num_teams_lower teams and arrange for
84 bumping of __gomp_team_num if !first and returning false once we run
85 out of teams.
86 * config/nvptx/teams.c (__gomp_team_num): Declare as
87 extern __attribute__((shared)) var.
88 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
89
90 2021-11-15 Jakub Jelinek <jakub@redhat.com>
91
92 * testsuite/libgomp.c/teams-5.c: New test.
93
94 2021-11-12 Jakub Jelinek <jakub@redhat.com>
95
96 PR target/103201
97 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
98 to ...
99 * config/gcn/teams.c: ... here. New file.
100
101 2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
102
103 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
104 implicit map handling to allow a "superset" existing map as valid case.
105 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
106 (get_implicit): New function to extract implicit status.
107 (gomp_map_fields_existing): Adjust arguments in calls to
108 gomp_map_vars_existing, and add uses of get_implicit.
109 (gomp_map_vars_internal): Likewise.
110 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
111
112 2021-11-12 Jakub Jelinek <jakub@redhat.com>
113
114 * libgomp_g.h (GOMP_teams4): Declare.
115 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
116 * target.c (GOMP_teams4): New function.
117 * config/nvptx/target.c (GOMP_teams): Remove.
118 (GOMP_teams4): New function.
119 * config/gcn/target.c (GOMP_teams): Remove.
120 (GOMP_teams4): New function.
121 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
122 teams instead of <= 2.
123 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
124
125 2021-11-11 Tobias Burnus <tobias@codesourcery.com>
126
127 * testsuite/libgomp.fortran/teams-1.f90: New test.
128
129 2021-11-11 Jakub Jelinek <jakub@redhat.com>
130
131 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
132 * team.c (struct gomp_thread_start_data): Likewise.
133 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
134 (gomp_team_start): Initialize start_data->num_teams and
135 start_data->team_num. Update nthr->num_teams and nthr->team_num.
136 * teams.c (gomp_num_teams, gomp_team_num): Remove.
137 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
138 instead of gomp_num_teams and gomp_team_num.
139 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
140 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
141 * testsuite/libgomp.c/teams-4.c: New test.
142
143 2021-11-11 Jakub Jelinek <jakub@redhat.com>
144
145 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
146
147 2021-11-09 Thomas Schwinge <thomas@codesourcery.com>
148
149 * env.c (parse_gomp_openacc_dim): Restore parsing.
150
151 2021-10-30 Tobias Burnus <tobias@codesourcery.com>
152
153 PR middle-end/102972
154 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
155 parallel construct.
156 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
157 * testsuite/libgomp.c/target-3.c: Likewise.
158 * testsuite/libgomp.c/target-5.c: Likewise.
159 * testsuite/libgomp.c/target-6.c: Likewise.
160 * testsuite/libgomp.c/target-teams-1.c: Likewise.
161 * testsuite/libgomp.c/teams-1.c: Likewise.
162 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
163 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
164 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
165 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
166 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
167 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
168 * testsuite/libgomp.fortran/teams1.f90: Likewise.
169
170 2021-10-29 Aldy Hernandez <aldyh@redhat.com>
171
172 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
173 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
174
175 2021-10-27 Jakub Jelinek <jakub@redhat.com>
176
177 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
178 aren't implemented for Fortran yet.
179
180 2021-10-27 Jakub Jelinek <jakub@redhat.com>
181
182 * testsuite/libgomp.c/loop-26.c: New test.
183 * testsuite/libgomp.c/loop-27.c: New test.
184
185 2021-10-25 Tobias Burnus <tobias@codesourcery.com>
186
187 PR testsuite/102910
188 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
189 instead of #include <alloca.h> + alloca.
190
191 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
192
193 * libgomp.texi (Support of strictly structured blocks in Fortran):
194 Adjust to 'Y'.
195 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
196
197 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
198
199 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
200 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
201
202 2021-10-20 Jakub Jelinek <jakub@redhat.com>
203
204 PR libgomp/102838
205 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
206 (struct gomp_work_share): Only use aligned(64) attribute if
207 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
208 add padding before lock to ensure lock is at offset 64 bytes
209 into the structure.
210 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
211 New poor man's static assertions.
212 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
213 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
214
215 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
216 Richard Biener <rguenther@suse.de>
217
218 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
219
220 2021-10-18 Jakub Jelinek <jakub@redhat.com>
221
222 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
223 && gomp_places_list_len < count after nfirst <= nlast loop condition.
224
225 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
226
227 PR fortran/102086
228 PR fortran/92189
229 PR fortran/92621
230 PR fortran/101308
231 PR fortran/101309
232 PR fortran/101635
233 PR fortran/92482
234 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
235
236 2021-10-15 Jakub Jelinek <jakub@redhat.com>
237
238 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
239 type from char [50] to const char *.
240 (places_array): Add a testcase for simplified syntax place followed
241 by length or length and stride.
242
243 2021-10-15 Jakub Jelinek <jakub@redhat.com>
244
245 * env.c (parse_one_place): Handle non-negative-number the same
246 as { non-negative-number }. Reject even !number:1 and
247 !number:1:stride or !place:1 or !place:1:stride instead of just
248 length other than 1.
249 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
250 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
251 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
252 as implemented.
253 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
254 simplified syntax.
255
256 2021-10-15 Jakub Jelinek <jakub@redhat.com>
257
258 * env.c (parse_schedule): For strtoul or strtoull calls which don't
259 clearly reject return value 0 as invalid handle the case where end
260 pointer is the same as first argument as invalid.
261 (parse_unsigned_long_1): Likewise.
262 (parse_one_place): Likewise.
263 (parse_places_var): Likewise.
264 (parse_stacksize): Likewise.
265 (parse_spincount): Likewise.
266 (parse_affinity): Likewise.
267 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
268 Make code valid C89.
269 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
270 For strtoul calls which don't clearly reject return value 0 as
271 invalid handle the case where end pointer is the same as first
272 argument as invalid.
273 (gomp_affinity_init_level_1): Likewise.
274 (gomp_affinity_init_numa_domains): Likewise.
275 * config/rtems/proc.c (parse_thread_pools): Likewise.
276
277 2021-10-15 Jakub Jelinek <jakub@redhat.com>
278
279 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
280 after creating count places clean up and return immediately.
281 * testsuite/libgomp.c/places-6.c: New test.
282 * testsuite/libgomp.c/places-7.c: New test.
283 * testsuite/libgomp.c/places-8.c: New test.
284 * testsuite/libgomp.c/places-9.c: New test.
285 * testsuite/libgomp.c/places-10.c: New test.
286
287 2021-10-15 Jakub Jelinek <jakub@redhat.com>
288
289 * env.c (parse_places_var): Handle numa_domains as level 5.
290 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
291 function.
292 (gomp_affinity_init_level): Use it instead of
293 gomp_affinity_init_level_1 for level == 5.
294 * testsuite/libgomp.c/places-5.c: New test.
295
296 2021-10-15 Jakub Jelinek <jakub@redhat.com>
297
298 * env.c (parse_places_var): Handle ll_caches as level 4.
299 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
300 function.
301 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
302 last level cache.
303 (gomp_affinity_init_level): Likewise.
304 * testsuite/libgomp.c/places-1.c: New test.
305 * testsuite/libgomp.c/places-2.c: New test.
306 * testsuite/libgomp.c/places-3.c: New test.
307 * testsuite/libgomp.c/places-4.c: New test.
308
309 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
310
311 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
312 directive.
313
314 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
315
316 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
317
318 2021-10-12 Julian Brown <julian@codesourcery.com>
319
320 * target.c (gomp_copy_host2dev): Release device lock on cbuf
321 error path.
322
323 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
324
325 * testsuite/libgomp.fortran/icv-3.f90: New.
326 * testsuite/libgomp.fortran/icv-4.f90: New.
327
328 2021-10-12 Jakub Jelinek <jakub@redhat.com>
329
330 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
331 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
332 OMP_TEAMS_THREAD_LIMIT): Document.
333
334 2021-10-12 Jakub Jelinek <jakub@redhat.com>
335
336 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
337 to avoid makeinfo warnings.
338
339 2021-10-12 Jakub Jelinek <jakub@redhat.com>
340
341 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
342 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
343
344 2021-10-12 Jakub Jelinek <jakub@redhat.com>
345
346 PR libgomp/102628
347 PR libgomp/102668
348 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
349 allocation sizes from 420 to 320 and from 768 to 568.
350 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
351 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
352 for cr from 16 to 4.
353
354 2021-10-12 Jakub Jelinek <jakub@redhat.com>
355
356 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
357 * testsuite/libgomp.c/scan-12.c: Likewise.
358 * testsuite/libgomp.c/scan-13.c: Likewise.
359 * testsuite/libgomp.c/scan-14.c: Likewise.
360 * testsuite/libgomp.c/scan-15.c: Likewise.
361 * testsuite/libgomp.c/scan-16.c: Likewise.
362 * testsuite/libgomp.c/scan-17.c: Likewise.
363 * testsuite/libgomp.c/scan-18.c: Likewise.
364 * testsuite/libgomp.c/scan-19.c: Likewise.
365 * testsuite/libgomp.c/scan-20.c: Likewise.
366 * testsuite/libgomp.c/scan-21.c: Likewise.
367 * testsuite/libgomp.c/scan-22.c: Likewise.
368 * testsuite/libgomp.c++/scan-9.C: Likewise.
369 * testsuite/libgomp.c++/scan-10.C: Likewise.
370 * testsuite/libgomp.c++/scan-11.C: Likewise.
371 * testsuite/libgomp.c++/scan-12.C: Likewise.
372 * testsuite/libgomp.c++/scan-13.C: Likewise.
373 * testsuite/libgomp.c++/scan-14.C: Likewise.
374 * testsuite/libgomp.c++/scan-15.C: Likewise.
375 * testsuite/libgomp.c++/scan-16.C: Likewise.
376
377 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
378
379 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
380
381 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
382
383 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
384 omp_atv_serialized.
385 * omp.h.in: Add deprecated flag for omp_atv_sequential.
386 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
387 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
388 * testsuite/libgomp.fortran/alloc-12.f90: New test.
389
390 2021-10-11 Jakub Jelinek <jakub@redhat.com>
391
392 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
393 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
394 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
395 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
396 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
397 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
398 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
399 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
400 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
401 omp_set_teams_thread_limit{,_,_8_}.
402 * icv.c (omp_set_num_teams, omp_get_max_teams,
403 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
404 functions.
405 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
406 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
407 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
408 vars.
409 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
410 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
411 is not specified, use gomp_nteams_var.
412 * fortran.c (omp_set_num_teams, omp_get_max_teams,
413 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
414 ialias_redirect.
415 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
416 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
417 omp_get_teams_thread_limit_): New functions.
418
419 2021-10-09 liuhongt <hongtao.liu@intel.com>
420
421 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
422 * testsuite/libgomp.c++/scan-11.C: Ditto.
423 * testsuite/libgomp.c++/scan-12.C: Ditto.
424 * testsuite/libgomp.c++/scan-13.C: Ditto.
425 * testsuite/libgomp.c++/scan-14.C: Ditto.
426 * testsuite/libgomp.c++/scan-15.C: Ditto.
427 * testsuite/libgomp.c++/scan-16.C: Ditto.
428 * testsuite/libgomp.c++/scan-9.C: Ditto.
429 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
430 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
431 * testsuite/libgomp.c/scan-11.c: Ditto.
432 * testsuite/libgomp.c/scan-12.c: Ditto.
433 * testsuite/libgomp.c/scan-13.c: Ditto.
434 * testsuite/libgomp.c/scan-14.c: Ditto.
435 * testsuite/libgomp.c/scan-15.c: Ditto.
436 * testsuite/libgomp.c/scan-16.c: Ditto.
437 * testsuite/libgomp.c/scan-17.c: Ditto.
438 * testsuite/libgomp.c/scan-18.c: Ditto.
439 * testsuite/libgomp.c/scan-19.c: Ditto.
440 * testsuite/libgomp.c/scan-20.c: Ditto.
441 * testsuite/libgomp.c/scan-21.c: Ditto.
442 * testsuite/libgomp.c/scan-22.c: Ditto.
443
444 2021-10-09 Jakub Jelinek <jakub@redhat.com>
445
446 * libgomp.texi (OpenMP 5.1): Mention implemented support for
447 structured block sequences in C/C++. Mention support for
448 unconstrained/reproducible modifiers on order clause.
449 Mention partial (C/C++ only) support of extentensions to atomics
450 construct. Mention partial (C/C++ on clause only) support of
451 align/allocator modifiers on allocate clause.
452
453 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
454
455 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
456 based on libgomp.c-c++-common/order-reproducible-1.c.
457 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
458 * testsuite/libgomp.fortran/my-usleep.c: New test.
459
460 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
461
462 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
463 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
464 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
465 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
466 based on libgomp.c-c++-common/alloc-9.c.
467
468 2021-10-01 Jakub Jelinek <jakub@redhat.com>
469
470 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
471 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
472
473 2021-10-01 Jakub Jelinek <jakub@redhat.com>
474
475 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
476 ialias_redirect.
477 * env.c (handle_omp_display_env): Use ialias_call.
478 * icv-device.c: Move ialias right below each function.
479 (omp_get_device_num): Use ialias_call.
480 * fortran.c (omp_fulfill_event): Add ialias_redirect.
481 * icv.c (omp_get_active_level): Add ialias_redirect.
482
483 2021-10-01 Jakub Jelinek <jakub@redhat.com>
484
485 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
486 __alloc_align__ (1) attribute.
487 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
488
489 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
490
491 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
492 for -fintrinsic-modules-path= warning of the C compiler.
493 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
494 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
495
496 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
497
498 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
499 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
500 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
501 omp_realloc): Add.
502 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
503 omp_realloc): Add.
504 * testsuite/libgomp.fortran/alloc-10.f90: New test.
505 * testsuite/libgomp.fortran/alloc-6.f90: New test.
506 * testsuite/libgomp.fortran/alloc-7.c: New test.
507 * testsuite/libgomp.fortran/alloc-7.f90: New test.
508 * testsuite/libgomp.fortran/alloc-8.f90: New test.
509 * testsuite/libgomp.fortran/alloc-9.f90: New test.
510
511 2021-09-30 Jakub Jelinek <jakub@redhat.com>
512
513 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
514 omp_realloc): New prototypes.
515 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
516 attribute.
517 * allocator.c: Include string.h.
518 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
519 variable and use it instead of alignment so that when retrying the old
520 alignment is used again. Don't retry if new alignment is the same
521 as old alignment, unless allocator had pool size.
522 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
523 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
524 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
525 omp_aligned_calloc and omp_realloc.
526 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
527 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
528 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
529 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
530 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
531 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
532
533 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
534
535 PR libgomp/96661
536 * configure.ac: Only check for int-type = 2*size_t support when
537 building with Fortran support.
538 * configure: Regenerate.
539
540 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
541
542 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
543 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
544
545 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
546
547 * team.c: Initialize start_data.
548 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
549 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
550
551 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
552
553 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
554 dg-message back to dg-note.
555
556 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
557
558 PR fortran/94070
559 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
560 expected dg-note output.
561
562 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
563
564 PR fortran/55534
565 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
566 r12-3722 by removing -Wno-missing-include-dirs.
567 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
568
569 2021-09-22 Jakub Jelinek <jakub@redhat.com>
570
571 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
572 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
573
574 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
575
576 PR fortran/55534
577 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
578 to ALWAYS_CFLAGS.
579 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
580
581 2021-09-18 Jakub Jelinek <jakub@redhat.com>
582
583 * testsuite/libgomp.c++/default-1.C: New test.
584 * testsuite/libgomp.c-c++-common/default-1.c: New test.
585 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
586 to default clause in C and C++" as implemented.
587
588 2021-09-17 Julian Brown <julian@codesourcery.com>
589
590 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
591
592 2021-09-17 Julian Brown <julian@codesourcery.com>
593
594 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
595
596 2021-09-17 Jakub Jelinek <jakub@redhat.com>
597
598 * libgomp.texi (OpenMP 5.1): Spelling fix,
599 declare variante -> declare variant.
600
601 2021-09-17 Jakub Jelinek <jakub@redhat.com>
602
603 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
604 Use /* */ comments instead of //.
605 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
606 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
607 * testsuite/libgomp.c++/atomic-16.C: New test.
608 * testsuite/libgomp.c++/atomic-17.C: New test.
609
610 2021-09-10 Jakub Jelinek <jakub@redhat.com>
611
612 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
613 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
614 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
615
616 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
617
618 * libgomp.texi (OpenMP Implementation Status): Extend
619 OpenMP 5.0 section.
620 (OpenACC Profiling Interface): Fix typo.
621
622 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
623
624 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
625 not to 4.5; link to new section.
626 (OpenMP Implementation Status): New.
627
628 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
629
630 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
631
632 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
633
634 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
635 dg-output.
636 * testsuite/libgomp.fortran/error-1.f90: Likewise.
637
638 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
639 Jakub Jelinek <jakub@redhat.com>
640
641 * testsuite/libgomp.c/address-space-1.c: New file.
642
643 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
644
645 * testsuite/lib/libgomp.exp
646 (check_effective_target_offload_target_intelmic): Remove 'proc'.
647 (check_effective_target_offload_device_intel_mic): New 'proc'.
648 * testsuite/libgomp.c-c++-common/on_device_arch.h
649 (device_arch_intel_mic, on_device_arch_intel_mic): New.
650 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
651 'dg-xfail-run-if'.
652 * testsuite/libgomp.fortran/target10.f90: Likewise.
653
654 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
655
656 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
657 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
658 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
659 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
660
661 2021-08-23 Jakub Jelinek <jakub@redhat.com>
662
663 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
664 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
665 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
666
667 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
668
669 * config/nvptx/error.c (fwrite, exit): Override, too.
670 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
671 of offloading testing.
672 * testsuite/libgomp.fortran/error-1.f90: Likewise.
673
674 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
675
676 * testsuite/libgomp.fortran/error-1.f90: New test.
677
678 2021-08-20 Jakub Jelinek <jakub@redhat.com>
679
680 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
681 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
682 * error.c (GOMP_warning, GOMP_error): New functions.
683 * testsuite/libgomp.c-c++-common/error-1.c: New test.
684
685 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
686
687 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
688 omp_target_free. omp_target_is_present, omp_target_memcpy,
689 omp_target_memcpy_rect, omp_target_associate_ptr,
690 omp_target_disassociate_ptr): Add interface.
691 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
692 omp_target_free. omp_target_is_present, omp_target_memcpy,
693 omp_target_memcpy_rect, omp_target_associate_ptr,
694 omp_target_disassociate_ptr): Add interface.
695 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
696 interface block for omp_alloc + omp_free.
697 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
698 * testsuite/libgomp.fortran/refcount-1.f90: New test.
699 * testsuite/libgomp.fortran/target-12.f90: New test.
700
701 2021-08-18 Jakub Jelinek <jakub@redhat.com>
702
703 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
704
705 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
706
707 * testsuite/libgomp.fortran/scope-1.f90: New test.
708 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
709
710 2021-08-17 Jakub Jelinek <jakub@redhat.com>
711
712 * Makefile.am (libgomp_la_SOURCES): Add scope.c
713 * Makefile.in: Regenerated.
714 * libgomp_g.h (GOMP_scope_start): Declare.
715 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
716 * scope.c: New file.
717 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
718 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
719
720 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
721
722 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
723 '?:' issues.
724
725 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
726
727 * testsuite/libgomp.fortran/masked-1.f90: New test.
728
729 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
730
731 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
732
733 2021-08-12 Jakub Jelinek <jakub@redhat.com>
734
735 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
736
737 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
738
739 * env.c (parse_bind_var): Accept 'primary' as alias for
740 'master'.
741 (omp_display_env): Add TODO comment to
742 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
743 * libgomp.texi: Change 'master thread' to 'primary thread'
744 in line with OpenMP 5.1.
745 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
746 omp_proc_bind_master is an alias of it.
747 (OMP_PROC_BIND): Mention 'PRIMARY'.
748 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
749 (omp_proc_bind_primary): Add.
750 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
751 * omp_lib.f90.in (omp_proc_bind_primary): Add.
752 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
753 * omp_lib.h.in (omp_proc_bind_primary): Add.
754 * testsuite/libgomp.c/affinity-1.c: Check that
755 'primary' works and is identical to 'master'.
756
757 2021-08-09 Julian Brown <julian@codesourcery.com>
758 Kwok Cheung Yeung <kcy@codesourcery.com>
759 Thomas Schwinge <thomas@codesourcery.com>
760
761 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
762 16.
763 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
764 [acc_device_radeon]: Update.
765 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
766 [ACC_DEVICE_TYPE_radeon]: Likewise.
767 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
768 [acc_device_radeon]: Likewise.
769 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
770 [ACC_DEVICE_TYPE_radeon]: Likewise.
771 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
772 'openacc_radeon_accel_selected' and '-O0'.
773 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
774
775 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
776
777 * icv-device.c (omp_get_device_num): New API function, host side.
778 * fortran.c (omp_get_device_num_): New interface function.
779 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
780 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
781 omp_get_device_num_.
782 * libgomp.texi (omp_get_device_num): Add documentation for new API
783 function.
784 * omp.h.in (omp_get_device_num): Add declaration.
785 * omp_lib.f90.in (omp_get_device_num): Likewise.
786 * omp_lib.h.in (omp_get_device_num): Likewise.
787 * target.c (gomp_load_image_to_device): If additional entry for device
788 number exists at end of returned entries from 'load_image_func' hook,
789 copy the assigned device number over to the device variable.
790 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
791 (omp_get_device_num): New API function, device side.
792 * plugin/plugin-gcn.c ("symcat.h"): Add include.
793 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
794 at end of returned 'target_table' entries.
795 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
796 (omp_get_device_num): New API function, device side.
797 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
798 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
799 at end of returned 'target_table' entries.
800 * testsuite/lib/libgomp.exp
801 (check_effective_target_offload_target_intelmic): New function for
802 testing for intelmic offloading.
803 * testsuite/libgomp.c-c++-common/target-45.c: New test.
804 * testsuite/libgomp.fortran/target10.f90: New test.
805
806 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
807 Ulrich Drepper <drepper@redhat.com>
808
809 * fortran.c (omp_display_env_, omp_display_env_8_): Only
810 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
811
812 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
813 Julian Brown <julian@codesourcery.com>
814 Kwok Cheung Yeung <kcy@codesourcery.com>
815
816 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
817 's%oaccdevlow%oaccloops%g'.
818 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
819 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
820 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
821 Likewise.
822 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
823 Likewise.
824 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
825 Likewise.
826 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
827 Likewise.
828 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
829 Likewise.
830 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
831 Likewise.
832 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
833 Likewise.
834 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
835 Likewise.
836 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
837
838 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
839
840 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
841 threader.
842 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
843
844 2021-07-27 Ulrich Drepper <drepper@gmail.com>
845
846 * env.c (wait_policy, stacksize): New static variables,
847 move out of handle_omp_display_env.
848 (omp_display_env): New function. The meat of the old
849 handle_omp_display_env function.
850 (handle_omp_display_env): Change to not take parameters
851 and instead use the global variables. Only perform
852 parsing, defer to omp_display_env for the implementation.
853 (initialize_env): Remove local variables wait_policy and
854 stacksize. Don't pass parameters to handle_omp_display_env.
855 * fortran.c: Add ialias_redirect for omp_display_env.
856 (omp_display_env_, omp_display_env_8_): New functions.
857 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
858 omp_display_env_, and omp_display_env_8_.
859 * omp.h.in: Declare omp_display_env.
860 * omp_lib.f90.in: Likewise.
861 * omp_lib.h.in: Likewise.
862
863 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
864 Julian Brown <julian@codesourcery.com>
865
866 * target.c (gomp_coalesce_buf_add): Update comment.
867 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
868 'aq && cbuf'.
869 (gomp_map_vars_internal): Only 'if (!aq)', do
870 'gomp_coalesce_buf_add'.
871 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
872 XFAIL.
873
874 2021-07-27 Julian Brown <julian@codesourcery.com>
875 Thomas Schwinge <thomas@codesourcery.com>
876
877 * libgomp.h (gomp_copy_host2dev): Update prototype.
878 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
879 argument to gomp_copy_host2dev (false).
880 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
881 (copy_data): Don't free src.
882 (queue_push_copy): Remove free_src handling.
883 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
884 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
885 snapshotting.
886 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
887 queue_push_copy.
888 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
889 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
890 data when true, and set up deferred freeing of temporary buffer.
891 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
892 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
893 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
894 calls to gomp_copy_host2dev with appropriate ephemeral argument.
895 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
896 XFAIL.
897
898 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
899 Tom de Vries <tom@codesourcery.com>
900
901 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
902 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
903
904 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
905
906 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
907 sequencing of 'async' data copying vs. profiling events.
908 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
909 Likewise.
910
911 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
912 Julian Brown <julian@codesourcery.com>
913
914 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
915 'async'/'wait' issue.
916 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
917 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
918 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
919
920 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
921 Joseph Myers <joseph@codesourcery.com>
922 Cesar Philippidis <cesar@codesourcery.com>
923
924 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
925 file.
926 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
927 Likewise.
928 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
929 Likewise.
930 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
931
932 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
933
934 PR target/101484
935 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
936 '-Wno-error=array-bounds'.
937 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
938 * libgomp.h [__AMDGCN__]: Likewise.
939
940 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
941
942 PR target/101484
943 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
944 * libgomp.h [__AMDGCN__]: Likewise.
945
946 2021-07-13 Jakub Jelinek <jakub@redhat.com>
947 Florian Weimer <fweimer@redhat.com>
948
949 * config/linux/sem.h: Don't include limits.h.
950 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
951 * config/linux/affinity.c: Include limits.h.
952
953 2021-07-01 Jakub Jelinek <jakub@redhat.com>
954
955 PR middle-end/94366
956 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
957
958 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
959
960 PR other/67300
961 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
962 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
963 avoid disabling other offload targets.
964 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
965 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
966 * testsuite/libgomp.c/target-44.c: Likewise.
967
968 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
969
970 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
971 target has shared memory and disable some scalar pointer/allocatable
972 checks if not as firstprivate does not work.
973
974 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
975
976 PR testsuite/101114
977 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
978 Add "target offload_device_nonshared_as" condition for enabling test.
979
980 2021-06-24 Jakub Jelinek <jakub@redhat.com>
981
982 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
983 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
984 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
985 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
986
987 2021-06-23 Jakub Jelinek <jakub@redhat.com>
988
989 PR middle-end/101167
990 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
991
992 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
993
994 * hashtab.h (htab_clear): New function with initialization code
995 factored out from...
996 (htab_create): ...here, adjust to use htab_clear function.
997 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
998 special refcount values, add comments.
999 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
1000 (REFCOUNT_LINK): Likewise.
1001 (REFCOUNT_STRUCTELEM): New special refcount range for structure
1002 element siblings.
1003 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
1004 sibling maps.
1005 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
1006 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
1007 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
1008 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
1009 (struct splay_tree_key_s): Add structelem_refcount and
1010 structelem_refcount_ptr fields into a union with dynamic_refcount.
1011 Add comments.
1012 (gomp_map_vars): Delete declaration.
1013 (gomp_map_vars_async): Likewise.
1014 (gomp_unmap_vars): Likewise.
1015 (gomp_unmap_vars_async): Likewise.
1016 (goacc_map_vars): New declaration.
1017 (goacc_unmap_vars): Likewise.
1018 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
1019 (goacc_enter_datum): Likewise.
1020 (goacc_enter_data_internal): Likewise.
1021 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
1022 and goacc_unmap_vars.
1023 (GOACC_data_start): Adjust to use goacc_map_vars.
1024 (GOACC_data_end): Adjust to use goacc_unmap_vars.
1025 * target.c (hash_entry_type): New typedef.
1026 (htab_alloc): New function hook for hashtab.h.
1027 (htab_free): Likewise.
1028 (htab_hash): Likewise.
1029 (htab_eq): Likewise.
1030 (hashtab.h): Add file include.
1031 (gomp_increment_refcount): New function.
1032 (gomp_decrement_refcount): Likewise.
1033 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
1034 gomp_increment_refcount.
1035 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
1036 to gomp_map_vars_existing.
1037 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
1038 variable to guard OpenMP specific paths, adjust calls to
1039 gomp_map_vars_existing, add structure element sibling splay_tree_key
1040 sequence creation code, adjust Fortran map case to avoid increment
1041 under OpenMP.
1042 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
1043 local refcount_set if caller passed in NULL, adjust call to
1044 gomp_map_vars_internal.
1045 (gomp_map_vars_async): Adjust and rename into...
1046 (goacc_map_vars): ...this new function, adjust call to
1047 gomp_map_vars_internal.
1048 (gomp_remove_splay_tree_key): New function with code factored out from
1049 gomp_remove_var_internal.
1050 (gomp_remove_var_internal): Add code to handle removing multiple
1051 splay_tree_key sequence for structure elements, adjust code to use
1052 gomp_remove_splay_tree_key for splay-tree key removal.
1053 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
1054 gomp_decrement_refcount.
1055 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
1056 local refcount_set if caller passed in NULL, adjust call to
1057 gomp_unmap_vars_internal.
1058 (gomp_unmap_vars_async): Adjust and rename into...
1059 (goacc_unmap_vars): ...this new function, adjust call to
1060 gomp_unmap_vars_internal.
1061 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
1062 gomp_unmap_vars.
1063 (GOMP_target_ext): Likewise.
1064 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
1065 (GOMP_target_data): Likewise.
1066 (GOMP_target_data_ext): Likewise.
1067 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
1068 (gomp_exit_data): Add refcount_set parameter, adjust to use
1069 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
1070 after main loop.
1071 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
1072 gomp_map_vars and gomp_exit_data.
1073 (gomp_target_task_fn): Likewise.
1074 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
1075 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
1076 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
1077 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
1078 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
1079 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
1080
1081 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
1082
1083 PR fortran/92568
1084 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
1085
1086 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
1087 Thomas Schwinge <thomas@codesourcery.com>
1088
1089 * libgomp.map (GOACC_2.0.2): New symbol version.
1090 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
1091 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
1092
1093 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
1094 Andrew Stubbs <ams@codesourcery.com>
1095
1096 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
1097 extracted from...
1098 (GOACC_enter_exit_data): ... here.
1099 (GOACC_declare): Use it.
1100
1101 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
1102
1103 * oacc-parallel.c (GOACC_declare): Move...
1104 * oacc-mem.c: ... here.
1105 * libgomp_g.h: Adjust.
1106
1107 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
1108 Thomas Schwinge <thomas@codesourcery.com>
1109
1110 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
1111 handling.
1112
1113 2021-06-10 Jakub Jelinek <jakub@redhat.com>
1114
1115 PR tree-optimization/100981
1116 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
1117 dsdotr and dsdoti to 0.
1118
1119 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
1120
1121 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
1122 if atomic compare-and-swap is supported on 'int'.
1123
1124 2021-06-09 Richard Biener <rguenther@suse.de>
1125
1126 PR tree-optimization/100981
1127 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
1128
1129 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1130
1131 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
1132 unconditionally.
1133 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1134 Update.
1135 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1136 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1137
1138 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1139
1140 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
1141 '-DACC_MEM_SHARED=0'.
1142 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1143 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1144 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1145 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1146 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1147 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1148 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1149 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1150 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1151 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1152 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
1153 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
1154 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
1155 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1156 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
1157 'acc_device_radeon' testing.
1158 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
1159 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
1160 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
1161 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
1162 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1163 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1164 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
1165 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
1166 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
1167 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
1168 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
1169 for non-'openacc_nvidia_accel_selected'.
1170 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1171 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
1172 all implement this checking".
1173 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
1174 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
1175 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
1176 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
1177 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
1178
1179 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1180
1181 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
1182 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
1183
1184 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1185
1186 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
1187 for 'acc_device_radeon'.
1188
1189 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1190
1191 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
1192 for non-'acc_device_nvidia'.
1193
1194 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1195
1196 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
1197 'acc_device_radeon' testing.
1198 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1199 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1200 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1201
1202 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1203
1204 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
1205 require 'openacc_nvidia_accel_selected'. Fix up for
1206 'ACC_DEVICE_TYPE_radeon'.
1207
1208 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1209
1210 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
1211 'openacc_nvidia_accel_selected'.
1212 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1213
1214 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1215
1216 * testsuite/lib/libgomp.exp
1217 (check_effective_target_openacc_radeon_accel_selected):
1218 Streamline.
1219
1220 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1221
1222 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
1223 PR80547 workaround.
1224
1225 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1226
1227 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1228 <acc_device_nvidia>: Update comment.
1229
1230 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
1231
1232 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
1233
1234 2021-05-27 Jakub Jelinek <jakub@redhat.com>
1235
1236 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
1237 check_effective_target_openacc_cublas,
1238 check_effective_target_openacc_cudart): New.
1239 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
1240 target openacc_cublas.
1241 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1242 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1243 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
1244 target openacc_cuda.
1245 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
1246 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
1247 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
1248 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
1249 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
1250 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
1251 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
1252 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1253 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
1254 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1255 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
1256 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1257 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
1258 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
1259 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
1260 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1261 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
1262 targets openacc_cublas and openacc_cudart.
1263 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1264 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1265 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1266 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1267 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
1268 Require effective target openacc_cudart.
1269 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
1270 for effective target openacc_cuda and add && defined USE_CUDA_H to
1271 preprocessor conditionals. Guard -lcuda also on openacc_cuda
1272 effective target.
1273
1274 2021-05-26 Jakub Jelinek <jakub@redhat.com>
1275
1276 PR libgomp/100573
1277 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
1278 GOMP_target_end_data, GOMP_target_update_ext,
1279 GOMP_target_enter_exit_data): New dummy entrypoints.
1280 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
1281 GOMP_target_end_data, GOMP_target_update_ext,
1282 GOMP_target_enter_exit_data): Likewise.
1283 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
1284 OMPFROM, OMPTO): Define.
1285 (main): Remove #pragma omp target teams around all the tests.
1286 * testsuite/libgomp.c-c++-common/target-41.c: New test.
1287 * testsuite/libgomp.c-c++-common/target-42.c: New test.
1288
1289 2021-05-25 Jakub Jelinek <jakub@redhat.com>
1290
1291 PR middle-end/99928
1292 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
1293
1294 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
1295
1296 PR fortran/86470
1297 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
1298 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
1299 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
1300
1301 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
1302
1303 PR testsuite/90115
1304 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
1305 uninteresting/varying diagnostics.
1306
1307 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1308
1309 PR middle-end/90115
1310 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
1311 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1312
1313 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1314
1315 PR middle-end/90115
1316 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
1317 file.
1318 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
1319 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
1320 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1321 Likewise.
1322 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1323 Likewise.
1324 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1325 Likewise.
1326 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1327 Likewise.
1328 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1329 Likewise.
1330 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1331 Likewise.
1332 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1333 Likewise.
1334 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1335 Likewise.
1336 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1337 Likewise.
1338 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1339 Likewise.
1340 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1341 Likewise.
1342 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1343 Likewise.
1344 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1345 Likewise.
1346 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1347 Likewise.
1348 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1349 Likewise.
1350 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1351 Likewise.
1352 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1353 Likewise.
1354 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1355 Likewise.
1356 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1357 Likewise.
1358 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1359 Likewise.
1360 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1361 Likewise.
1362 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1363 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1364 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1365 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
1366 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1367 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1368 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1369 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1370 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1371 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1372 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1373 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1374 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1375 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1376 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1377 Likewise.
1378 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
1379 Likewise.
1380 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
1381 Likewise.
1382 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1383 Likewise.
1384 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
1385 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
1386 Likewise.
1387 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1388 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1389 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1390 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1391 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
1392 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1393 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1394 Likewise.
1395 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1396 Likewise.
1397 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1398 Likewise.
1399 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1400 Likewise.
1401 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1402 Likewise.
1403 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1404 Likewise.
1405 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1406 Likewise.
1407 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1408 Likewise.
1409 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1410 Likewise.
1411 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1412 Likewise.
1413 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1414 Likewise.
1415 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1416 Likewise.
1417 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1418 Likewise.
1419 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1420 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1421 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
1422 Likewise.
1423 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
1424 Likewise.
1425 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1426 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1427 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1428
1429 2021-05-21 Julian Brown <julian@codesourcery.com>
1430 Chung-Lin Tang <cltang@codesourcery.com>
1431 Thomas Schwinge <thomas@codesourcery.com>
1432
1433 PR middle-end/90115
1434 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
1435 test.
1436 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
1437 Likewise.
1438 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
1439 Likewise.
1440
1441 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1442
1443 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
1444 for nvptx offloading.
1445
1446 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
1447
1448 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
1449
1450 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
1451
1452 PR target/83812
1453 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
1454
1455 2021-05-19 Julian Brown <julian@codesourcery.com>
1456
1457 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
1458
1459 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1460
1461 * testsuite/lib/libgomp.exp
1462 (check_effective_target_offload_target_nvptx): Don't shadow global
1463 'offload_targets' variable.
1464
1465 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1466
1467 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
1468 '-latomic' to nvptx offloading compilation.
1469 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1470
1471 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1472
1473 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
1474 offloading compilation.
1475
1476 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
1477
1478 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
1479 if new tasks generated.
1480 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
1481
1482 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
1483
1484 * testsuite/libgomp.fortran/parallel-master.f90: New test.
1485
1486 2021-05-13 Martin Liska <mliska@suse.cz>
1487
1488 PR testsuite/100569
1489 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
1490 * testsuite/libgomp.c/pr46032-2.c: Likewise.
1491 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
1492 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
1493
1494 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
1495
1496 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
1497 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
1498
1499 2021-05-11 Jakub Jelinek <jakub@redhat.com>
1500
1501 PR middle-end/100471
1502 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
1503 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
1504 reduction pointer.
1505 * testsuite/libgomp.c/task-reduction-4.c: New test.
1506
1507 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
1508 Tom de Vries <tdevries@suse.de>
1509
1510 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
1511 complex/floating-point || + && reduction with 'omp target'.
1512 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1513
1514 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
1515
1516 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
1517 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
1518 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
1519 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
1520
1521 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
1522
1523 PR testsuite/100397
1524 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
1525 declaration to scope of non-'depend'-guarded assignment to avoid races.
1526
1527 2021-05-03 Tom de Vries <tdevries@suse.de>
1528
1529 PR target/100321
1530 * testsuite/libgomp.c/target-44.c: New test.
1531
1532 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
1533
1534 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
1535
1536 2021-04-29 Tom de Vries <tdevries@suse.de>
1537
1538 * testsuite/libgomp.c/pr81778.c: New test.
1539
1540 2021-04-29 Tom de Vries <tdevries@suse.de>
1541
1542 PR target/100232
1543 * testsuite/libgomp.c/target-43.c: New file.
1544
1545 2021-04-28 Jakub Jelinek <jakub@redhat.com>
1546 Tobias Burnus <tobias@codesourcery.com>
1547
1548 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
1549 * target.c (gomp_load_plugin_for_device): If set and if a plugin
1550 can't be dlopened, silently assume it has no devices.
1551 * Makefile.in: Regenerate.
1552 * config.h.in: Regenerate.
1553 * configure: Regenerate.
1554
1555 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
1556
1557 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
1558 Use [Ww]arning in dg-bogus as FE diagnostic and default
1559 diagnostic differ and the result depends on ENABLE_OFFLOAD.
1560 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1561 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1562 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1563
1564 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
1565
1566 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
1567 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
1568 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1569 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1570 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1571
1572 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1573 Nathan Sidwell <nathan@codesourcery.com>
1574 Tom de Vries <vries@codesourcery.com>
1575 Julian Brown <julian@codesourcery.com>
1576 Kwok Cheung Yeung <kcy@codesourcery.com>
1577
1578 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
1579 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
1580 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1581 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1582 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1583 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1584 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
1585 Likewise.
1586 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
1587 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1588 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1589 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1590 Likewise.
1591 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
1592 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1593 Likewise.
1594 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1595 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1596 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1597 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1598 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1599 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
1600 Likewise.
1601 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1602 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
1603 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1604 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1605 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1606 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
1607 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1608 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1609 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1610 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1611 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1612
1613 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1614
1615 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
1616 compile with '-w'.
1617 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1618 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1619 Likewise.
1620 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1621 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
1622 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1623 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1624 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1625 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1626 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1627
1628 2021-04-22 Richard Biener <rguenther@suse.de>
1629
1630 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
1631 only on nvptx-none.
1632
1633 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
1634
1635 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
1636 omp_depend_kind instead of defining it as 16.
1637
1638 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
1639
1640 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1641 New, based on check_effective_target_offload_target_nvptx.
1642 (check_effective_target_offload_target_nvptx): Call it.
1643 (check_effective_target_offload_target_amdgcn): New.
1644 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
1645 Require target offload_target_nvptx || offload_target_amdgcn.
1646 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
1647 * testsuite/libgomp.c/pr86416-1.c: Likewise.
1648 * testsuite/libgomp.c/pr86416-2.c: Likewise.
1649
1650 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
1651
1652 * testsuite/libgomp.fortran/depobj-1.f90: New test.
1653
1654 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
1655
1656 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1657 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
1658 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1659 Likewise.
1660 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1661 Likewise.
1662 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1663
1664 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
1665
1666 PR target/99555
1667 * testsuite/lib/libgomp.exp
1668 (check_effective_target_offload_device_nvptx): New.
1669 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
1670 resolved, make sure that we exit quickly, with error status,
1671 XFAILed.
1672 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
1673 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
1674
1675 2021-04-14 Jakub Jelinek <jakub@redhat.com>
1676
1677 PR testsuite/100071
1678 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
1679 cp = omp_alloc with cp, p arguments instead of cq, q and call
1680 c_f_pointer after last cq = omp_alloc with cq, q.
1681
1682 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
1683
1684 PR middle-end/98088
1685 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
1686 for loop with GT/GE condition.
1687 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
1688
1689 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
1690
1691 PR middle-end/84991
1692 PR middle-end/84992
1693 PR middle-end/90779
1694 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
1695
1696 2021-04-09 Jakub Jelinek <jakub@redhat.com>
1697
1698 PR libgomp/99984
1699 * team.c (gomp_thread_start): Call pthread_setspecific for
1700 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
1701 has been initialized to avoid false positive warning.
1702
1703 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
1704
1705 PR target/99555
1706 * testsuite/lib/on_device_arch.c: Move to ...
1707 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
1708 * testsuite/libgomp.fortran/on_device_arch.c: New file;
1709 #include on_device_arch.h.
1710 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
1711 on_device_arch.h instead of using dg-additional-source.
1712 * testsuite/libgomp.c/pr99555-1.c: Likewise.
1713 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
1714 on_device_arch.c without relative paths.
1715
1716 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1717
1718 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
1719 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
1720 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
1721 * config.h.in: Regenerate.
1722 * configure: Likewise.
1723
1724 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1725
1726 PR target/99555
1727 * testsuite/lib/on_device_arch.c: New file.
1728 * testsuite/libgomp.c/pr99555-1.c: Likewise.
1729 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
1730 skip for nvptx offloading, with error status.
1731 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
1732
1733 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1734
1735 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
1736 OpenACC 'serial' construct diagnostic for nvptx offloading.
1737
1738 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
1739
1740 PR c++/99509
1741 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
1742
1743 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
1744
1745 PR fortran/98858
1746 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
1747
1748 2021-03-04 Jakub Jelinek <jakub@redhat.com>
1749
1750 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
1751 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
1752 checking of -m32 or -mx32 options on the command line.
1753 * config.h.in: Regenerated.
1754 * configure: Regenerated.
1755
1756 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
1757
1758 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
1759 support from the target.
1760
1761 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
1762 Jakub Jelinek <jakub@redhat.com>
1763
1764 PR libgomp/98738
1765 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
1766 (struct gomp_task): Replace detach and completion_sem fields with
1767 union containing completion_sem and detach_team. Add deferred_p
1768 field.
1769 (struct gomp_team): Remove task_detach_queue.
1770 * task.c: Include assert.h.
1771 (gomp_init_task): Initialize deferred_p and completion_sem fields.
1772 Rearrange initialization order of fields.
1773 (task_fulfilled_p): Delete.
1774 (GOMP_task): Use address of task as the event handle. Remove
1775 initialization of detach field. Initialize deferred_p field.
1776 Use automatic local for completion_sem. Initialize detach_team field
1777 for deferred tasks.
1778 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
1779 Set kind of suspended detach task to GOMP_TASK_DETACHED and
1780 decrement task_running_count. Move finish_cancelled block out of
1781 else branch. Relocate call to gomp_team_barrier_done.
1782 (GOMP_taskwait): Handle tasks with completion events that have not
1783 been fulfilled.
1784 (GOMP_taskgroup_end): Likewise.
1785 (omp_fulfill_event): Use address of task as event handle. Post to
1786 completion_sem for undeferred tasks. Clear detach_team if task
1787 has not finished. For finished tasks, handle post-execution tasks,
1788 call gomp_team_barrier_wake if necessary, and free task.
1789 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
1790 (free_team): Remove free of task_detach_queue.
1791 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
1792 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
1793 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
1794 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
1795 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
1796 Change data-sharing of detach events on enclosing parallel to private.
1797 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
1798 taskwait directive.
1799 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
1800 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
1801 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
1802 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
1803 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
1804 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
1805 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
1806 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
1807 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
1808 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
1809 Change data-sharing of detach events on enclosing parallel to private.
1810 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
1811 taskwait directive.
1812 * testsuite/libgomp.fortran/task-detach-7.f90: New.
1813 * testsuite/libgomp.fortran/task-detach-8.f90: New.
1814 * testsuite/libgomp.fortran/task-detach-9.f90: New.
1815 * testsuite/libgomp.fortran/task-detach-10.f90: New.
1816 * testsuite/libgomp.fortran/task-detach-11.f90: New.
1817
1818 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
1819
1820 PR fortran/99171
1821 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
1822
1823 2021-02-17 Julian Brown <julian@codesourcery.com>
1824
1825 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
1826 expected errors.
1827
1828 2021-02-17 Julian Brown <julian@codesourcery.com>
1829
1830 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
1831 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
1832
1833 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
1834
1835 * config/linux/x86/futex.h (__futex_wait):
1836 Revert output type back to long.
1837 (__futex_wake): Ditto.
1838 (futex_wait): Update for revert.
1839 (futex_wake): Ditto.
1840
1841 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
1842
1843 * config/linux/x86/futex.h (__futex_wait): New static inline
1844 wrapper function. Correct output type to int and
1845 timeout type to void *.
1846 (__futex_wake): New static inline wrapper function.
1847 Correct output type to int.
1848 (futex_wait): Use __futex_wait.
1849 (futex_wake): Use __futex_wake.
1850
1851 2021-02-10 Julian Brown <julian@codesourcery.com>
1852
1853 PR fortran/98979
1854 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
1855 errors.
1856
1857 2021-02-04 Julian Brown <julian@codesourcery.com>
1858
1859 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
1860
1861 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
1862
1863 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
1864 EF_AMDGPU_MACH_AMDGCN_GFX908.
1865 (gcn_gfx908_s): New constant string.
1866 (isa_hsa_name): Add gfx908.
1867 (isa_code): Add gfx908.
1868
1869 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
1870
1871 * libgomp.texi (omp_fulfill_event): New entry.
1872
1873 2021-01-20 Jakub Jelinek <jakub@redhat.com>
1874
1875 * task.c (GOMP_task): Rename priority argument to priority_arg,
1876 add priority automatic variable and modify that variable. Instead of
1877 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
1878 check flags for that bit.
1879
1880 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
1881
1882 PR fortran/98476
1883 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
1884
1885 2021-01-18 Andreas Schwab <schwab@suse.de>
1886
1887 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
1888
1889 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
1890
1891 * config/rtems/sem.h (gomp_sem_getcount): New function.
1892
1893 2021-01-18 Jakub Jelinek <jakub@redhat.com>
1894
1895 * config/linux/sem.h (gomp_sem_getcount): New function.
1896 * config/posix/sem.h (gomp_sem_getcount): New function.
1897 * config/posix/sem.c (gomp_sem_getcount): New function.
1898 * config/accel/sem.h (gomp_sem_getcount): New function.
1899 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
1900 (omp_fulfill_event): Likewise.
1901
1902 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1903
1904 * fortran.c (omp_fulfill_event_): New.
1905 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
1906 (struct gomp_team): Add task_detach_queue and task_detach_count
1907 fields.
1908 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
1909 * libgomp_g.h (GOMP_task): Add extra argument.
1910 * omp.h.in (enum omp_event_handle_t): New.
1911 (omp_fulfill_event): New.
1912 * omp_lib.f90.in (omp_event_handle_kind): New.
1913 (omp_fulfill_event): New.
1914 * omp_lib.h.in (omp_event_handle_kind): New.
1915 (omp_fulfill_event): Declare.
1916 * priority_queue.c (priority_tree_find): New.
1917 (priority_list_find): New.
1918 (priority_queue_find): New.
1919 * priority_queue.h (priority_queue_predicate): New.
1920 (priority_queue_find): New.
1921 * task.c (gomp_init_task): Initialize detach field.
1922 (task_fulfilled_p): New.
1923 (GOMP_task): Add detach argument. Ignore detach argument if
1924 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
1925 field. Copy address of completion_sem into detach argument and
1926 into the start of the data record. Wait for detach event if task
1927 not deferred.
1928 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
1929 Remove completed tasks and requeue dependent tasks.
1930 (omp_fulfill_event): New.
1931 * team.c (gomp_new_team): Initialize task_detach_queue and
1932 task_detach_count fields.
1933 (free_team): Free task_detach_queue field.
1934 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
1935 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
1936 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
1937 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
1938 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
1939 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
1940 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
1941 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
1942 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
1943 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
1944 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
1945 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
1946
1947 2021-01-15 Jakub Jelinek <jakub@redhat.com>
1948
1949 PR target/70454
1950 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
1951 be added through preprocessor check on
1952 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
1953
1954 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
1955
1956 PR libgomp/65099
1957 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
1958 configurations.
1959 * configure: Regenerate.
1960 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
1961 check.
1962
1963 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
1964
1965 * configure: Re-generate.
1966
1967 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
1968
1969 * configure: Re-generate.
1970
1971 2021-01-05 Julian Brown <julian@codesourcery.com>
1972
1973 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
1974 (struct ptx_device): Add omp_stacks struct.
1975 (nvptx_open_device): Initialise cached-stacks housekeeping info.
1976 (nvptx_close_device): Free cached stacks block and mutex.
1977 (nvptx_stacks_free): New function.
1978 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
1979 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
1980 (nvptx_stacks_alloc): Rename to...
1981 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
1982 size or smaller is required.
1983 (nvptx_stacks_free): Remove.
1984 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
1985 during kernel execution.
1986
1987 2021-01-01 Jakub Jelinek <jakub@redhat.com>
1988
1989 * libgomp.texi: Bump @copying's copyright year.
1990
1991 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
1992
1993 * libgomp.texi (Top): Avoid bad "up" link.
1994
1995 2020-12-18 Jakub Jelinek <jakub@redhat.com>
1996
1997 * testsuite/libgomp.c/task-6.c: New test.
1998
1999 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
2000
2001 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
2002 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
2003
2004 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
2005
2006 * testsuite/libgomp.fortran/scan-1.f90: New test.
2007
2008 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
2009
2010 PR target/97865
2011 * configure: Regenerate.
2012
2013 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
2014
2015 * configure: Regenerate.
2016
2017 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
2018
2019 * testsuite/libgomp.oacc-c++/cache-1.C: New.
2020 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
2021
2022 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
2023
2024 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
2025 expected results.
2026
2027 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
2028
2029 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
2030 (reserved): Delete unused define.
2031
2032 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
2033
2034 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
2035 Tcl 8.5-specific behavior.
2036 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2037
2038 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
2039
2040 * env.c (gomp_global_icv): Remove nest_var field. Add
2041 max_active_levels_var field.
2042 (gomp_max_active_levels_var): Remove.
2043 (parse_boolean): Return true on success.
2044 (handle_omp_display_env): Express OMP_NESTED in terms of
2045 max_active_levels_var. Change format specifier for
2046 max_active_levels_var.
2047 (initialize_env): Set max_active_levels_var from
2048 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
2049 OMP_PROC_BIND.
2050 * icv.c (omp_set_nested): Express in terms of
2051 max_active_levels_var.
2052 (omp_get_nested): Likewise.
2053 (omp_set_max_active_levels): Use max_active_levels_var field instead
2054 of gomp_max_active_levels_var.
2055 (omp_get_max_active_levels): Likewise.
2056 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
2057 max_active_levels_var field.
2058 (gomp_supported_active_levels): Set to UCHAR_MAX.
2059 (gomp_max_active_levels_var): Delete.
2060 * libgomp.texi (omp_get_nested): Update documentation.
2061 (omp_set_nested): Likewise.
2062 (OMP_MAX_ACTIVE_LEVELS): Likewise.
2063 (OMP_NESTED): Likewise.
2064 (OMP_NUM_THREADS): Likewise.
2065 (OMP_PROC_BIND): Likewise.
2066 * parallel.c (gomp_resolve_num_threads): Replace reference
2067 to nest_var with max_active_levels_var. Use max_active_levels_var
2068 field instead of gomp_max_active_levels_var.
2069
2070 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
2071
2072 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
2073 nvptx_usleep; use also for device={arch(gcn)}.
2074
2075 2020-11-14 Jakub Jelinek <jakub@redhat.com>
2076
2077 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
2078 (foo): Add tests for non-VLA private and firstprivate clauses on
2079 omp task.
2080 (bar): Likewise. Remove taking of address from private/firstprivate
2081 variables.
2082 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
2083 (foo): Add p, q, px and s arguments. Add tests for array reductions
2084 and for non-VLA private and firstprivate clauses on omp task.
2085 (bar): Removed.
2086 (main): Adjust foo caller. Don't call bar.
2087
2088 2020-11-13 Gergö Barany <gergo@codesourcery.com>
2089 Thomas Schwinge <thomas@codesourcery.com>
2090
2091 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2092 New.
2093 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2094 Likewise.
2095 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2096 Likewise.
2097 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
2098 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2099
2100 2020-11-13 Gergö Barany <gergo@codesourcery.com>
2101 Thomas Schwinge <thomas@codesourcery.com>
2102
2103 PR fortran/94358
2104 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
2105
2106 2020-11-13 Jakub Jelinek <jakub@redhat.com>
2107
2108 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
2109 for array reductions.
2110 (main): Adjust foo callers.
2111
2112 2020-11-12 Jakub Jelinek <jakub@redhat.com>
2113
2114 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
2115 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
2116 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
2117 * allocator.c (omp_aligned_alloc): New for now static function,
2118 add alignment argument and handle it.
2119 (omp_alloc): Reimplement using omp_aligned_alloc.
2120 (GOMP_alloc, GOMP_free): New functions.
2121 (omp_free): Add ialias.
2122 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
2123 * testsuite/libgomp.c++/allocate-1.C: New test.
2124
2125 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
2126
2127 PR fortran/97782
2128 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
2129
2130 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
2131
2132 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
2133 usable.
2134 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
2135 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
2136 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
2137 (goacc_enter_data_internal): Likewise.
2138 * target.c (gomp_map_vars_internal):
2139 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
2140 of gomp_attach_pointer for OpenMP cases.
2141 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
2142 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
2143 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
2144
2145 2020-11-05 Ulrich Drepper <drepper@redhat.com>
2146 Kwok Cheung Yeung <kcy@codesourcery.com>
2147
2148 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
2149 * Makefile.in: Regenerate.
2150 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
2151 pragmas to ignore -Wdeprecated-declarations warnings.
2152 * icv.c: Likewise.
2153 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
2154 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
2155 and omp_get_nested with __GOMP_DEPRECATED_5_0.
2156 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
2157 deprecated.
2158 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
2159 to test options.
2160 * testsuite/libgomp.c/affinity-1.c: Likewise.
2161 * testsuite/libgomp.c/affinity-2.c: Likewise.
2162 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
2163 * testsuite/libgomp.c/lib-1.c: Likewise.
2164 * testsuite/libgomp.c/nested-1.c: Likewise.
2165 * testsuite/libgomp.c/nested-2.c: Likewise.
2166 * testsuite/libgomp.c/nested-3.c: Likewise.
2167 * testsuite/libgomp.c/pr32362-1.c: Likewise.
2168 * testsuite/libgomp.c/pr32362-2.c: Likewise.
2169 * testsuite/libgomp.c/pr32362-3.c: Likewise.
2170 * testsuite/libgomp.c/pr35549.c: Likewise.
2171 * testsuite/libgomp.c/pr42942.c: Likewise.
2172 * testsuite/libgomp.c/pr61200.c: Likewise.
2173 * testsuite/libgomp.c/sort-1.c: Likewise.
2174 * testsuite/libgomp.c/target-5.c: Likewise.
2175 * testsuite/libgomp.c/target-6.c: Likewise.
2176 * testsuite/libgomp.c/teams-1.c: Likewise.
2177 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
2178 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
2179 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
2180 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
2181 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2182 * testsuite/libgomp.fortran/lib2.f: Likewise.
2183 * testsuite/libgomp.fortran/nested1.f90: Likewise.
2184 * testsuite/libgomp.fortran/teams1.f90: Likewise.
2185
2186 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
2187
2188 PR target/85486
2189 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
2190 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
2191 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
2192
2193 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
2194
2195 PR testsuite/80219
2196 PR testsuite/85303
2197 * testsuite/lib/libgomp.exp (libgomp_init): Set
2198 'gcc_warning_prefix', 'gcc_error_prefix'.
2199
2200 2020-10-30 Jakub Jelinek <jakub@redhat.com>
2201
2202 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
2203 even in field_tgt_clear initializer.
2204
2205 2020-10-28 Jakub Jelinek <jakub@redhat.com>
2206
2207 * testsuite/libgomp.c/target-42.c: New test.
2208
2209 2020-10-28 Jakub Jelinek <jakub@redhat.com>
2210 Tom de Vries <tdevries@suse.de>
2211
2212 PR testsuite/81690
2213 * testsuite/libgomp.c/usleep.h: New file.
2214 * testsuite/libgomp.c/target-32.c: Include usleep.h.
2215 (main): Use tgt_usleep instead of usleep.
2216 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
2217 (main): Use tgt_usleep instead of usleep.
2218
2219 2020-10-28 Jakub Jelinek <jakub@redhat.com>
2220
2221 PR lto/96680
2222 * testsuite/libgomp.c/declare-variant-1.c: New test.
2223
2224 2020-10-22 Jakub Jelinek <jakub@redhat.com>
2225
2226 * testsuite/libgomp.c/target-41.c: New test.
2227
2228 2020-10-22 Jakub Jelinek <jakub@redhat.com>
2229
2230 * icv.c (omp_get_initial_device): Remove including corresponding
2231 ialias.
2232 * icv-device.c (omp_get_initial_device): New function. Return
2233 gomp_get_num_devices (). Add ialias.
2234 * target.c (resolve_device): Don't fail with
2235 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
2236 gomp_get_num_devices ().
2237 (omp_target_alloc, omp_target_free, omp_target_is_present,
2238 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
2239 omp_target_disassociate_ptr, omp_pause_resource): Use
2240 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
2241 first use in the functions, in uses dominated by the
2242 gomp_get_num_devices call use num_devices_openmp instead.
2243 * libgomp.texi (omp_get_initial_device): Document.
2244 * config/gcn/icv-device.c (omp_get_initial_device): New function.
2245 Add ialias.
2246 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
2247 * testsuite/libgomp.c/target-40.c: New test.
2248
2249 2020-10-21 Jakub Jelinek <jakub@redhat.com>
2250
2251 * env.c (parse_target_offload): Change new_offload var type to int,
2252 preinitialize to -1, remove found var and test new_offload != -1
2253 instead of found.
2254
2255 2020-10-20 Jakub Jelinek <jakub@redhat.com>
2256
2257 * target.c (gomp_target_init): Inside of the function, use automatic
2258 variables corresponding to num_devices, num_devices_openmp and devices
2259 global variables and update the globals only at the end of the
2260 function.
2261
2262 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
2263
2264 * env.c (gomp_target_offload_var): New.
2265 (parse_target_offload): New.
2266 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
2267 (initialize_env): Parse OMP_TARGET_OFFLOAD.
2268 * libgomp.h (gomp_target_offload_t): New.
2269 (gomp_target_offload_var): New.
2270 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
2271 * target.c (resolve_device): Generate error if device not found and
2272 offloading is mandatory.
2273 (gomp_target_fallback): Generate error if offloading is mandatory.
2274 (GOMP_target): Add argument in call to gomp_target_fallback.
2275 (GOMP_target_ext): Likewise.
2276 (gomp_target_data_fallback): Generate error if offloading is mandatory.
2277 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
2278 (GOMP_target_data_ext): Likewise.
2279 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
2280 (gomp_target_init): Return early if offloading is disabled.
2281
2282 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
2283
2284 * libgomp.texi (omp_get_max_active_levels): Modify description.
2285 (omp_get_supported_active_levels): Make descriptions consistent.
2286
2287 2020-10-14 Jakub Jelinek <jakub@redhat.com>
2288
2289 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
2290
2291 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
2292
2293 * env.c (gomp_max_active_levels_var): Initialize to
2294 gomp_supported_active_levels.
2295 (initialize_env): Limit gomp_max_active_levels_var to be at most
2296 equal to gomp_supported_active_levels.
2297 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
2298 (omp_get_supported_active_levels_): New.
2299 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
2300 to at most equal to gomp_supported_active_levels.
2301 (omp_get_supported_active_levels): New.
2302 * libgomp.h (gomp_supported_active_levels): New.
2303 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
2304 omp_get_supported_active_levels_.
2305 * libgomp.texi (omp_get_supported_active_levels): New.
2306 (omp_set_max_active_levels): Update. Add reference to
2307 omp_get_supported_active_levels.
2308 * omp.h.in (omp_get_supported_active_levels): New.
2309 * omp_lib.f90.in (omp_get_supported_active_levels): New.
2310 * omp_lib.h.in (omp_get_supported_active_levels): New.
2311 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
2312 against omp_get_supported_active_levels.
2313 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
2314
2315 2020-10-11 Clement Chigot <clement.chigot@atos.net>
2316
2317 * config/t-aix: Delete and recreate libgomp before creating
2318 FAT library.
2319
2320 2020-10-08 Tom de Vries <tdevries@suse.de>
2321
2322 PR libgomp/81802
2323 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
2324 dimensions.
2325
2326 2020-10-06 Tom de Vries <tdevries@suse.de>
2327
2328 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
2329
2330 2020-10-06 Tom de Vries <tdevries@suse.de>
2331
2332 PR middle-end/90861
2333 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
2334
2335 2020-10-05 Tom de Vries <tdevries@suse.de>
2336
2337 PR fortran/95654
2338 * testsuite/libgomp.fortran/pr95654.f90: New test.
2339
2340 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
2341
2342 * Makefile.in: Regenerate with automake 1.15.1.
2343 * aclocal.m4: Likewise.
2344 * configure: Likewise.
2345 * testsuite/Makefile.in: Likewise.
2346
2347 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
2348
2349 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
2350 and amdgcn targets.
2351
2352 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
2353
2354 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
2355
2356 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
2357
2358 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
2359 total number of threads is one.
2360 (gomp_team_barrier_wake): Likewise.
2361 (gomp_team_barrier_wait_end): Likewise.
2362 (gomp_team_barrier_wait_cancel_end): Likewise.
2363 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
2364 (gomp_team_barrier_wake): Likewise.
2365 (gomp_team_barrier_wait_end): Likewise.
2366 (gomp_team_barrier_wait_cancel_end): Likewise.
2367 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
2368
2369 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
2370
2371 PR middle-end/96390
2372 * testsuite/libgomp.c++/pr96390.C: New test.
2373 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
2374
2375 2020-09-27 Clement Chigot <clement.chigot@atos.net>
2376
2377 * config/t-aix: Use $(AR) without -X32_64.
2378
2379 2020-09-25 Jakub Jelinek <jakub@redhat.com>
2380
2381 * testsuite/libgomp.c/loop-25.c: New test.
2382
2383 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
2384
2385 PR fortran/95654
2386 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
2387
2388 2020-09-22 Tom de Vries <tdevries@suse.de>
2389
2390 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
2391 fails.
2392
2393 2020-09-16 Nathan Sidwell <nathan@acm.org>
2394
2395 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
2396
2397 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
2398
2399 PR fortran/96668
2400 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
2401
2402 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
2403
2404 PR fortran/96668
2405 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
2406 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
2407 (gomp_map_vars_existing): Update call to it.
2408 (gomp_map_fields_existing): Likewise
2409 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
2410 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
2411 remapped.
2412 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
2413 GOMP_MAP_POINTER.
2414 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
2415 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
2416
2417 2020-09-14 Tom de Vries <tdevries@suse.de>
2418
2419 * config/nvptx/atomic.c: New file. Add
2420 __sync_val_compare_and_swap_16.
2421 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
2422 target offload_target_nvptx.
2423
2424 2020-09-08 Julian Brown <julian@codesourcery.com>
2425
2426 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
2427 iteration-ordering assumptions.
2428
2429 2020-09-08 Julian Brown <julian@codesourcery.com>
2430
2431 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
2432 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2433
2434 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
2435
2436 * plugin/plugin-nvptx.c (nvptx_free):
2437 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
2438 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
2439 comments.
2440
2441 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
2442
2443 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
2444
2445 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
2446
2447 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
2448
2449 2020-08-13 Jakub Jelinek <jakub@redhat.com>
2450
2451 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
2452 * testsuite/libgomp.c/loop-23.c (main): Likewise.
2453 * testsuite/libgomp.c/loop-24.c: New test.
2454
2455 2020-08-08 Jakub Jelinek <jakub@redhat.com>
2456 Tobias Burnus <tobias@codesourcery.com>
2457
2458 PR fortran/93553
2459 * testsuite/libgomp.fortran/pr93553.f90: New test.
2460
2461 2020-08-05 Jakub Jelinek <jakub@redhat.com>
2462
2463 * testsuite/libgomp.c/loop-22.c: New test.
2464 * testsuite/libgomp.c/loop-23.c: New test.
2465
2466 2020-08-05 Jakub Jelinek <jakub@redhat.com>
2467
2468 PR middle-end/96459
2469 * testsuite/libgomp.c/teams-3.c: New test.
2470 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
2471 if not defined yet.
2472 (N(test)): Use it before all N(f*) calls.
2473 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
2474 (main): Don't call all test_* functions from within
2475 #pragma omp teams reduction(|:err), call them directly.
2476
2477 2020-08-04 Tom de Vries <tdevries@suse.de>
2478
2479 PR target/96428
2480 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
2481 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
2482
2483 2020-08-03 Julian Brown <julian@codesourcery.com>
2484 Thomas Schwinge <thomas@codesourcery.com>
2485
2486 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
2487 shared-memory devices. Extend with further checking.
2488
2489 2020-08-03 Martin Jambor <mjambor@suse.cz>
2490
2491 * plugin/Makefrag.am: Remove configuration of HSA plugin.
2492 * aclocal.m4: Regenerated.
2493 * Makefile.in: Regenerated.
2494 * config.h.in: Regenerated.
2495 * configure: Regenerated.
2496 * plugin/configfrag.ac: Likewise.
2497 * plugin/hsa_ext_finalize.h: Removed.
2498 * plugin/plugin-hsa.c: Likewise.
2499 * testsuite/Makefile.in: Regenerated.
2500 * testsuite/lib/libgomp.exp
2501 (offload_target_to_openacc_device_type): Remove hsa case.
2502 (check_effective_target_hsa_offloading_selected_nocache): Removed
2503 (check_effective_target_hsa_offloading_selected): Likewise.
2504 (libgomp_init): Do not add -Wno-hsa to additional_flags.
2505 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
2506 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
2507 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
2508 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
2509 * testsuite/libgomp.hsa.c/c.exp: Likewise.
2510 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
2511 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
2512 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
2513 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
2514 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
2515 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
2516 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
2517 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
2518 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
2519 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
2520 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
2521 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
2522 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
2523 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
2524 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
2525 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
2526 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
2527 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
2528 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
2529
2530 2020-07-27 Julian Brown <julian@codesourcery.com>
2531 Thomas Schwinge <thomas@codesourcery.com>
2532
2533 * libgomp.h (struct target_var_desc): Rename do_detach field to
2534 is_attach.
2535 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
2536 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
2537 (goacc_enter_data_internal): Don't affect reference counts
2538 for attach mappings.
2539 (goacc_exit_data_internal): Don't affect reference counts for detach
2540 mappings.
2541 * target.c (gomp_map_vars_existing): Don't affect reference counts for
2542 attach mappings.
2543 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
2544 mark attach mappings.
2545 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
2546 reference count for attach mappings.
2547 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
2548 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
2549 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
2550 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
2551 test as shouldfail.
2552 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
2553 gracefully in no-finalize mode.
2554 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
2555
2556 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
2557
2558 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
2559 use.
2560 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2561 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2562
2563 2020-07-23 Julian Brown <julian@codesourcery.com>
2564 Thomas Schwinge <thomas@codesourcery.com>
2565
2566 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
2567 finalization for detach operation.
2568 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
2569 New test.
2570
2571 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
2572
2573 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
2574 * libgomp_f.h.in (omp_check_defines): Check whether
2575 sizeof of determined Fortran kind and C typedef match.
2576 * omp_lib.f90.in: Add omp_depened_kind.
2577 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
2578 * configure: Regenerate.
2579 * Makefile.in: Regenerate.
2580 * testsuite/Makefile.in: Regenerate.
2581
2582 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
2583
2584 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
2585 gcc/testsuite/c-c++-common/gomp/.
2586 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
2587 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
2588 from gcc/testsuite/gfortran.dg/gomp/.
2589 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
2590
2591 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
2592
2593 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
2594 * omp_lib.h.in: Likewise.
2595
2596 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
2597
2598 PR target/95620
2599 * testsuite/libgomp.c/pr95620.c: New test.
2600
2601 2020-07-16 Julian Brown <julian@codesourcery.com>
2602 Thomas Schwinge <thomas@codesourcery.com>
2603
2604 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
2605 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
2606
2607 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
2608
2609 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
2610 avoid conversion on 32bit systems from 32bit to 64bit due
2611 to -fdefault-integer-8.
2612
2613 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
2614
2615 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
2616 variables; add character(kind=4) tests; update TODO comment.
2617
2618 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
2619
2620 * allocator.c: Add ialias for omp_init_allocator and
2621 omp_destroy_allocator.
2622 * configure.ac: Set INTPTR_T_KIND.
2623 * configure: Regenerate.
2624 * Makefile.in: Regenerate.
2625 * testsuite/Makefile.in: Regenerate.
2626 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
2627 omp_set_default_allocator_, omp_get_default_allocator_): New
2628 functions and ialias_redirect.
2629 * icv.c: Add ialias for omp_set_default_allocator and
2630 omp_get_default_allocator.
2631 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
2632 omp_destroy_allocator_, omp_set_default_allocator_ and
2633 omp_get_default_allocator_.
2634 * omp_lib.f90.in: Add allocator traits parameters, declare
2635 allocator routines and add related kind parameters.
2636 * omp_lib.h.in: Likewise.
2637 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
2638 * testsuite/libgomp.fortran/alloc-1.F90: New test.
2639 * testsuite/libgomp.fortran/alloc-2.F90: New test.
2640 * testsuite/libgomp.fortran/alloc-3.F: New test.
2641 * testsuite/libgomp.fortran/alloc-4.f90: New test.
2642 * testsuite/libgomp.fortran/alloc-5.f90: New test.
2643
2644 2020-07-14 Tom de Vries <tom@codesourcery.com>
2645 Cesar Philippidis <cesar@codesourcery.com>
2646 Thomas Schwinge <thomas@codesourcery.com>
2647 Kwok Cheung Yeung <kcy@codesourcery.com>
2648
2649 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
2650 New variable.
2651 (acc_init_1): Set acc_init_thread to pthread_self (). Set
2652 acc_init_state to initializing at the start, and to initialized at the
2653 end.
2654 (self_initializing_p): New function.
2655 (acc_get_device_type): Return acc_device_none if called by thread that
2656 is currently executing acc_init_1.
2657 * libgomp.texi (acc_get_device_type): Update documentation.
2658 (Implementation Status and Implementation-Defined Behavior): Likewise.
2659 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
2660
2661 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
2662
2663 * config/t-aix: Set BITS from compiler cpp macro.
2664
2665 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
2666
2667 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
2668
2669 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
2670
2671 PR fortran/67311
2672 * testsuite/libgomp.fortran/target-map-1.f90: New test.
2673
2674 2020-07-14 Jakub Jelinek <jakub@redhat.com>
2675
2676 * testsuite/libgomp.c/loop-21.c: New test.
2677
2678 2020-07-13 Julian Brown <julian@codesourcery.com>
2679 Thomas Schwinge <thomas@codesourcery.com>
2680
2681 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
2682
2683 2020-07-10 Julian Brown <julian@codesourcery.com>
2684 Thomas Schwinge <thomas@codesourcery.com>
2685
2686 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
2687 dynamic_refcount.
2688 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
2689 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
2690 dynamic_refcount.
2691 (acc_unmap_data): Update comment.
2692 (goacc_map_var_existing, goacc_enter_datum): Adjust for
2693 dynamic_refcount semantics.
2694 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
2695 Adjust for dynamic_refcount semantics.
2696 (goacc_enter_data_internal): Implement "present" case of dynamic
2697 memory-map handling here. Update "non-present" case for
2698 dynamic_refcount semantics.
2699 (goacc_exit_data_internal): Use goacc_exit_datum_1.
2700 * target.c (gomp_map_vars_internal): Remove
2701 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
2702 handling.
2703 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
2704 (gomp_load_image_to_device): Substitute dynamic_refcount for
2705 virtual_refcount.
2706 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
2707 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
2708 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
2709 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
2710 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
2711 trace output.
2712 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
2713 trace output.
2714 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
2715 test.
2716 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
2717 Remove stale comment.
2718 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
2719 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
2720 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2721 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2722 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2723 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
2724
2725 2020-07-10 Julian Brown <julian@codesourcery.com>
2726 Thomas Schwinge <thomas@codesourcery.com>
2727
2728 * oacc-mem.c (goacc_map_var_existing): New function.
2729 (goacc_enter_datum): Use above function.
2730 (goacc_exit_datum_1): New function.
2731 (goacc_exit_datum): Use above function.
2732
2733 2020-07-09 Julian Brown <julian@codesourcery.com>
2734 Thomas Schwinge <thomas@codesourcery.com>
2735
2736 PR middle-end/95270
2737 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
2738 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
2739
2740 2020-07-09 Julian Brown <julian@codesourcery.com>
2741
2742 * oacc-mem.c (find_group_last): Group data-movement clauses
2743 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
2744 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
2745
2746 2020-07-09 Jakub Jelinek <jakub@redhat.com>
2747
2748 * testsuite/libgomp.c/loop-19.c: New test.
2749 * testsuite/libgomp.c/loop-20.c: New test.
2750
2751 2020-07-09 Jakub Jelinek <jakub@redhat.com>
2752
2753 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
2754 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
2755 it. Remove __omp_alloctrait_value_max__.
2756 * allocator.c (omp_init_allocator): Handle omp_atv_default for
2757 omp_atk_alignment and omp_atk_pool_size.
2758
2759 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
2760
2761 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
2762 behavior for 'GOMP_MAP_FORCE_FROM'.
2763 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
2764
2765 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
2766
2767 * oacc-mem.c (goacc_exit_data_internal): Remove
2768 'GOMP_MAP_ALWAYS_FROM' handling.
2769
2770 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
2771
2772 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
2773 'scan-assembler' with 'scan-offload-rtl'.
2774 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2775 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
2776 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
2777 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
2778
2779 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
2780
2781 * target.c (gomp_map_vars_existing): Assert 'kind !=
2782 GOMP_MAP_ATTACH'.
2783 (gomp_map_vars_internal): Clean up.
2784
2785 2020-06-27 Jakub Jelinek <jakub@redhat.com>
2786
2787 * testsuite/libgomp.c/loop-17.c: New test.
2788 * testsuite/libgomp.c/loop-18.c: New test.
2789
2790 2020-06-26 Marek Polacek <polacek@redhat.com>
2791
2792 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
2793
2794 2020-06-23 Alexandre Oliva <oliva@adacore.com>
2795
2796 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
2797 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
2798
2799 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
2800
2801 * Makefile.am: Use -include.
2802 * Makefile.in: Regenerate.
2803
2804 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
2805
2806 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
2807 * Makefile.in: Regenerate
2808 * configure.ac (tmake_file): Substitute.
2809 * configure: Regenerate.
2810 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
2811 * config/t-aix: New file.
2812
2813 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
2814
2815 PR lto/94848
2816 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
2817 'dg-do run'.
2818
2819 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
2820
2821 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
2822 variant for HSA_RUNTIME_LIB name.
2823 (find_executable_symbol_1): Delete.
2824 (find_executable_symbol): Delete.
2825 (init_kernel_properties): Add ".kd" suffix to symbol names.
2826 (find_load_offset): Delete.
2827 (create_and_finalize_hsa_program): Remove relocation handling.
2828
2829 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
2830
2831 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
2832
2833 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
2834
2835 PR lto/94848
2836 PR middle-end/95551
2837 * testsuite/libgomp.fortran/target-var.f90: New test.
2838
2839 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
2840 Julian Brown <julian@codesourcery.com>
2841
2842 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
2843 special handling.
2844
2845 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
2846 Julian Brown <julian@codesourcery.com>
2847
2848 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2849 Simplify.
2850
2851 2020-06-05 Julian Brown <julian@codesourcery.com>
2852
2853 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
2854 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
2855
2856 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2857
2858 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2859 Evaluate 'copyfrom' individually for each entry.
2860 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
2861
2862 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2863
2864 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2865 Evaluate 'finalize' individually for each entry.
2866 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
2867 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
2868 file.
2869
2870 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2871
2872 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
2873 usage.
2874 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
2875
2876 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2877 Julian Brown <julian@codesourcery.com>
2878
2879 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
2880 checking.
2881 (acc_unmap_data, goacc_exit_data_internal): Restore
2882 'is_tgt_unmapped' checking.
2883 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
2884 file.
2885 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
2886 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
2887 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2888 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2889 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2890 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
2891
2892 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2893 Julian Brown <julian@codesourcery.com>
2894
2895 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
2896
2897 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2898
2899 PR libgomp/92854
2900 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
2901
2902 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2903
2904 PR libgomp/92854
2905 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
2906 more.
2907
2908 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2909 Julian Brown <julian@codesourcery.com>
2910
2911 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
2912 'gomp_map_vars'.
2913 (acc_map_data): Clean up accordingly.
2914
2915 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2916
2917 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
2918 of over-eager 'finalize' clause.
2919 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
2920 file.
2921 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
2922 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
2923 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2924 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2925 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2926 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
2927 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
2928 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
2929
2930 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2931
2932 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
2933
2934 2020-06-04 Julian Brown <julian@codesourcery.com>
2935
2936 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
2937 error path.
2938 (goacc_detach_internal): Likewise.
2939
2940 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2941
2942 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
2943 the checkpoint.
2944 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2945 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2946 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2947 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2948 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2949
2950 2020-06-02 Jakub Jelinek <jakub@redhat.com>
2951
2952 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
2953 defined.
2954
2955 2020-05-30 Jakub Jelinek <jakub@redhat.com>
2956
2957 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
2958
2959 2020-05-30 Jakub Jelinek <jakub@redhat.com>
2960
2961 * allocator.c (omp_alloc): For size == 0, return NULL early.
2962
2963 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
2964
2965 PR bootstrap/95413
2966 * configure: Regenerated.
2967
2968 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
2969
2970 PR libfortran/95191
2971 * testsuite/libgomp.fortran/async_io_9.f90: New test.
2972
2973 2020-05-19 Jakub Jelinek <jakub@redhat.com>
2974
2975 * omp.h.in (omp_uintptr_t): New typedef.
2976 (__GOMP_UINTPTR_T_ENUM): Define.
2977 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
2978 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
2979 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
2980 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
2981 omp_get_default_allocator, omp_alloc, omp_free): Declare.
2982 * libgomp.h (struct gomp_team_state): Add def_allocator field.
2983 (gomp_def_allocator): Declare.
2984 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
2985 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
2986 omp_alloc and omp_free.
2987 * team.c (gomp_team_start): Copy over ts.def_allocator.
2988 * env.c (gomp_def_allocator): New variable.
2989 (parse_wait_policy): Adjust function comment.
2990 (parse_allocator): New function.
2991 (handle_omp_display_env): Print OMP_ALLOCATOR.
2992 (initialize_env): Call parse_allocator.
2993 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
2994 * allocator.c: New file.
2995 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
2996 functions.
2997 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
2998 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
2999 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
3000 * Makefile.in: Regenerated.
3001
3002 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
3003
3004 PR bootstrap/95147
3005 * configure: Regenerated.
3006
3007 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
3008
3009 PR libfortran/95119
3010 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
3011
3012 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
3013
3014 * configure: Regenerated.
3015
3016 2020-05-14 Jakub Jelinek <jakub@redhat.com>
3017
3018 * testsuite/libgomp.c-c++-common/target-40.c: New test.
3019
3020 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
3021
3022 PR fortran/94690
3023 * testsuite/libgomp.fortran/pr66199-3.f90: New.
3024 * testsuite/libgomp.fortran/pr66199-4.f90: New.
3025 * testsuite/libgomp.fortran/pr66199-5.f90: New.
3026 * testsuite/libgomp.fortran/pr66199-6.f90: New.
3027 * testsuite/libgomp.fortran/pr66199-7.f90: New.
3028 * testsuite/libgomp.fortran/pr66199-8.f90: New.
3029 * testsuite/libgomp.fortran/pr66199-9.f90: New.
3030
3031 2020-05-12 Jakub Jelinek <jakub@redhat.com>
3032
3033 * testsuite/libgomp.c/target-39.c: New test.
3034
3035 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
3036
3037 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
3038 * openacc.f90 (acc_device_current): Likewise.
3039 * openacc.h (acc_device_current): Likewise.
3040 * openacc_lib.h (acc_device_current): Likewise.
3041
3042 PR target/94282
3043 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
3044 'dg-allow-blank-lines-in-output'.
3045
3046 * oacc-init.c (get_openacc_name): Handle 'gcn'.
3047 * testsuite/lib/libgomp.exp
3048 (offload_target_to_openacc_device_type) [amdgcn*]: Return
3049 'radeon'. Adjust all users.
3050 (check_effective_target_openacc_amdgcn_accel_present): Rename
3051 to...
3052 (check_effective_target_openacc_radeon_accel_present): ... this.
3053 Adjust all users.
3054 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
3055 (check_effective_target_openacc_radeon_accel_selected): ... this.
3056 Adjust all users.
3057
3058 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
3059 'dg-do run'.
3060
3061 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
3062
3063 PR other/94629
3064
3065 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
3066 hsa_iterate_agents.
3067 (GOMP_OFFLOAD_init_device): Check return values from both calls to
3068 hsa_agent_iterate_regions.
3069
3070 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
3071
3072 PR middle-end/94635
3073 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
3074 run'.
3075
3076 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
3077
3078 PR middle-end/94120
3079 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
3080 test case.
3081
3082 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
3083
3084 PR middle-end/94635
3085 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
3086
3087 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
3088
3089 PR libgomp/92843
3090 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
3091 Rename to...
3092 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
3093 ... this.
3094 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
3095 Rename to...
3096 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
3097 ... this.
3098 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
3099 Rename to...
3100 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
3101 ... this.
3102 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
3103 Rename to...
3104 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
3105 ... this.
3106 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
3107 Rename to...
3108 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
3109 ... this.
3110 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
3111 Rename to...
3112 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
3113 ... this.
3114 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
3115 Rename to...
3116 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
3117 ... this.
3118 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
3119 Rename to...
3120 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3121 ... this.
3122 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
3123 Rename to...
3124 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
3125 ... this.
3126 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
3127 Rename to...
3128 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
3129 ... this.
3130 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
3131 Rename to...
3132 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
3133 ... this.
3134 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
3135 Rename to...
3136 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
3137 ... this.
3138 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
3139 Rename to...
3140 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
3141 ... this.
3142 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
3143 Rename to...
3144 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
3145 ... this.
3146 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
3147 Rename to...
3148 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
3149 ... this.
3150 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
3151 Rename to...
3152 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
3153 ... this.
3154
3155 2020-04-10 Julian Brown <julian@codesourcery.com>
3156 Thomas Schwinge <thomas@codesourcery.com>
3157
3158 PR libgomp/92843
3159 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
3160 New file.
3161 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
3162 Likewise.
3163 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
3164 Likewise.
3165 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
3166 Likewise.
3167 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
3168 Likewise.
3169 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
3170 Likewise.
3171 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
3172 Likewise.
3173 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
3174 Likewise.
3175 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
3176 Likewise.
3177 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
3178 Likewise.
3179 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
3180 Likewise.
3181 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
3182 Likewise.
3183 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
3184 Likewise.
3185 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
3186 Likewise.
3187 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
3188 Likewise.
3189 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
3190 Likewise.
3191
3192 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
3193
3194 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
3195 run'.
3196
3197 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
3198
3199 PR middle-end/94120
3200 * libgomp.oacc-c++/declare-pr94120.C: New.
3201
3202 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
3203
3204 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
3205 files.
3206 * configure: Regenerate.
3207 * testsuite/libgomp-site-extra.exp.in: New file.
3208 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
3209 variable.
3210 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
3211 variable.
3212 * testsuite/Makefile.in: Regenerate.
3213
3214 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
3215
3216 PR tree-optimization/89713
3217 PR c/94392
3218 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
3219 'bar.sync'.
3220 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3221
3222 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
3223
3224 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
3225 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
3226
3227 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
3228
3229 PR libgomp/81689
3230 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
3231
3232 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
3233
3234 PR libgomp/94251
3235 * target.c (gomp_load_image_to_device): Fix link
3236 variable handling.
3237
3238 2020-03-19 Jakub Jelinek <jakub@redhat.com>
3239
3240 PR c++/93931
3241 * testsuite/libgomp.c++/pr93931.C: New test.
3242
3243 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
3244
3245 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
3246 dg-allow-blank-lines-in-output.
3247
3248 2020-03-18 Julian Brown <julian@codesourcery.com>
3249 Tobias Burnus <tobias@codesourcery.com>
3250
3251 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
3252 it work concurrently.
3253
3254 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
3255
3256 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
3257 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
3258 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
3259
3260 2020-03-14 Jakub Jelinek <jakub@redhat.com>
3261
3262 PR middle-end/93566
3263 * testsuite/libgomp.c/pr93566.c: New test.
3264
3265 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
3266
3267 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
3268 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
3269 integer(acc_device_property) for the type of the return value of
3270 acc_get_property.
3271
3272 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
3273
3274 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
3275 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
3276 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
3277 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
3278 (acc_set_device_num): Fix Fortran argument name, use same name for C.
3279 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
3280 corrections; add note about the previous interface and named constant.
3281 (OpenACC library and environment variables): Fix two typos.
3282 * openacc.f90: Use for all procedures the argument names from the spec
3283 as for …_h they are user visible.
3284 (openacc_kinds): Rename acc_device_property to
3285 acc_device_property_kinds and change value to int32 ; and update users.
3286 Re-add acc_device_property for for backward compatibility.
3287 (acc_get_property_string_h): Clean up as acc_device_property_kind
3288 changed.
3289 (acc_get_property_h): Likewise and return c_size_t instead of
3290 acc_device_property.
3291 (openacc): Also export acc_device_property_kinds.
3292 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
3293 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
3294 handling; check against /= 0 instead of == 1 to match C.
3295 * openacc_lib.h: Use for all procedures the argument names from the spec
3296 as for …_h they are user visible. Place !GCC$ into the first column to
3297 be active also for fixed-form souce form.
3298 (acc_device_current, acc_device_property_kind, acc_device_property,
3299 acc_property_memory, acc_property_free_memory, acc_property_name,
3300 acc_property_vendor, acc_property_driver): New named constants.
3301 (acc_get_property, acc_get_property_string): New generic interface.
3302
3303 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
3304
3305 PR libgomp/93481
3306 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
3307 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
3308 optional.
3309 (gomp_target_task_fn): Assert "devicep->async_run_func".
3310 (clear_unsupported_flags): New function to remove unsupported flags
3311 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
3312 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
3313 * testsuite/libgomp.c/target-33.c:
3314 Remove xfail for offload_target_nvptx.
3315 * testsuite/libgomp.c/target-34.c: Likewise.
3316
3317 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
3318
3319 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
3320 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
3321 * testsuite/libgomp.c/target-34.c: Likewise.
3322 * testsuite/libgomp.c/target-link-1.c: Add xfail for
3323 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
3324
3325 2020-02-09 Jakub Jelinek <jakub@redhat.com>
3326
3327 * testsuite/libgomp.c/target-38.c: New test.
3328
3329 2020-02-06 Jakub Jelinek <jakub@redhat.com>
3330
3331 PR libgomp/93515
3332 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
3333
3334 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
3335
3336 * testsuite/lib/libgomp.exp
3337 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
3338 and not as 'source' argument to libgomp_target_compile.
3339
3340 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
3341
3342 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
3343 (gcn_gfx801_s): Remove.
3344 (isa_hsa_name): Remove gfx801.
3345 (isa_gcc_name): Remove gfx801/carizzo.
3346 (isa_code): Remove gfx801.
3347
3348 2020-02-03 Julian Brown <julian@codesourcery.com>
3349 Tobias Burnus <tobias@codesourcery.com>
3350
3351 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
3352 and *_finalize variants; document acc_attach and acc_detach; update
3353 references from OpenACC 2.0 to 2.6.
3354 * openacc.f90 (openacc_version): Update to 201711.
3355 * openacc_lib.h (openacc_version): Update to 201711.
3356 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
3357 openacc_version to 201711.
3358 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3359
3360 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
3361
3362 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
3363 and vgpr_count fields.
3364 (struct kernel_info): Add a field for a hsa_kernel_description.
3365 (run_kernel): Reduce the number of threads/workers if the requested
3366 number would require too many VGPRs.
3367 (init_basic_kernel_info): Initialize description field with
3368 the hsa_kernel_description entry for the kernel.
3369
3370 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
3371
3372 PR bootstrap/93409
3373 * plugin/configfrag.ac (enable_offload_targets): Skip
3374 HSA and GCN plugin besides -m32 also for -mx32.
3375 * configure: Regenerate.
3376
3377 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
3378
3379 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
3380
3381 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
3382
3383 * plugin-gcn.c (struct agent_info): Add fields "name" and
3384 "vendor_name" ...
3385 (GOMP_OFFLOAD_init_device): ... and init from here.
3386 (struct hsa_context_info): Add field "driver_version_s" ...
3387 (init_hsa_contest): ... and init from here.
3388 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
3389 implementation.
3390 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
3391 Enable test execution for amdgcn and host offloading targets.
3392 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
3393 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
3394 (expect_device_properties): Split function into ...
3395 (expect_device_string_properties): ... this new function ...
3396 (expect_device_memory): ... and this new function.
3397 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
3398 Add test.
3399
3400 2020-01-28 Julian Brown <julian@codesourcery.com>
3401
3402 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
3403 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
3404 component/non-component variable refs in a single directive.
3405 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
3406
3407 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
3408
3409 * configure.ac: Handle `--with-toolexeclibdir='.
3410 * Makefile.in: Regenerate.
3411 * aclocal.m4: Regenerate.
3412 * configure: Regenerate.
3413 * testsuite/Makefile.in: Regenerate.
3414
3415 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
3416
3417 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
3418 (expect_device_properties): Remove "expected_free_mem" argument,
3419 change "expected_total_mem" argument type to size_t;
3420 change types of acc_get_property results to size_t,
3421 adapt format strings.
3422 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
3423 Use %zu instead of %zd to print size_t values.
3424 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
3425 rename to ...
3426 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
3427 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
3428 rename to ...
3429 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
3430
3431 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
3432
3433 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
3434 the device id.
3435
3436 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
3437
3438 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
3439 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
3440 Adjust test dimensions for amdgcn.
3441 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
3442 gang/worker/vector expectations dynamically.
3443 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
3444 (main): Likewise.
3445 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
3446 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
3447 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
3448 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
3449 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
3450 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
3451 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
3452 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
3453 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
3454 (acc_gang): Recognise acc_device_radeon.
3455 (acc_worker): Likewise.
3456 (acc_vector): Likewise.
3457 (main): Set expectations for amdgcn.
3458 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
3459 (main): Adjust gang/worker/vector expectations dynamically.
3460 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
3461 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
3462 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
3463 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
3464 for amdgcn.
3465
3466 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
3467
3468 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
3469 acc_device_radeon.
3470 (openacc): Likewise.
3471 * openacc.f90 (openacc_kinds): Likewise.
3472 (openacc): Likewise.
3473 * openacc.h (acc_device_t): Likewise.
3474 * openacc_lib.h: Likewise.
3475 * testsuite/lib/libgomp.exp
3476 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
3477 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
3478 (cb_compute_construct_end): Likewise.
3479 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
3480 (cb_enqueue_launch_start): Likewise.
3481 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
3482 (cb_enter_data_end): Likewise.
3483 (cb_exit_data_start): Likewise.
3484 (cb_exit_data_end): Likewise.
3485 (cb_compute_construct_end): Likewise.
3486 (cb_enqueue_launch_start): Likewise.
3487 (cb_enqueue_launch_end): Likewise.
3488 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
3489 (main): Likewise.
3490
3491 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
3492
3493 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
3494 to use this instead of 'enum gomp_device_property'.
3495 (GOMP_OFFLOAD_get_property): Rename to...
3496 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
3497 * libgomp.h (struct gomp_device_descr): Move
3498 'GOMP_OFFLOAD_openacc_get_property'...
3499 (struct acc_dispatch_t): ... here. Adjust all users.
3500 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
3501
3502 * target.c (gomp_map_vars_internal)
3503 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
3504 paths.
3505
3506 2020-01-10 Jakub Jelinek <jakub@redhat.com>
3507
3508 PR libgomp/93219
3509 * libgomp.h (gomp_print_string): Change return type from void to int.
3510 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
3511 not all characters have been written.
3512
3513 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
3514
3515 * libgomp.texi: Fix typos, use https.
3516
3517 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
3518
3519 * testsuite/libgomp.fortran/optional-map.f90: Add test for
3520 unallocated/disassociated actual arguments to nonallocatable/nonpointer
3521 dummy arguments; those are/shall be regarded as absent arguments.
3522 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
3523 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
3524
3525 2020-01-01 Jakub Jelinek <jakub@redhat.com>
3526
3527 Update copyright years.
3528
3529 * libgomp.texi: Bump @copying's copyright year.
3530
3531 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
3532
3533 PR libgomp/93065
3534 * oacc-init.c (goacc_runtime_deinitialize): New function.
3535
3536 2019-12-28 Jakub Jelinek <jakub@redhat.com>
3537
3538 PR bootstrap/93074
3539 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
3540 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
3541
3542 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
3543 Frederik Harwath <frederik@codesourcery.com>
3544 Thomas Schwinge <tschwinge@codesourcery.com>
3545
3546 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
3547 * libgomp-plugin.h (gomp_device_property_value): New union.
3548 (gomp_device_property_value): New prototype.
3549 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
3550 constant.
3551 (acc_device_property_t): New enum.
3552 (acc_get_property, acc_get_property_string): New prototypes.
3553 * oacc-init.c (acc_get_device_type): Also assert that result
3554 is not `acc_device_current'.
3555 (get_property_any, acc_get_property, acc_get_property_string):
3556 New functions.
3557 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
3558 `acc_property_memory', `acc_property_free_memory',
3559 `acc_property_name', `acc_property_vendor' and
3560 `acc_property_driver' constants. Add `acc_device_property' data
3561 type.
3562 (openacc_internal): Add `acc_get_property' and
3563 `acc_get_property_string' interfaces. Add `acc_get_property_h',
3564 `acc_get_property_string_h', `acc_get_property_l' and
3565 `acc_get_property_string_l'.
3566 * oacc-host.c (host_get_property): New function.
3567 (host_dispatch): Wire it.
3568 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
3569 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
3570 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
3571 * libgomp.texi (OpenACC Runtime Library Routines): Add
3572 `acc_get_property'.
3573 (acc_get_property): New node.
3574 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
3575 function (stub).
3576 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
3577 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
3578 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
3579 calls.
3580 (GOMP_OFFLOAD_get_property): New function.
3581 (struct ptx_device): Add new field "name".
3582 (cuda_driver_version_s): Add new static variable ...
3583 (nvptx_init): ... and init from here.
3584
3585 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
3586 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
3587 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
3588 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
3589 with test helper functions.
3590
3591 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
3592
3593 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
3594
3595 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
3596 variable.
3597
3598 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
3599
3600 * target.c (gomp_map_vars_internal): Restore 'omp declare target
3601 link' handling.
3602
3603 2019-12-19 Julian Brown <julian@codesourcery.com>
3604
3605 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
3606 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
3607 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
3608
3609 2019-12-19 Julian Brown <julian@codesourcery.com>
3610 Cesar Philippidis <cesar@codesourcery.com>
3611
3612 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
3613 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
3614 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
3615 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
3616 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
3617 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
3618 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
3619 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
3620 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
3621 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
3622 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
3623 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
3624 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
3625
3626 2019-12-19 Julian Brown <julian@codesourcery.com>
3627
3628 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
3629 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
3630 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
3631 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
3632 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
3633 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
3634 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
3635 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
3636 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
3637 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
3638 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
3639 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
3640
3641 2019-12-19 Julian Brown <julian@codesourcery.com>
3642
3643 * libgomp.h (struct target_var_desc): Add do_detach flag.
3644 * oacc-init.c (acc_shutdown_1): Free aux block if present.
3645 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
3646 struct components. Tidy up and add some new checks.
3647 (goacc_enter_data_internal): Update call to find_group_last.
3648 (goacc_exit_data_internal): Support detach operations and
3649 GOMP_MAP_STRUCT.
3650 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
3651 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
3652 attach/detach in enter/exit data detection code.
3653 * target.c (gomp_map_vars_existing): Initialise do_detach field of
3654 tgt_var_desc.
3655 (gomp_map_vars_internal): Support attach.
3656 (gomp_unmap_vars_internal): Support detach.
3657
3658 2019-12-19 Julian Brown <julian@codesourcery.com>
3659 Thomas Schwinge <thomas@codesourcery.com>
3660
3661 * libgomp.h (struct splay_tree_aux): Add attach_count field.
3662 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
3663 * libgomp.map (OACC_2.6): New section. Add acc_attach,
3664 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
3665 acc_detach_finalize_async.
3666 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
3667 acc_detach, acc_detach_async, acc_detach_finalize,
3668 acc_detach_finalize_async): New functions.
3669 * openacc.h (acc_attach, acc_attach_async, acc_detach,
3670 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
3671 prototypes.
3672 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
3673 (gomp_remove_var_internal): Free attachment counts if present.
3674 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
3675 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
3676
3677 2019-12-19 Julian Brown <julian@codesourcery.com>
3678 Cesar Philippidis <cesar@codesourcery.com>
3679
3680 * libgomp.h (gomp_map_val): Add prototype.
3681 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
3682 open-coding device-address calculation.
3683 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
3684 non-present case.
3685
3686 2019-12-19 Julian Brown <julian@codesourcery.com>
3687
3688 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
3689 field for virtual_refcount.
3690 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3691 (gomp_free_memmap): Remove prototype.
3692 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
3693 instead of calling gomp_free_memmap.
3694 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
3695 dynamic_refcount.
3696 (acc_unmap_data): Open code instead of forcing target_mem_desc's
3697 to_free field to NULL then calling gomp_unmap_vars. Handle
3698 REFCOUNT_INFINITY on target blocks.
3699 (goacc_enter_data): Rename to...
3700 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
3701 handling for mapping groups. Use virtual_refcount instead of
3702 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
3703 map_map_vars_async call. Re-do lookup for target pointer return value.
3704 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
3705 renamed goacc_enter_datum function.
3706 (goacc_exit_data): Rename to...
3707 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
3708 (acc_delete, acc_delete_async, acc_delete_finalize,
3709 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
3710 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
3711 goacc_exit_datum function.
3712 (gomp_acc_remove_pointer, find_pointer): Remove functions.
3713 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
3714 New functions.
3715 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
3716 goacc_exit_data_internal helper functions.
3717 * target.c (gomp_map_vars_internal): Handle
3718 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
3719 semantics.
3720 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
3721 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
3722 virtual_refcount field instead of dynamic_refcount.
3723 (gomp_free_memmap): Remove function.
3724 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
3725 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
3726 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
3727
3728 2019-12-19 Julian Brown <julian@codesourcery.com>
3729 Thomas Schwinge <thomas@codesourcery.com>
3730
3731 * libgomp.h (struct splay_tree_aux): New.
3732 (struct splay_tree_key_s): Replace link_key field with aux pointer.
3733 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
3734 to aux struct.
3735 (gomp_remove_var_internal): Free aux block if present.
3736 (gomp_load_image_to_device): Zero-initialise aux field instead of
3737 link_key field.
3738 (omp_target_associate_pointer): Zero-initialise aux field.
3739
3740 2019-12-18 Jakub Jelinek <jakub@redhat.com>
3741
3742 PR middle-end/86416
3743 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
3744 q or none.
3745 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
3746 L or none.
3747
3748 2019-12-19 Julian Brown <julian@codesourcery.com>
3749 Maciej W. Rozycki <macro@codesourcery.com>
3750 Tobias Burnus <tobias@codesourcery.com>
3751 Thomas Schwinge <thomas@codesourcery.com>
3752
3753 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
3754 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
3755 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
3756 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
3757 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
3758 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
3759 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
3760 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
3761 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
3762
3763 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
3764
3765 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
3766 called...
3767 (goacc_insert_pointer): ... from here, "present" case.
3768 (goacc_insert_pointer): Inline function into...
3769 (GOACC_enter_exit_data): ... here, and simplify.
3770
3771 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
3772 called...
3773 (goacc_insert_pointer): ... from here, "not present" case.
3774
3775 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
3776 all users.
3777
3778 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
3779 'goacc_enter_data', 'goacc_exit_data'.
3780
3781 * oacc-mem.c (delete_copyout): Refactor into...
3782 (goacc_exit_data): ... this. Adjust all users.
3783
3784 * oacc-mem.c (present_create_copy): Refactor into...
3785 (goacc_enter_data): ... this. Adjust all users.
3786
3787 * target.c (gomp_unmap_vars_internal): Add a safeguard to
3788 'gomp_remove_var'.
3789
3790 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
3791 like 'GOMP_MAP_FROM'.
3792
3793 PR libgomp/92726
3794 PR libgomp/92970
3795 PR libgomp/92984
3796 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
3797 fails.
3798 (GOACC_enter_exit_data): Simplify accordingly.
3799 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
3800 subsuming...
3801 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
3802 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
3803 file.
3804 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
3805 subsuming...
3806 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
3807 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
3808 file.
3809 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
3810 subsuming...
3811 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
3812
3813 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
3814 'finalize' handling.
3815
3816 PR libgomp/92848
3817 * oacc-mem.c (acc_map_data, present_create_copy)
3818 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
3819 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
3820 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
3821 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
3822 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
3823 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
3824 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
3825 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
3826 Remove "XFAIL"s.
3827
3828 * target.c (gomp_unmap_tgt): Make it 'static'.
3829 * libgomp.h (gomp_unmap_tgt): Remove.
3830
3831 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
3832
3833 PR middle-end/86416
3834 * testsuite/libgomp.c/pr86416-1.c: New.
3835 * testsuite/libgomp.c/pr86416-2.c: New.
3836
3837 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
3838
3839 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
3840 all symbols as public except for the 'use …, only' imported symbol,
3841 which is private.
3842 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
3843 all symbols from module openacc_kinds as PUBLIC
3844 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
3845 fix comment typo.
3846 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
3847
3848 2019-12-13 Julian Brown <julian@codesourcery.com>
3849
3850 PR libgomp/92881
3851
3852 * libgomp.h (gomp_remove_var_async): Add prototype.
3853 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
3854 gomp_remove_var.
3855 * target.c (gomp_unref_tgt): Change return type to bool, indicating
3856 whether target_mem_desc was unmapped.
3857 (gomp_unref_tgt_void): New.
3858 (gomp_remove_var): Reimplement in terms of...
3859 (gomp_remove_var_internal): ...this new helper function.
3860 (gomp_remove_var_async): New, implemented using above helper function.
3861 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
3862 gomp_unref_tgt.
3863
3864 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
3865
3866 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
3867 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
3868 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
3869 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
3870 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
3871 Likewise.
3872 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
3873 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
3874
3875 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
3876
3877 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
3878 as public except for the 'use …, only' imported symbol, which is
3879 private.
3880 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
3881 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
3882 attributes for acc_copyout_finalize and acc_delete_finalize.
3883
3884 2019-12-11 Jakub Jelinek <jakub@redhat.com>
3885
3886 PR fortran/92899
3887 * testsuite/libgomp.fortran/atomic1.f90: New test.
3888
3889 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
3890
3891 PR libgomp/92843
3892 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
3893 reference counting for structured 'REFCOUNT_INFINITY'. Add some
3894 assertions.
3895 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
3896 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
3897 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
3898 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
3899 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
3900
3901 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
3902 * oacc-mem.c: ... here.
3903 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
3904 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
3905 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
3906 Remove.
3907 * libgomp_g.h: Update.
3908
3909 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
3910 * oacc-async.c: ... here.
3911 * oacc-int.h (goacc_wait): Declare.
3912 * libgomp_g.h: Update
3913
3914 PR libgomp/92854
3915 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
3916 New file.
3917 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
3918 Likewise.
3919 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
3920 Likewise.
3921 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
3922 Likewise.
3923 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
3924 Likewise.
3925 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
3926 Likewise.
3927
3928 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
3929 Julian Brown <julian@codesourcery.com>
3930
3931 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
3932 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
3933
3934 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
3935
3936 * omp_lib.h.in: Fix spelling of function declaration
3937 omp_get_cancell(l)ation.
3938 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
3939 Fix typos.
3940 * env.c: Fix comment typos.
3941 * oacc-host.c: Likewise.
3942 * ordered.c: Likewise.
3943 * task.c: Likewise.
3944 * team.c: Likewise.
3945 * config/gcn/task.c: Likewise.
3946 * config/gcn/team.c: Likewise.
3947 * config/nvptx/task.c: Likewise.
3948 * config/nvptx/team.c: Likewise.
3949 * plugin/plugin-gcn.c: Likewise.
3950 * testsuite/libgomp.fortran/jacobi.f: Likewise.
3951 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3952 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
3953
3954 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
3955
3956 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
3957 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
3958 unnecessary 'dg-additional-options "-w"'.
3959
3960 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
3961 Julian Brown <julian@codesourcery.com>
3962
3963 PR libgomp/92116
3964 PR libgomp/92877
3965
3966 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
3967 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
3968 Adjust all users.
3969 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
3970 Remove XFAIL.
3971 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
3972 Likewise.
3973 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
3974
3975 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
3976
3977 PR libgomp/92503
3978 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
3979 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
3980 file.
3981 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
3982 Likewise.
3983 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
3984 Likewise.
3985 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
3986 Likewise.
3987 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
3988 Likewise.
3989 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
3990 Likewise.
3991 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
3992 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
3993 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
3994 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
3995 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
3996 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
3997 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3998 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3999 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4000 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4001
4002 PR libgomp/92840
4003 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
4004 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
4005 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
4006 New file.
4007 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
4008 Likewise.
4009 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
4010 Likewise.
4011 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4012 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
4013
4014 PR libgomp/92511
4015 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
4016 this file...
4017 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
4018 this file...
4019 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
4020 file...
4021 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
4022 file...
4023 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4024 ... with their content moved into, and extended in this new file.
4025 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
4026 New file.
4027 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
4028 Likewise.
4029 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
4030 Likewise.
4031 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
4032 Likewise.
4033
4034 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
4035
4036 PR libgomp/92854
4037 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
4038
4039 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
4040
4041 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
4042
4043 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
4044
4045 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
4046 unique.
4047 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
4048 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4049 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
4050 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
4051 Ditto.
4052 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
4053 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
4054
4055 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
4056
4057 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
4058
4059 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
4060 Kwok Cheung Yeung <kcy@codesourcery.com>
4061
4062 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
4063 if input it a NULL pointer.
4064 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
4065 diagnostic of NULL pointer.
4066 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
4067 * testsuite/libgomp.fortran/optional-map.f90: New.
4068 * testsuite/libgomp.fortran/use_device_addr-1.f90
4069 (test_dummy_opt_callee_1_absent): New.
4070 (test_dummy_opt_call_1): Call it.
4071 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
4072 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
4073 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
4074 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
4075 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
4076 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
4077 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
4078 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
4079 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
4080 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
4081 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
4082 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
4083 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
4084 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
4085 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
4086 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
4087
4088 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
4089
4090 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
4091 expect dg-output of 'Error termination.' for GCN.
4092 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4093 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4094
4095 2019-12-04 Jakub Jelinek <jakub@redhat.com>
4096
4097 PR fortran/92756
4098 * testsuite/libgomp.fortran/teams1.f90: New test.
4099 * testsuite/libgomp.fortran/teams2.f90: New test.
4100
4101 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
4102
4103 * oacc-init.c (acc_known_device_type): Add function.
4104 (unknown_device_type_error): Add function.
4105 (name_of_acc_device_t): Change to call unknown_device_type_error
4106 on unknown type.
4107 (resolve_device): Use acc_known_device_type.
4108 (acc_init): Fail if acc_device_t argument is not valid.
4109 (acc_shutdown): Likewise.
4110 (acc_get_num_devices): Likewise.
4111 (acc_set_device_type): Likewise.
4112 (acc_get_device_num): Likewise.
4113 (acc_set_device_num): Likewise.
4114 (acc_on_device): Add comment that argument validity is not checked.
4115
4116 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
4117
4118 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
4119 Recognize amdgcn.
4120 (check_effective_target_openacc_amdgcn_accel_present): New proc.
4121 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
4122 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
4123 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4124 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4125
4126 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
4127
4128 PR libgomp/91938
4129 * configure.tgt: Avoid IE tls on *-*-musl*.
4130
4131 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
4132
4133 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
4134 adding a common-block test case.
4135
4136 2019-11-29 Jakub Jelinek <jakub@redhat.com>
4137
4138 PR c++/60228
4139 * testsuite/libgomp.c++/udr-20.C: New test.
4140 * testsuite/libgomp.c++/udr-21.C: New test.
4141
4142 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
4143
4144 * testsuite/lib/libgomp.exp
4145 (check_effective_target_offload_target_nvptx): New proc.
4146 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
4147 'dg-skip-if'.
4148 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
4149 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
4150 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
4151
4152 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4153
4154 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
4155 * testsuite/libgomp.c/pr39591-2.c: Likewise.
4156 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4157 * testsuite/libgomp.c/private-1.c: Likewise.
4158 * testsuite/libgomp.c/task-1.c: Likewise.
4159 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
4160
4161 2019-11-20 Julian Brown <julian@codesourcery.com>
4162
4163 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
4164 aq->mutex here.
4165 (queue_push_launch): Lock aq->mutex before calling
4166 wait_for_queue_nonfull.
4167 (queue_push_callback): Likewise.
4168 (queue_push_asyncwait): Likewise.
4169 (queue_push_placeholder): Likewise.
4170
4171 2019-11-20 Julian Brown <julian@codesourcery.com>
4172
4173 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
4174 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
4175 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
4176 return code.
4177
4178 2019-11-20 Julian Brown <julian@codesourcery.com>
4179
4180 PR libgomp/92511
4181
4182 * oacc-mem.c (present_create_copy): Fix device pointer return value in
4183 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
4184 in non-present/create case.
4185 (delete_copyout): Change error condition to fail only on copies outside
4186 of mapped block. Adjust error message accordingly.
4187 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
4188 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
4189 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
4190 message.
4191 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4192 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
4193 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4194
4195 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
4196
4197 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
4198 libatomic in build-tree testing.
4199
4200 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
4201
4202 * testsuite/Makefile.in: Regenerate.
4203
4204 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
4205
4206 * testsuite/libgomp.c/target-print-1.c: New file.
4207 * testsuite/libgomp.fortran/target-print-1.f90: New file.
4208 * testsuite/libgomp.oacc-c/print-1.c: New file.
4209 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
4210
4211 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4212 Kwok Cheung Yeung <kcy@codesourcery.com>
4213 Julian Brown <julian@codesourcery.com>
4214 Tom de Vries <tom@codesourcery.com>
4215
4216 * plugin/Makefrag.am: Add amdgcn plugin support.
4217 * plugin/configfrag.ac: Likewise.
4218 * plugin/plugin-gcn.c: New file.
4219 * configure: Regenerate.
4220 * Makefile.in: Regenerate.
4221 * testsuite/Makefile.in: Regenerate.
4222
4223 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4224
4225 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
4226 and use team_malloc variants.
4227 (gomp_gcn_exit_kernel): Use team_free.
4228 * libgomp.h (TEAM_ARENA_SIZE): Define.
4229 (TEAM_ARENA_START): Define.
4230 (TEAM_ARENA_FREE): Define.
4231 (TEAM_ARENA_END): Define.
4232 (team_malloc): New function.
4233 (team_malloc_cleared): New function.
4234 (team_free): New function.
4235 * team.c (gomp_new_team): Initialize and use team_malloc.
4236 (free_team): Use team_free.
4237 (gomp_free_thread): Use team_free.
4238 (gomp_pause_host): Use team_free.
4239 * work.c (gomp_init_work_share): Use team_malloc.
4240 (gomp_fini_work_share): Use team_free.
4241
4242 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4243 Kwok Cheung Yeung <kcy@codesourcery.com>
4244 Julian Brown <julian@codesourcery.com>
4245 Tom de Vries <tom@codesourcery.com>
4246
4247 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
4248 * Makefile.in: Regenerate.
4249 * config.h.in (PLUGIN_GCN): Add new undef.
4250 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
4251 * config/gcn/affinity-fmt.c: New file.
4252 * config/gcn/bar.c: New file.
4253 * config/gcn/bar.h: New file.
4254 * config/gcn/doacross.h: New file.
4255 * config/gcn/icv-device.c: New file.
4256 * config/gcn/oacc-target.c: New file.
4257 * config/gcn/simple-bar.h: New file.
4258 * config/gcn/target.c: New file.
4259 * config/gcn/task.c: New file.
4260 * config/gcn/team.c: New file.
4261 * config/gcn/time.c: New file.
4262 * configure.ac: Add amdgcn*-*-*.
4263 * configure: Regenerate.
4264 * configure.tgt: Add amdgcn*-*-*.
4265 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
4266 * libgomp.h (gcn_thrs): Add amdgcn variant.
4267 (set_gcn_thrs): Likewise.
4268 (gomp_thread): Likewise.
4269 * oacc-int.h (goacc_thread): Likewise.
4270 * oacc-target.c: New file.
4271 * openacc.f90 (acc_device_gcn): New parameter.
4272 * openacc.h (acc_device_t): Add acc_device_gcn.
4273 * team.c (gomp_free_pool_helper): Add amdgcn support.
4274
4275 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4276 Julian Brown <julian@codesourcery.com>
4277
4278 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
4279 parameter.
4280 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
4281 queue constructor.
4282 * oacc-host.c (host_openacc_async_construct): Add device parameter.
4283 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
4284 device parameter.
4285
4286 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4287
4288 * configure.tgt (nvptx*-*-*): Add "accel" directory.
4289 * config/nvptx/libgomp-plugin.c: Move ...
4290 * config/accel/libgomp-plugin.c: ... to here.
4291 * config/nvptx/lock.c: Move ...
4292 * config/accel/lock.c: ... to here.
4293 * config/nvptx/mutex.c: Move ...
4294 * config/accel/mutex.c: ... to here.
4295 * config/nvptx/mutex.h: Move ...
4296 * config/accel/mutex.h: ... to here.
4297 * config/nvptx/oacc-async.c: Move ...
4298 * config/accel/oacc-async.c: ... to here.
4299 * config/nvptx/oacc-cuda.c: Move ...
4300 * config/accel/oacc-cuda.c: ... to here.
4301 * config/nvptx/oacc-host.c: Move ...
4302 * config/accel/oacc-host.c: ... to here.
4303 * config/nvptx/oacc-init.c: Move ...
4304 * config/accel/oacc-init.c: ... to here.
4305 * config/nvptx/oacc-mem.c: Move ...
4306 * config/accel/oacc-mem.c: ... to here.
4307 * config/nvptx/oacc-plugin.c: Move ...
4308 * config/accel/oacc-plugin.c: ... to here.
4309 * config/nvptx/omp-lock.h: Move ...
4310 * config/accel/omp-lock.h: ... to here.
4311 * config/nvptx/openacc.f90: Move ...
4312 * config/accel/openacc.f90: ... to here.
4313 * config/nvptx/pool.h: Move ...
4314 * config/accel/pool.h: ... to here.
4315 * config/nvptx/proc.c: Move ...
4316 * config/accel/proc.c: ... to here.
4317 * config/nvptx/ptrlock.c: Move ...
4318 * config/accel/ptrlock.c: ... to here.
4319 * config/nvptx/ptrlock.h: Move ...
4320 * config/accel/ptrlock.h: ... to here.
4321 * config/nvptx/sem.c: Move ...
4322 * config/accel/sem.c: ... to here.
4323 * config/nvptx/sem.h: Move ...
4324 * config/accel/sem.h: ... to here.
4325 * config/nvptx/thread-stacksize.h: Move ...
4326 * config/accel/thread-stacksize.h: ... to here.
4327
4328 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
4329 Tobias Burnus <tobias@codesourcery.com>
4330 Frederik Harwath <frederik@codesourcery.com>
4331 Thomas Schwinge <thomas@codesourcery.com>
4332
4333 libgomp/
4334 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
4335 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
4336 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
4337
4338 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
4339 Kwok Cheung Yeung <kcy@codesourcery.com>
4340
4341 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
4342 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
4343
4344 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
4345
4346 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
4347
4348 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
4349 run'.
4350 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
4351 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
4352
4353 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
4354
4355 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
4356 Add expected warnings about missing reduction clauses.
4357 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4358 Likewise.
4359 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
4360 Likewise.
4361 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4362 Likewise.
4363
4364 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
4365
4366 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
4367 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
4368 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
4369 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
4370 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
4371 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
4372
4373 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
4374
4375 PR fortran/92305
4376 * testsuite/libgomp.fortran/allocatable2.f90: Use
4377 unique numbers with 'stop'.
4378 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
4379 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
4380 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
4381 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
4382 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
4383
4384 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
4385
4386 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
4387 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
4388 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
4389 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
4390 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
4391 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
4392
4393 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
4394
4395 * testsuite/libgomp.fortran/target9.f90: New.
4396
4397 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
4398
4399 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
4400 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
4401 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
4402 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
4403 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
4404 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
4405 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
4406 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
4407 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
4408 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
4409 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
4410 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
4411 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
4412 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
4413 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
4414 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
4415 * testsuite/libgomp.fortran/associate1.f90: Ditto.
4416 * testsuite/libgomp.fortran/associate2.f90: Ditto.
4417 * testsuite/libgomp.fortran/associate3.f90: Ditto.
4418 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
4419 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
4420 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
4421 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
4422 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
4423 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
4424 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
4425 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
4426 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
4427 * testsuite/libgomp.fortran/character1.f90: Ditto.
4428 * testsuite/libgomp.fortran/character2.f90: Ditto.
4429 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
4430 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
4431 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
4432 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
4433 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
4434 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
4435 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
4436 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
4437 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
4438 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
4439 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
4440 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
4441 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
4442 * testsuite/libgomp.fortran/do1.f90: Ditto.
4443 * testsuite/libgomp.fortran/do2.f90: Ditto.
4444 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
4445 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
4446 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
4447 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
4448 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
4449 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
4450 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
4451 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
4452 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
4453 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
4454 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
4455 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
4456 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
4457 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
4458 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
4459 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
4460 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
4461 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
4462 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
4463 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
4464 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
4465 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
4466 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
4467 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
4468 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
4469 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
4470 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
4471 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
4472 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
4473 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
4474 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
4475 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
4476 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
4477 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
4478 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
4479 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
4480 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
4481 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
4482 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
4483 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
4484 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
4485 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
4486 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
4487 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
4488 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
4489 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
4490 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
4491 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
4492 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
4493 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
4494 * testsuite/libgomp.fortran/lib1.f90: Ditto.
4495 * testsuite/libgomp.fortran/lib4.f90: Ditto.
4496 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
4497 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
4498 * testsuite/libgomp.fortran/nested1.f90: Ditto.
4499 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
4500 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
4501 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
4502 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
4503 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
4504 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
4505 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4506 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
4507 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
4508 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
4509 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
4510 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
4511 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
4512 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
4513 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4514 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
4515 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4516 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
4517 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
4518 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
4519 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
4520 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
4521 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
4522 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
4523 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
4524 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
4525 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
4526 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
4527 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
4528 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
4529 * testsuite/libgomp.fortran/pr28390.f: Ditto.
4530 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
4531 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
4532 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
4533 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
4534 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
4535 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
4536 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
4537 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
4538 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
4539 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
4540 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
4541 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
4542 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
4543 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
4544 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
4545 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
4546 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
4547 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
4548 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
4549 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
4550 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
4551 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
4552 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
4553 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
4554 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
4555 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
4556 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
4557 * testsuite/libgomp.fortran/reference1.f90: Ditto.
4558 * testsuite/libgomp.fortran/reference2.f90: Ditto.
4559 * testsuite/libgomp.fortran/retval1.f90: Ditto.
4560 * testsuite/libgomp.fortran/retval2.f90: Ditto.
4561 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
4562 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
4563 * testsuite/libgomp.fortran/simd1.f90: Ditto.
4564 * testsuite/libgomp.fortran/simd2.f90: Ditto.
4565 * testsuite/libgomp.fortran/simd3.f90: Ditto.
4566 * testsuite/libgomp.fortran/simd4.f90: Ditto.
4567 * testsuite/libgomp.fortran/simd5.f90: Ditto.
4568 * testsuite/libgomp.fortran/simd6.f90: Ditto.
4569 * testsuite/libgomp.fortran/simd7.f90: Ditto.
4570 * testsuite/libgomp.fortran/stack.f90: Ditto.
4571 * testsuite/libgomp.fortran/strassen.f90: Ditto.
4572 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
4573 * testsuite/libgomp.fortran/tabs2.f: Ditto.
4574 * testsuite/libgomp.fortran/target1.f90: Ditto.
4575 * testsuite/libgomp.fortran/target2.f90: Ditto.
4576 * testsuite/libgomp.fortran/target3.f90: Ditto.
4577 * testsuite/libgomp.fortran/target4.f90: Ditto.
4578 * testsuite/libgomp.fortran/target5.f90: Ditto.
4579 * testsuite/libgomp.fortran/target6.f90: Ditto.
4580 * testsuite/libgomp.fortran/target7.f90: Ditto.
4581 * testsuite/libgomp.fortran/target8.f90: Ditto.
4582 * testsuite/libgomp.fortran/task1.f90: Ditto.
4583 * testsuite/libgomp.fortran/task2.f90: Ditto.
4584 * testsuite/libgomp.fortran/task3.f90: Ditto.
4585 * testsuite/libgomp.fortran/task4.f90: Ditto.
4586 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
4587 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
4588 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
4589 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
4590 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
4591 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
4592 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
4593 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
4594 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
4595 * testsuite/libgomp.fortran/udr1.f90: Ditto.
4596 * testsuite/libgomp.fortran/udr10.f90: Ditto.
4597 * testsuite/libgomp.fortran/udr11.f90: Ditto.
4598 * testsuite/libgomp.fortran/udr12.f90: Ditto.
4599 * testsuite/libgomp.fortran/udr13.f90: Ditto.
4600 * testsuite/libgomp.fortran/udr14.f90: Ditto.
4601 * testsuite/libgomp.fortran/udr15.f90: Ditto.
4602 * testsuite/libgomp.fortran/udr2.f90: Ditto.
4603 * testsuite/libgomp.fortran/udr3.f90: Ditto.
4604 * testsuite/libgomp.fortran/udr4.f90: Ditto.
4605 * testsuite/libgomp.fortran/udr5.f90: Ditto.
4606 * testsuite/libgomp.fortran/udr6.f90: Ditto.
4607 * testsuite/libgomp.fortran/udr7.f90: Ditto.
4608 * testsuite/libgomp.fortran/udr8.f90: Ditto.
4609 * testsuite/libgomp.fortran/udr9.f90: Ditto.
4610 * testsuite/libgomp.fortran/vla1.f90: Ditto.
4611 * testsuite/libgomp.fortran/vla2.f90: Ditto.
4612 * testsuite/libgomp.fortran/vla3.f90: Ditto.
4613 * testsuite/libgomp.fortran/vla4.f90: Ditto.
4614 * testsuite/libgomp.fortran/vla5.f90: Ditto.
4615 * testsuite/libgomp.fortran/vla6.f90: Ditto.
4616 * testsuite/libgomp.fortran/vla7.f90: Ditto.
4617 * testsuite/libgomp.fortran/vla8.f90: Ditto.
4618 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
4619 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
4620
4621 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
4622
4623 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
4624 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
4625 Ditto; add 'dg-do run' for torture testing.
4626 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
4627 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
4628 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
4629 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
4630 * testsuite/libgomp.fortran/pr28390.f: Ditto.
4631 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
4632 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
4633 * testsuite/libgomp.fortran/task2.f90: Ditto.
4634 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
4635 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
4636 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
4637 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
4638 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
4639 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
4640
4641 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
4642
4643 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
4644 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
4645 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
4646 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
4647 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
4648 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
4649 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
4650 Use 'stop' not abort().
4651 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
4652 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
4653 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
4654 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
4655 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
4656 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
4657 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
4658 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
4659 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
4660 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
4661 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
4662 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
4663 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
4664 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
4665 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
4666 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
4667 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
4668 Ditto.
4669 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4670 Ditto.
4671 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4672 Ditto.
4673 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4674 Ditto.
4675 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4676 Ditto.
4677 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
4678 Ditto.
4679 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
4680 Ditto.
4681 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
4682 Ditto.
4683 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
4684 Ditto.
4685 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
4686 Ditto.
4687 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
4688 Ditto.
4689 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
4690 Ditto.
4691 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
4692 Ditto.
4693 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
4694 Ditto.
4695 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
4696 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
4697 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
4698 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
4699 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
4700 Likewise and also add 'dg-do run'.
4701 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
4702 Ditto.
4703
4704 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
4705 Tobias Burnus <tobias@codesourcery.com>
4706
4707 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
4708 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
4709 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
4710
4711 2019-10-14 Jakub Jelinek <jakub@redhat.com>
4712
4713 PR libgomp/92081
4714 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
4715 than 0.
4716
4717 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
4718
4719 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
4720 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
4721
4722 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
4723
4724 PR middle-end/92036
4725 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
4726 file.
4727
4728 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
4729
4730 PR testsuite/91884
4731 * testsuite/libgomp.fortran/fortran.exp: Conditionally
4732 add -lquadmath.
4733 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
4734
4735 2019-10-09 Jakub Jelinek <jakub@redhat.com>
4736
4737 PR libgomp/92028
4738 * target.c (gomp_map_vars_internal): Readd the previous
4739 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
4740 though do that just in the !not_found_cnt case.
4741
4742 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
4743
4744 * gfortran.dg/gomp/target-simd.f90: New.
4745
4746 2019-10-02 Julian Brown <julian@codesourcery.com>
4747 Cesar Philippidis <cesar@codesourcery.com>
4748
4749 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
4750 * target.c (FIELD_TGT_EMPTY): Define.
4751 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
4752 as switch instead of list of ifs.
4753 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
4754
4755 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
4756
4757 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
4758 include. Replace alloca () with __builtin_alloca ().
4759 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
4760
4761 2019-10-01 Jakub Jelinek <jakub@redhat.com>
4762
4763 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
4764 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
4765 * oacc-parallel.c: Don't include "libgomp_g.h".
4766 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
4767 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
4768 * aclocal.m4: Regenerated.
4769 * config.h.in: Regenerated.
4770 * configure: Regenerated.
4771 * Makefile.in: Regenerated.
4772
4773 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4774
4775 * libgomp_g.h: Include stdint.h instead of gstdint.h.
4776
4777 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
4778
4779 * configure: Regenerate.
4780
4781 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
4782
4783 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
4784 string is initialized.
4785
4786 2019-09-06 Florian Weimer <fweimer@redhat.com>
4787
4788 * configure: Regenerate.
4789
4790 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
4791
4792 PR other/79543
4793 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
4794 scanning to conform to the GNU Coding Standards.
4795 * configure: Regenerate.
4796
4797 2019-08-28 Jakub Jelinek <jakub@redhat.com>
4798
4799 PR libgomp/91530
4800 * testsuite/libgomp.c/scan-21.c: New test.
4801 * testsuite/libgomp.c/scan-22.c: New test.
4802
4803 2019-08-27 Jakub Jelinek <jakub@redhat.com>
4804
4805 PR libgomp/91530
4806 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
4807 targets.
4808 * testsuite/libgomp.c/scan-12.c: Likewise.
4809 * testsuite/libgomp.c/scan-13.c: Likewise.
4810 * testsuite/libgomp.c/scan-14.c: Likewise.
4811 * testsuite/libgomp.c/scan-15.c: Likewise.
4812 * testsuite/libgomp.c/scan-16.c: Likewise.
4813 * testsuite/libgomp.c/scan-17.c: Likewise.
4814 * testsuite/libgomp.c/scan-18.c: Likewise.
4815 * testsuite/libgomp.c/scan-19.c: Likewise.
4816 * testsuite/libgomp.c/scan-20.c: Likewise.
4817 * testsuite/libgomp.c++/scan-9.C: Likewise.
4818 * testsuite/libgomp.c++/scan-10.C: Likewise.
4819 * testsuite/libgomp.c++/scan-11.C: Likewise.
4820 * testsuite/libgomp.c++/scan-12.C: Likewise.
4821 * testsuite/libgomp.c++/scan-14.C: Likewise.
4822 * testsuite/libgomp.c++/scan-15.C: Likewise.
4823 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
4824 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
4825 * testsuite/libgomp.c++/scan-16.C: Likewise.
4826
4827 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
4828
4829 PR fortran/91473
4830 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
4831 -std=legacy so invalid code in the test case is accepted.
4832
4833 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
4834
4835 PR fortran/91422
4836 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
4837 dimension.
4838
4839 2019-08-08 Jakub Jelinek <jakub@redhat.com>
4840
4841 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
4842 perform the lookup in the first loop only if !not_found_cnt, otherwise
4843 perform lookups for it in the second loop guarded with
4844 if (not_found_cnt || has_firstprivate).
4845 * testsuite/libgomp.c/target-37.c: New test.
4846 * testsuite/libgomp.c++/target-22.C: New test.
4847
4848 2019-08-07 Jakub Jelinek <jakub@redhat.com>
4849
4850 * testsuite/libgomp.c/target-18.c (struct S): New type.
4851 (foo): Use use_device_addr clause instead of use_device_ptr clause
4852 where required by OpenMP 5.0, add further tests for both use_device_ptr
4853 and use_device_addr clauses.
4854 * testsuite/libgomp.c++/target-9.C (struct S): New type.
4855 (foo): Use use_device_addr clause instead of use_device_ptr clause
4856 where required by OpenMP 5.0, add further tests for both use_device_ptr
4857 and use_device_addr clauses. Add t and u arguments.
4858 (main): Adjust caller.
4859
4860 2019-08-06 Jakub Jelinek <jakub@redhat.com>
4861
4862 * testsuite/libgomp.c++/loop-13.C: New test.
4863 * testsuite/libgomp.c++/loop-14.C: New test.
4864 * testsuite/libgomp.c++/loop-15.C: New test.
4865
4866 2019-07-31 Jakub Jelinek <jakub@redhat.com>
4867
4868 PR middle-end/91301
4869 * testsuite/libgomp.c++/for-27.C: New test.
4870
4871 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
4872
4873 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
4874 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
4875
4876 2019-07-20 Jakub Jelinek <jakub@redhat.com>
4877
4878 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
4879
4880 2019-07-08 Jakub Jelinek <jakub@redhat.com>
4881
4882 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
4883 * testsuite/libgomp.c++/scan-16.C: Likewise.
4884
4885 2019-07-06 Jakub Jelinek <jakub@redhat.com>
4886
4887 * testsuite/libgomp.c/scan-19.c: New test.
4888 * testsuite/libgomp.c/scan-20.c: New test.
4889
4890 * testsuite/libgomp.c/scan-11.c: New test.
4891 * testsuite/libgomp.c/scan-12.c: New test.
4892 * testsuite/libgomp.c/scan-13.c: New test.
4893 * testsuite/libgomp.c/scan-14.c: New test.
4894 * testsuite/libgomp.c/scan-15.c: New test.
4895 * testsuite/libgomp.c/scan-16.c: New test.
4896 * testsuite/libgomp.c/scan-17.c: New test.
4897 * testsuite/libgomp.c/scan-18.c: New test.
4898 * testsuite/libgomp.c++/scan-9.C: New test.
4899 * testsuite/libgomp.c++/scan-10.C: New test.
4900 * testsuite/libgomp.c++/scan-11.C: New test.
4901 * testsuite/libgomp.c++/scan-12.C: New test.
4902 * testsuite/libgomp.c++/scan-13.C: New test.
4903 * testsuite/libgomp.c++/scan-14.C: New test.
4904 * testsuite/libgomp.c++/scan-15.C: New test.
4905 * testsuite/libgomp.c++/scan-16.C: New test.
4906
4907 2019-07-04 Jakub Jelinek <jakub@redhat.com>
4908
4909 * testsuite/libgomp.c/scan-9.c: New test.
4910 * testsuite/libgomp.c/scan-10.c: New test.
4911
4912 2019-07-03 Jakub Jelinek <jakub@redhat.com>
4913
4914 * testsuite/libgomp.c++/scan-1.C: New test.
4915 * testsuite/libgomp.c++/scan-2.C: New test.
4916 * testsuite/libgomp.c++/scan-3.C: New test.
4917 * testsuite/libgomp.c++/scan-4.C: New test.
4918 * testsuite/libgomp.c++/scan-5.C: New test.
4919 * testsuite/libgomp.c++/scan-6.C: New test.
4920 * testsuite/libgomp.c++/scan-7.C: New test.
4921 * testsuite/libgomp.c++/scan-8.C: New test.
4922 * testsuite/libgomp.c/scan-1.c: New test.
4923 * testsuite/libgomp.c/scan-2.c: New test.
4924 * testsuite/libgomp.c/scan-3.c: New test.
4925 * testsuite/libgomp.c/scan-4.c: New test.
4926 * testsuite/libgomp.c/scan-5.c: New test.
4927 * testsuite/libgomp.c/scan-6.c: New test.
4928 * testsuite/libgomp.c/scan-7.c: New test.
4929 * testsuite/libgomp.c/scan-8.c: New test.
4930
4931 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
4932
4933 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
4934 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
4935 Likewise.
4936
4937 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
4938 check.
4939
4940 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
4941
4942 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
4943 file.
4944
4945 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
4946
4947 PR fortran/90743
4948 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
4949 case.
4950 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
4951 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
4952 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
4953 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
4954
4955 PR testsuite/90861
4956 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
4957
4958 PR middle-end/90862
4959 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
4960
4961 2019-06-16 Tom de Vries <tdevries@suse.de>
4962
4963 PR tree-optimization/89376
4964 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
4965
4966 2019-06-15 Tom de Vries <tdevries@suse.de>
4967
4968 PR tree-optimization/89713
4969 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
4970 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
4971
4972 2019-06-15 Jakub Jelinek <jakub@redhat.com>
4973
4974 PR middle-end/90779
4975 * testsuite/libgomp.c/pr90779.c: New test.
4976 * testsuite/libgomp.fortran/pr90779.f90: New test.
4977
4978 2019-06-15 Tom de Vries <tdevries@suse.de>
4979
4980 PR tree-optimization/90009
4981 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
4982
4983 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
4984
4985 PR tree-optimization/89713
4986 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
4987
4988 2019-06-11 Jakub Jelinek <jakub@redhat.com>
4989
4990 PR target/90811
4991 * testsuite/libgomp.c/pr90811.c: New test.
4992
4993 2019-06-05 Jakub Jelinek <jakub@redhat.com>
4994
4995 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
4996 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
4997
4998 2019-06-04 Jakub Jelinek <jakub@redhat.com>
4999
5000 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
5001 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
5002 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
5003 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
5004
5005 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5006
5007 * configure.ac: Call AX_COUNT_CPUS.
5008 Substitute CPU_COUNT.
5009 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
5010 count fallback.
5011 * aclocal.m4: Regenerate.
5012 * configure: Regenerate.
5013 * Makefile.in, testsuite/Makefile.in: Regenerate.
5014
5015 2019-05-29 Jakub Jelinek <jakub@redhat.com>
5016
5017 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
5018 to ...
5019 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
5020 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
5021 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
5022
5023 2019-05-27 Jakub Jelinek <jakub@redhat.com>
5024
5025 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
5026
5027 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
5028
5029 PR libgomp/90641
5030 * work.c (gomp_init_work_share): Instead of aligning final ordered
5031 value to multiples of long long alignment, align to that the
5032 first part (ordered team ids) and if inline_ordered_team_ids
5033 is not on a long long alignment boundary within the structure,
5034 use __alignof__ (long long) - 1 pad size always.
5035 * loop.c (GOMP_loop_start): Fix *mem computation if
5036 inline_ordered_team_ids is not aligned on long long alignment boundary
5037 within the structure.
5038 * loop-ull.c (GOMP_loop_ull_start): Likewise.
5039 * sections.c (GOMP_sections2_start): Likewise.
5040
5041 2019-05-24 Jakub Jelinek <jakub@redhat.com>
5042
5043 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
5044 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
5045
5046 PR libgomp/90585
5047 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
5048 HAVE_INTTYPES_H is defined.
5049 (print_uint64_t): New typedef.
5050 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
5051 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
5052 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
5053 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
5054 before casting to void *.
5055 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
5056 * oacc-mem.c: Don't include config.h nor stdint.h.
5057 * target.c: Don't include config.h.
5058 * oacc-cuda.c: Likewise.
5059 * oacc-host.c: Don't include stdint.h.
5060
5061 2019-05-20 Jakub Jelinek <jakub@redhat.com>
5062
5063 PR libgomp/90527
5064 * alloc.c (_GNU_SOURCE): Define.
5065
5066 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
5067
5068 * acc_prof.h: New file.
5069 * oacc-profiling.c: Likewise.
5070 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
5071 Add these, respectively.
5072 * Makefile.in: Regenerate.
5073 * env.c (initialize_env): Call goacc_profiling_initialize.
5074 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
5075 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
5076 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
5077 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
5078 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
5079 acc_prof_register, acc_prof_unregister, and acc_register_library.
5080 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
5081 GOMP_PLUGIN_goacc_thread.
5082 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
5083 prof_callbacks_enabled members.
5084 (goacc_prof_enabled, goacc_profiling_initialize)
5085 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
5086 (goacc_profiling_dispatch): Declare.
5087 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
5088 (GOACC_PROFILING_SETUP_P): Define.
5089 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
5090 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
5091 OpenACC Profiling Interface.
5092 * oacc-cuda.c (acc_get_current_cuda_device)
5093 (acc_get_current_cuda_context, acc_get_cuda_stream)
5094 (acc_set_cuda_stream): Likewise.
5095 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
5096 (acc_init, acc_set_device_type, acc_get_device_type)
5097 (acc_get_device_num, goacc_lazy_initialize): Likewise.
5098 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
5099 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
5100 (acc_unmap_data, present_create_copy, delete_copyout)
5101 (update_dev_host): Likewise.
5102 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
5103 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
5104 Likewise.
5105 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
5106 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
5107 Likewise.
5108 * libgomp.texi: Update.
5109 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
5110 file.
5111 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
5112 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5113 Likewise.
5114 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5115 Likewise.
5116 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
5117 Likewise.
5118 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
5119 Likewise.
5120
5121 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
5122
5123 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
5124 (struct goacc_asyncqueue_list): Likewise.
5125 (goacc_aq): Likewise.
5126 (goacc_aq_list): Likewise.
5127 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
5128 (GOMP_OFFLOAD_openacc_async_test): Remove.
5129 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
5130 (GOMP_OFFLOAD_openacc_async_wait): Remove.
5131 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
5132 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
5133 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
5134 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
5135 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
5136 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
5137 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
5138 (GOMP_OFFLOAD_openacc_async_exec): Declare.
5139 (GOMP_OFFLOAD_openacc_async_construct): Declare.
5140 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
5141 (GOMP_OFFLOAD_openacc_async_test): Declare.
5142 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
5143 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
5144 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
5145 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
5146 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
5147
5148 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
5149 (gomp_acc_insert_pointer): Adjust declaration.
5150 (gomp_copy_host2dev): New declaration.
5151 (gomp_copy_dev2host): Likewise.
5152 (gomp_map_vars_async): Likewise.
5153 (gomp_unmap_tgt): Likewise.
5154 (gomp_unmap_vars_async): Likewise.
5155 (gomp_fini_device): Likewise.
5156
5157 * oacc-async.c (get_goacc_thread): New function.
5158 (get_goacc_thread_device): New function.
5159 (lookup_goacc_asyncqueue): New function.
5160 (get_goacc_asyncqueue): New function.
5161 (acc_async_test): Adjust code to use new async design.
5162 (acc_async_test_all): Likewise.
5163 (acc_wait): Likewise.
5164 (acc_wait_async): Likewise.
5165 (acc_wait_all): Likewise.
5166 (acc_wait_all_async): Likewise.
5167 (goacc_async_free): New function.
5168 (goacc_init_asyncqueues): Likewise.
5169 (goacc_fini_asyncqueues): Likewise.
5170 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
5171 design.
5172 (acc_set_cuda_stream): Likewise.
5173 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
5174 (host_openacc_register_async_cleanup): Remove.
5175 (host_openacc_async_exec): New function.
5176 (host_openacc_async_test): Adjust parameters.
5177 (host_openacc_async_test_all): Remove.
5178 (host_openacc_async_wait): Remove.
5179 (host_openacc_async_wait_async): Remove.
5180 (host_openacc_async_wait_all): Remove.
5181 (host_openacc_async_wait_all_async): Remove.
5182 (host_openacc_async_set_async): Remove.
5183 (host_openacc_async_synchronize): New function.
5184 (host_openacc_async_serialize): New function.
5185 (host_openacc_async_host2dev): New function.
5186 (host_openacc_async_dev2host): New function.
5187 (host_openacc_async_queue_callback): New function.
5188 (host_openacc_async_construct): New function.
5189 (host_openacc_async_destruct): New function.
5190 (struct gomp_device_descr host_dispatch): Remove initialization of old
5191 interface, add initialization of new async sub-struct.
5192 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
5193 (goacc_attach_host_thread_to_device): Remove old async code usage.
5194 * oacc-int.h (goacc_init_asyncqueues): New declaration.
5195 (goacc_fini_asyncqueues): Likewise.
5196 (goacc_async_copyout_unmap_vars): Likewise.
5197 (goacc_async_free): Likewise.
5198 (get_goacc_asyncqueue): Likewise.
5199 (lookup_goacc_asyncqueue): Likewise.
5200 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
5201 design.
5202 (present_create_copy): Adjust code to use new async design.
5203 (delete_copyout): Likewise.
5204 (update_dev_host): Likewise.
5205 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
5206 async design.
5207 (gomp_acc_remove_pointer): Adjust code to use new async design.
5208 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
5209 design.
5210 (GOACC_enter_exit_data): Likewise.
5211 (goacc_wait): Likewise.
5212 (GOACC_update): Likewise.
5213 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
5214 when called, warn as obsolete in comment.
5215 * target.c (goacc_device_copy_async): New function.
5216 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
5217 add goacc_device_copy_async case.
5218 (gomp_copy_dev2host): Likewise.
5219 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
5220 (gomp_map_pointer): Likewise.
5221 (gomp_map_fields_existing): Likewise.
5222 (gomp_map_vars_internal): New always_inline function, renamed from
5223 gomp_map_vars.
5224 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
5225 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
5226 passing goacc_asyncqueue argument.
5227 (gomp_unmap_tgt): Remove static, add attribute_hidden.
5228 (gomp_unref_tgt): New function.
5229 (gomp_unmap_vars_internal): New always_inline function, renamed from
5230 gomp_unmap_vars.
5231 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
5232 (gomp_unmap_vars_async): Implement by calling
5233 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
5234 (gomp_fini_device): New function.
5235 (gomp_exit_data): Adjust gomp_copy_dev2host call.
5236 (gomp_load_plugin_for_device): Remove old interface, adjust to load
5237 new async interface.
5238 (gomp_target_fini): Adjust code to call gomp_fini_device.
5239
5240 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
5241 (struct ptx_stream): Remove.
5242 (struct nvptx_thread): Remove current_stream field.
5243 (cuda_map_create): Remove.
5244 (cuda_map_destroy): Remove.
5245 (map_init): Remove.
5246 (map_fini): Remove.
5247 (map_pop): Remove.
5248 (map_push): Remove.
5249 (struct goacc_asyncqueue): Define.
5250 (struct nvptx_callback): Define.
5251 (struct ptx_free_block): Define.
5252 (struct ptx_device): Remove null_stream, active_streams, async_streams,
5253 stream_lock, and next fields.
5254 (enum ptx_event_type): Remove.
5255 (struct ptx_event): Remove.
5256 (ptx_event_lock): Remove.
5257 (ptx_events): Remove.
5258 (init_streams_for_device): Remove.
5259 (fini_streams_for_device): Remove.
5260 (select_stream_for_async): Remove.
5261 (nvptx_init): Remove ptx_events and ptx_event_lock references.
5262 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
5263 case.
5264 (nvptx_open_device): Add free_blocks initialization, remove
5265 init_streams_for_device call.
5266 (nvptx_close_device): Remove fini_streams_for_device call, add
5267 free_blocks destruct code.
5268 (event_gc): Remove.
5269 (event_add): Remove.
5270 (nvptx_exec): Adjust parameters and code.
5271 (nvptx_free): Likewise.
5272 (nvptx_host2dev): Remove.
5273 (nvptx_dev2host): Remove.
5274 (nvptx_set_async): Remove.
5275 (nvptx_async_test): Remove.
5276 (nvptx_async_test_all): Remove.
5277 (nvptx_wait): Remove.
5278 (nvptx_wait_async): Remove.
5279 (nvptx_wait_all): Remove.
5280 (nvptx_wait_all_async): Remove.
5281 (nvptx_get_cuda_stream): Remove.
5282 (nvptx_set_cuda_stream): Remove.
5283 (GOMP_OFFLOAD_alloc): Adjust code.
5284 (GOMP_OFFLOAD_free): Likewise.
5285 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
5286 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
5287 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
5288 (GOMP_OFFLOAD_openacc_async_wait): Remove.
5289 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
5290 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
5291 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
5292 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
5293 (cuda_free_argmem): New function.
5294 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
5295 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
5296 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
5297 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
5298 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
5299 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
5300 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
5301 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
5302 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
5303 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
5304 (cuda_callback_wrapper): New function.
5305 (cuda_memcpy_sanity_check): New function.
5306 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
5307 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
5308 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
5309 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
5310
5311 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
5312
5313 PR target/87835
5314 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
5315
5316 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
5317
5318 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
5319
5320 2019-03-27 Kevin Buettner <kevinb@redhat.com>
5321
5322 * team.c (gomp_team_start): Initialize pool->threads[0].
5323
5324 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
5325
5326 * testsuite/libgomp.oacc-c++/c++.exp: Specify
5327 "-foffload=$offload_target".
5328 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5329 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5330 * testsuite/lib/libgomp.exp
5331 (check_effective_target_openacc_nvidia_accel_configured): Remove,
5332 as (conceptually) merged into
5333 check_effective_target_openacc_nvidia_accel_selected. Adjust all
5334 users.
5335
5336 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
5337 * testsuite/libgomp-test-support.exp.in: Adjust.
5338 * testsuite/lib/libgomp.exp: Likewise. Don't populate
5339 openacc_device_types_s.
5340 (offload_target_to_openacc_device_type): New proc.
5341 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
5342 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5343 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5344 * Makefile.in: Regenerate.
5345 * configure: Likewise.
5346 * testsuite/Makefile.in: Likewise.
5347
5348 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
5349 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
5350 instead of OFFLOAD_TARGETS.
5351 * target.c (gomp_target_init): Adjust.
5352 * testsuite/libgomp-test-support.exp.in: Likewise.
5353 * testsuite/lib/libgomp.exp: Likewise. Populate
5354 openacc_device_types_s instead of offload_targets_s_openacc.
5355 (check_effective_target_openacc_nvidia_accel_selected)
5356 (check_effective_target_openacc_host_selected): Adjust.
5357 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
5358 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5359 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5360 * Makefile.in: Regenerate.
5361 * config.h.in: Likewise.
5362 * configure: Likewise.
5363 * testsuite/Makefile.in: Likewise.
5364
5365 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
5366 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
5367 "offloading: supported, but hardware not accessible".
5368 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5369 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5370
5371 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
5372
5373 PR c/87924
5374 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
5375 goacc_wait().
5376 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
5377 and related adjustment.
5378
5379 2019-01-30 Jakub Jelinek <jakub@redhat.com>
5380
5381 PR c++/88988
5382 * testsuite/libgomp.c++/pr88988.C: New test.
5383
5384 2019-01-28 Jakub Jelinek <jakub@redhat.com>
5385
5386 PR middle-end/89002
5387 * testsuite/libgomp.c/pr89002.c: New test.
5388
5389 2019-01-28 Richard Biener <rguenther@suse.de>
5390
5391 PR testsuite/89064
5392 PR tree-optimization/86865
5393 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
5394
5395 2019-01-24 Tom de Vries <tdevries@suse.de>
5396
5397 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
5398 once instantiated_devices drops to 0.
5399
5400 2019-01-23 Tom de Vries <tdevries@suse.de>
5401
5402 PR target/PR88946
5403 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
5404 cuMemFree.
5405 (nvptx_exec): Don't call map_push if mapnum == 0.
5406 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
5407
5408 2019-01-23 Tom de Vries <tdevries@suse.de>
5409
5410 PR target/88941
5411 PR target/88939
5412 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
5413 (map_fini): Remove "assert (!s->map->active)".
5414 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
5415
5416 2019-01-23 Tom de Vries <tdevries@suse.de>
5417
5418 PR target/87835
5419 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
5420 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
5421
5422 2019-01-15 Tom de Vries <tdevries@suse.de>
5423
5424 PR target/80547
5425 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
5426 New test.
5427
5428 2019-01-12 Tom de Vries <tdevries@suse.de>
5429
5430 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
5431 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
5432 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
5433 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
5434
5435 2019-01-12 Tom de Vries <tdevries@suse.de>
5436
5437 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
5438
5439 2019-01-12 Tom de Vries <tdevries@suse.de>
5440
5441 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
5442 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
5443 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
5444
5445 2019-01-12 Tom de Vries <tdevries@suse.de>
5446
5447 PR target/85486
5448 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
5449 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
5450
5451 2019-01-12 Tom de Vries <tdevries@suse.de>
5452
5453 PR target/85381
5454 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
5455 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
5456
5457 2019-01-12 Tom de Vries <tdevries@suse.de>
5458
5459 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
5460 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
5461 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
5462
5463 2019-01-12 Tom de Vries <tdevries@suse.de>
5464
5465 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
5466 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
5467 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
5468
5469 2019-01-12 Tom de Vries <tdevries@suse.de>
5470
5471 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
5472 resources diagnostic.
5473
5474 2019-01-12 Tom de Vries <tdevries@suse.de>
5475
5476 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
5477 vector length to be 128.
5478 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
5479 length 2097152 to be reduced to 1024 instead of 32.
5480
5481 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
5482 James Norris <jnorris@codesourcery.com>
5483
5484 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
5485 Library Routines", and "Environment Variables".
5486
5487 2019-01-11 Tom de Vries <tdevries@suse.de>
5488
5489 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
5490 num_workers 16.
5491
5492 2019-01-11 Tom de Vries <tdevries@suse.de>
5493
5494 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
5495 -foffload=-w.
5496 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
5497 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
5498 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
5499 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
5500
5501 2019-01-11 Tom de Vries <tdevries@suse.de>
5502
5503 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
5504 test.
5505
5506 2019-01-10 Nathan Sidwell <nathan@acm.org>
5507 Julian Brown <julian@codesourcery.com>
5508
5509 PR lto/71959
5510 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
5511 * testsuite/libgomp.oacc-c++/pr71959.C: New.
5512
5513 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5514
5515 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
5516 and paste code.
5517
5518 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5519
5520 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
5521 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
5522 write.
5523
5524 2019-01-09 Tom de Vries <tdevries@suse.de>
5525
5526 PR target/88756
5527 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
5528 #define instead of "const int".
5529 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
5530 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
5531 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
5532 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
5533
5534 2019-01-09 Tom de Vries <tdevries@suse.de>
5535
5536 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
5537 one worker.
5538
5539 2019-01-07 Tom de Vries <tdevries@suse.de>
5540
5541 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
5542 GOMP_OPENACC_DIM argument.
5543
5544 2019-01-03 Tom de Vries <tdevries@suse.de>
5545
5546 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
5547 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
5548
5549 2019-01-01 Jakub Jelinek <jakub@redhat.com>
5550
5551 Update copyright years.
5552
5553 2019-01-01 Jakub Jelinek <jakub@redhat.com>
5554
5555 * libgomp.texi: Bump @copying's copyright year.
5556
5557 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
5558
5559 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
5560 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
5561 (GOACC_declare): Redefine the "device" argument to "flags".
5562
5563 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
5564 Cesar Philippidis <cesar@codesourcery.com>
5565
5566 * target.c (struct gomp_coalesce_chunk): New structure.
5567 (struct gomp_coalesce_buf): Update the chunks member to use that
5568 type. Adjust all users.
5569
5570 2018-12-19 Tom de Vries <tdevries@suse.de>
5571
5572 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
5573 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
5574 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
5575
5576 2018-12-19 Tom de Vries <tdevries@suse.de>
5577
5578 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
5579 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
5580 gcc/testsuite/gcc.dg/goacc.
5581 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
5582
5583 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5584 Chung-Lin Tang <cltang@codesourcery.com>
5585
5586 * oacc-mem.c (acc_present_or_create): Remove definition and change
5587 to alias of acc_create.
5588 (acc_present_or_copyin): Remove definition and change to alias of
5589 acc_copyin.
5590 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
5591 of acc_present_or_create.
5592 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
5593 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5594 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5595 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5596 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5597 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5598 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5599 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5600 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5601 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5602 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5603 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5604 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5605 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5606 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5607 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5608
5609 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5610
5611 PR libgomp/88495
5612 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
5613 "identical parameters".
5614 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
5615 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
5616
5617 PR libgomp/88484
5618 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
5619 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
5620
5621 PR libgomp/88407
5622 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
5623 (nvptx_wait_async): Unseen async-argument is a no-op.
5624 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
5625 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
5626 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5627 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5628 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
5629 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
5630 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
5631 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
5632 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
5633
5634 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
5635 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5636
5637 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
5638
5639 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
5640 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5641 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5642
5643 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5644
5645 PR libgomp/88370
5646 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
5647 (acc_set_cuda_stream): Clarify.
5648 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
5649 "async_valid_p".
5650 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
5651 acc_async_sync".
5652 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
5653 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
5654 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
5655 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5656
5657 2018-12-14 Tom de Vries <tdevries@suse.de>
5658
5659 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
5660 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
5661 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
5662 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
5663 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
5664
5665 2018-12-13 Tom de Vries <tdevries@suse.de>
5666
5667 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
5668 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
5669 * fortran.c (omp_display_affinity_): ... here.
5670 * libgomp.h (gomp_print_string): Declare.
5671 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
5672 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
5673 write.
5674
5675 2018-12-13 Jakub Jelinek <jakub@redhat.com>
5676
5677 PR libgomp/88460
5678 * testsuite/libgomp.c++/for-24.C (results): Include it in
5679 omp declare target region.
5680 (main): Use map (always, tofrom: results) instead of
5681 map (tofrom: results).
5682
5683 2018-12-12 Jakub Jelinek <jakub@redhat.com>
5684
5685 PR fortran/88463
5686 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
5687 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
5688
5689 * testsuite/libgomp.c-c++-common/for-16.c: New test.
5690
5691 2018-12-12 Andreas Schwab <schwab@suse.de>
5692
5693 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
5694 clobbered.
5695
5696 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
5697
5698 PR fortran/88411
5699 * testsuite/libgomp.fortran/async_io_8.f90: New test.
5700
5701 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
5702 Jakub Jelinek <jakub@redhat.com>
5703
5704 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
5705 devicep->host2dev_func.
5706
5707 2018-12-08 Jakub Jelinek <jakub@redhat.com>
5708
5709 PR libgomp/87995
5710 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
5711 tls_runtime effective target.
5712 (t): New threadprivate variable.
5713 (main): Set t in threads which execute iterations of the worksharing
5714 loop. Propagate that to the task after the loop and don't abort
5715 if the current taskgroup hasn't been cancelled.
5716
5717 2018-12-02 Jakub Jelinek <jakub@redhat.com>
5718
5719 * testsuite/libgomp.c/task-reduction-3.c: New test.
5720
5721 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
5722
5723 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
5724
5725 PR libgomp/88288
5726 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
5727 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
5728
5729 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
5730
5731 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
5732
5733 2018-10-19 Richard Biener <rguenther@suse.de>
5734
5735 PR tree-optimization/88182
5736 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
5737
5738 2018-11-26 Jakub Jelinek <jakub@redhat.com>
5739
5740 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
5741 (RUNTEST): Don't define.
5742 (RUNTESTDEFAULTFLAGS): Add.
5743 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
5744 (distclean-am): Depend on distclean-DEJAGNU.
5745 (check-am): If -j% option is present in MFLAGS and if
5746 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
5747 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
5748 * testsuite/Makefile.in: Regenerated.
5749
5750 2018-11-26 Richard Biener <rguenther@suse.de>
5751
5752 PR tree-optimization/88182
5753 * testsuite/libgomp.c++/pr88182.C: New testcase.
5754
5755 2018-11-20 Jakub Jelinek <jakub@redhat.com>
5756
5757 PR bootstrap/88106
5758 * config/mingw32/affinity-fmt.c: New file.
5759
5760 2018-11-09 Jakub Jelinek <jakub@redhat.com>
5761
5762 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
5763 (gomp_display_affinity): Use __builtin_choose_expr to handle
5764 properly handle argument having integral, or pointer or some other
5765 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
5766 with uint64_t type instead of %llx and unsigned long long.
5767
5768 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
5769 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
5770
5771 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5772
5773 * affinity.c: Include <string.h>, <stdio.h>.
5774 (gomp_display_affinity_place): Remove cpusetp.
5775 * teams.c: Include <limits.h>.
5776
5777 2018-11-08 Jakub Jelinek <jakub@redhat.com>
5778
5779 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
5780 in_reduction clause for s[0].
5781
5782 * affinity.c (gomp_display_affinity_place): New function.
5783 * affinity-fmt.c: New file.
5784 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
5785 * config/linux/affinity.c (gomp_display_affinity_place): New function.
5786 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
5787 Move these functions to ...
5788 * config/nvptx/teams.c: ... here. New file.
5789 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
5790 New functions.
5791 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
5792 functions.
5793 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
5794 and _aligned_malloc.
5795 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
5796 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
5797 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
5798 gomp_affinity_format_len): New variables.
5799 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
5800 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
5801 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
5802 modifiers. Display (non-default) chunk sizes. Print
5803 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
5804 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
5805 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
5806 * fortran.c: Include stdio.h and string.h.
5807 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
5808 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
5809 (omp_set_affinity_format_, omp_get_affinity_format_,
5810 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
5811 omp_pause_resource_all_): New functions.
5812 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
5813 switch.
5814 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
5815 functions to ...
5816 * teams.c: ... here. New file.
5817 * libgomp_g.h: Include gstdint.h.
5818 (GOMP_loop_nonmonotonic_runtime_start,
5819 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
5820 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
5821 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
5822 GOMP_parallel_loop_nonmonotonic_runtime,
5823 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5824 GOMP_loop_ull_nonmonotonic_runtime_start,
5825 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
5826 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
5827 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5828 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
5829 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
5830 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5831 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
5832 GOMP_teams_reg): Declare.
5833 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
5834 gomp_aligned_alloc uses fallback implementation.
5835 (gomp_aligned_alloc, gomp_aligned_free): Declare.
5836 (enum gomp_schedule_type): Add GFS_MONOTONIC.
5837 (struct gomp_doacross_work_share): Add extra field.
5838 (struct gomp_work_share): Add task_reductions field.
5839 (struct gomp_taskgroup): Add workshare and reductions fields.
5840 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
5841 (gomp_thread_handle): New typedef.
5842 (gomp_display_affinity_place, gomp_set_affinity_format,
5843 gomp_display_string, gomp_display_affinity,
5844 gomp_display_affinity_thread): Declare.
5845 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
5846 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
5847 gomp_workshare_task_reduction_register): Declare.
5848 (gomp_team_start): Add taskgroup argument.
5849 (gomp_pause_host): Declare.
5850 (gomp_init_work_share, gomp_work_share_start): Change bool argument
5851 to size_t.
5852 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
5853 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
5854 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
5855 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
5856 GOMP_loop_ull_doacross_start,
5857 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
5858 GOMP_loop_maybe_nonmonotonic_runtime_next,
5859 GOMP_loop_maybe_nonmonotonic_runtime_start,
5860 GOMP_loop_nonmonotonic_runtime_next,
5861 GOMP_loop_nonmonotonic_runtime_start,
5862 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5863 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
5864 GOMP_loop_ull_nonmonotonic_runtime_next,
5865 GOMP_loop_ull_nonmonotonic_runtime_start,
5866 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5867 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
5868 GOMP_taskgroup_reduction_register,
5869 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5870 GOMP_teams_reg and GOMP_taskwait_depend.
5871 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
5872 omp_{capture,display}_affinity{,_}, and
5873 omp_[gs]et_affinity_format{,_}.
5874 * loop.c: Include string.h.
5875 (GOMP_loop_runtime_next): Add ialias.
5876 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
5877 (gomp_loop_static_start, gomp_loop_dynamic_start,
5878 gomp_loop_guided_start, gomp_loop_ordered_static_start,
5879 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
5880 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
5881 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
5882 or gomp_doacross_init callers.
5883 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
5884 GOMP_loop_doacross_start): New functions.
5885 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
5886 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
5887 Mask off GFS_MONOTONIC bit.
5888 (GOMP_loop_maybe_nonmonotonic_runtime_next,
5889 GOMP_loop_maybe_nonmonotonic_runtime_start,
5890 GOMP_loop_nonmonotonic_runtime_next,
5891 GOMP_loop_nonmonotonic_runtime_start,
5892 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5893 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
5894 functions.
5895 (gomp_parallel_loop_start): Pass NULL as taskgroup to
5896 gomp_team_start.
5897 * loop_ull.c: Include string.h.
5898 (GOMP_loop_ull_runtime_next): Add ialias.
5899 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
5900 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
5901 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
5902 gomp_loop_ull_ordered_dynamic_start,
5903 gomp_loop_ull_ordered_guided_start,
5904 gomp_loop_ull_doacross_static_start,
5905 gomp_loop_ull_doacross_dynamic_start,
5906 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
5907 and gomp_doacross_ull_init callers.
5908 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
5909 GOMP_loop_ull_doacross_start): New functions.
5910 (GOMP_loop_ull_runtime_start,
5911 GOMP_loop_ull_ordered_runtime_start,
5912 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
5913 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5914 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
5915 GOMP_loop_ull_nonmonotonic_runtime_next,
5916 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
5917 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
5918 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
5919 (omp_pause_resource_t, omp_depend_t): New typedefs.
5920 (enum omp_lock_hint_t): Renamed to ...
5921 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
5922 enumerators using numbers and omp_lock_hint_* as their aliases.
5923 (omp_lock_hint_t): New typedef. Rename to ...
5924 (omp_sync_hint_t): ... this.
5925 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
5926 omp_sync_hint_t instead of omp_lock_hint_t.
5927 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5928 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5929 Declare.
5930 (omp_target_is_present, omp_target_disassociate_ptr):
5931 Change first argument from void * to const void *.
5932 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
5933 from void * to const void *.
5934 (omp_target_associate_ptr): Change first and second arguments from
5935 void * to const void *.
5936 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
5937 omp_pause_hard): New parameters.
5938 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5939 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5940 New interfaces.
5941 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
5942 omp_pause_hard): New parameters.
5943 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5944 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5945 New externals.
5946 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
5947 EXTRA argument. If not needed to prepare array, if extra is 0,
5948 clear ws->doacross, otherwise allocate just doacross structure and
5949 extra payload. If array is needed, allocate also extra payload.
5950 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
5951 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
5952 doacross == NULL.
5953 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
5954 gomp_team_start.
5955 (GOMP_parallel): Likewise. Formatting fix.
5956 (GOMP_parallel_reductions): New function.
5957 (GOMP_cancellation_point): If taskgroup has workshare
5958 flag set, check cancelled of prev taskgroup if any.
5959 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
5960 on prev taskgroup if any.
5961 * sections.c: Include string.h.
5962 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
5963 (GOMP_sections_start): Adjust gomp_work_share_start caller.
5964 (GOMP_sections2_start): New function.
5965 (GOMP_parallel_sections_start, GOMP_parallel_sections):
5966 Pass NULL as taskgroup to gomp_team_start.
5967 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
5968 gomp_work_share_start callers.
5969 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
5970 If taskgroup has workshare flag set, check cancelled on prev
5971 taskgroup if any. Guard all cancellation tests with
5972 gomp_cancel_var test.
5973 (omp_target_is_present, omp_target_disassociate_ptr):
5974 Change ptr argument from void * to const void *.
5975 (omp_target_memcpy): Change src argument from void * to const void *.
5976 (omp_target_memcpy_rect): Likewise.
5977 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
5978 instead of char * where needed.
5979 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
5980 from void * to const void *.
5981 (omp_pause_resource, omp_pause_resource_all): New functions.
5982 * task.c (gomp_task_handle_depend): Handle new depend array format
5983 in addition to the old. Handle mutexinoutset kinds the same as
5984 inout for now, handle unspecified kinds.
5985 (gomp_create_target_task): If taskgroup has workshare flag set, check
5986 cancelled on prev taskgroup if any. Guard all cancellation tests with
5987 gomp_cancel_var test. Handle new depend array format count in
5988 addition to the old.
5989 (GOMP_task): Likewise. Adjust function comment.
5990 (gomp_task_run_pre): If taskgroup has workshare flag set, check
5991 cancelled on prev taskgroup if any. Guard all cancellation tests with
5992 gomp_cancel_var test.
5993 (GOMP_taskwait_depend): New function.
5994 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
5995 format in addition to the old. Handle mutexinoutset kinds the same as
5996 inout for now, handle unspecified kinds. Fix a function comment typo.
5997 (gomp_taskgroup_init): New function.
5998 (GOMP_taskgroup_start): Use it.
5999 (gomp_reduction_register, gomp_create_artificial_team,
6000 GOMP_taskgroup_reduction_register,
6001 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6002 gomp_parallel_reduction_register,
6003 gomp_workshare_task_reduction_register,
6004 gomp_workshare_taskgroup_start,
6005 GOMP_workshare_task_reduction_unregister): New functions.
6006 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
6007 check cancelled on prev taskgroup if any. Guard all cancellation
6008 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
6009 by calling GOMP_taskgroup_reduction_register.
6010 * team.c (gomp_thread_attr): Remove comment.
6011 (struct gomp_thread_start_data): Add handle field.
6012 (gomp_thread_start): Call pthread_detach.
6013 (gomp_new_team): Adjust gomp_init_work_share caller.
6014 (gomp_free_pool_helper): Call pthread_detach.
6015 (gomp_team_start): Add taskgroup argument, initialize implicit
6016 tasks' taskgroup field to that. Don't call
6017 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
6018 (gomp_team_end): Determine nesting by thr->ts.level != 0
6019 rather than thr->ts.team != NULL.
6020 (gomp_pause_pool_helper, gomp_pause_host): New functions.
6021 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
6022 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
6023 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
6024 if more than 1 allocate also extra payload at the end of array. Never
6025 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
6026 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
6027 return true instead of ws.
6028 * Makefile.in: Regenerated.
6029 * configure: Regenerated.
6030 * config.h.in: Regenerated.
6031 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
6032 in some cases.
6033 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
6034 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
6035 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
6036 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
6037 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
6038 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
6039 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
6040 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
6041 * testsuite/libgomp.c-c++-common/for-10.c: New test.
6042 * testsuite/libgomp.c-c++-common/for-11.c: New test.
6043 * testsuite/libgomp.c-c++-common/for-12.c: New test.
6044 * testsuite/libgomp.c-c++-common/for-13.c: New test.
6045 * testsuite/libgomp.c-c++-common/for-14.c: New test.
6046 * testsuite/libgomp.c-c++-common/for-15.c: New test.
6047 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
6048 define a different N(test), don't define N(f0) to N(f14), but instead
6049 define N(f20) to N(f34) using != comparisons.
6050 * testsuite/libgomp.c-c++-common/for-7.c: New test.
6051 * testsuite/libgomp.c-c++-common/for-8.c: New test.
6052 * testsuite/libgomp.c-c++-common/for-9.c: New test.
6053 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
6054 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
6055 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
6056 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
6057 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
6058 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
6059 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
6060 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
6061 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
6062 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
6063 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
6064 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
6065 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
6066 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
6067 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
6068 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
6069 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
6070 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
6071 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
6072 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
6073 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
6074 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
6075 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
6076 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
6077 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
6078 * testsuite/libgomp.c++/depend-1.C: New test.
6079 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
6080 * testsuite/libgomp.c++/depobj-1.C: New test.
6081 * testsuite/libgomp.c++/for-16.C: New test.
6082 * testsuite/libgomp.c++/for-21.C: New test.
6083 * testsuite/libgomp.c++/for-22.C: New test.
6084 * testsuite/libgomp.c++/for-23.C: New test.
6085 * testsuite/libgomp.c++/for-24.C: New test.
6086 * testsuite/libgomp.c++/for-25.C: New test.
6087 * testsuite/libgomp.c++/for-26.C: New test.
6088 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
6089 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
6090 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
6091 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
6092 * testsuite/libgomp.c++/task-reduction-10.C: New test.
6093 * testsuite/libgomp.c++/task-reduction-11.C: New test.
6094 * testsuite/libgomp.c++/task-reduction-12.C: New test.
6095 * testsuite/libgomp.c++/task-reduction-13.C: New test.
6096 * testsuite/libgomp.c++/task-reduction-14.C: New test.
6097 * testsuite/libgomp.c++/task-reduction-15.C: New test.
6098 * testsuite/libgomp.c++/task-reduction-16.C: New test.
6099 * testsuite/libgomp.c++/task-reduction-17.C: New test.
6100 * testsuite/libgomp.c++/task-reduction-18.C: New test.
6101 * testsuite/libgomp.c++/task-reduction-19.C: New test.
6102 * testsuite/libgomp.c/task-reduction-1.c: New test.
6103 * testsuite/libgomp.c++/task-reduction-1.C: New test.
6104 * testsuite/libgomp.c/task-reduction-2.c: New test.
6105 * testsuite/libgomp.c++/task-reduction-2.C: New test.
6106 * testsuite/libgomp.c++/task-reduction-3.C: New test.
6107 * testsuite/libgomp.c++/task-reduction-4.C: New test.
6108 * testsuite/libgomp.c++/task-reduction-5.C: New test.
6109 * testsuite/libgomp.c++/task-reduction-6.C: New test.
6110 * testsuite/libgomp.c++/task-reduction-7.C: New test.
6111 * testsuite/libgomp.c++/task-reduction-8.C: New test.
6112 * testsuite/libgomp.c++/task-reduction-9.C: New test.
6113 * testsuite/libgomp.c/teams-1.c: New test.
6114 * testsuite/libgomp.c/teams-2.c: New test.
6115 * testsuite/libgomp.c/thread-limit-4.c: New test.
6116 * testsuite/libgomp.c/thread-limit-5.c: New test.
6117 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
6118
6119 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
6120
6121 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
6122 acc_memcpy_to/from_device functions, now with async parameter.
6123 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
6124 (acc_memcpy_from_device): Likewise.
6125 (acc_memcpy_to_device_async): New API function.
6126 (acc_memcpy_from_device_async): Likewise.
6127 (present_create_copy): Add async parameter and async setting/unsetting.
6128 (acc_create): Adjust present_create_copy call.
6129 (acc_copyin): Likewise.
6130 (acc_present_or_create): Likewise.
6131 (acc_present_or_copyin): Likewise.
6132 (acc_create_async): New API function.
6133 (acc_copyin_async): New API function.
6134 (delete_copyout): Add async parameter and async setting/unsetting.
6135 (acc_delete): Adjust delete_copyout call.
6136 (acc_copyout): Likewise.
6137 (acc_delete_async): New API function.
6138 (acc_copyout_async): Likewise.
6139 (update_dev_host): Add async parameter and async setting/unsetting.
6140 (acc_update_device): Adjust update_dev_host call.
6141 (acc_update_self): Likewise.
6142 (acc_update_device_async): New API function.
6143 (acc_update_self_async): Likewise.
6144 * openacc.h (acc_copyin_async): Declare new API function.
6145 (acc_create_async): Likewise.
6146 (acc_copyout_async): Likewise.
6147 (acc_delete_async): Likewise.
6148 (acc_update_device_async): Likewise.
6149 (acc_update_self_async): Likewise.
6150 (acc_memcpy_to_device_async): Likewise.
6151 (acc_memcpy_from_device_async): Likewise.
6152 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
6153 (acc_copyin_async_64_h): New subroutine.
6154 (acc_copyin_async_array_h): New subroutine.
6155 (acc_create_async_32_h): New subroutine.
6156 (acc_create_async_64_h): New subroutine.
6157 (acc_create_async_array_h): New subroutine.
6158 (acc_copyout_async_32_h): New subroutine.
6159 (acc_copyout_async_64_h): New subroutine.
6160 (acc_copyout_async_array_h): New subroutine.
6161 (acc_delete_async_32_h): New subroutine.
6162 (acc_delete_async_64_h): New subroutine.
6163 (acc_delete_async_array_h): New subroutine.
6164 (acc_update_device_async_32_h): New subroutine.
6165 (acc_update_device_async_64_h): New subroutine.
6166 (acc_update_device_async_array_h): New subroutine.
6167 (acc_update_self_async_32_h): New subroutine.
6168 (acc_update_self_async_64_h): New subroutine.
6169 (acc_update_self_async_array_h): New subroutine.
6170 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
6171 (acc_copyin_async_64_h): New subroutine.
6172 (acc_copyin_async_array_h): New subroutine.
6173 (acc_create_async_32_h): New subroutine.
6174 (acc_create_async_64_h): New subroutine.
6175 (acc_create_async_array_h): New subroutine.
6176 (acc_copyout_async_32_h): New subroutine.
6177 (acc_copyout_async_64_h): New subroutine.
6178 (acc_copyout_async_array_h): New subroutine.
6179 (acc_delete_async_32_h): New subroutine.
6180 (acc_delete_async_64_h): New subroutine.
6181 (acc_delete_async_array_h): New subroutine.
6182 (acc_update_device_async_32_h): New subroutine.
6183 (acc_update_device_async_64_h): New subroutine.
6184 (acc_update_device_async_array_h): New subroutine.
6185 (acc_update_self_async_32_h): New subroutine.
6186 (acc_update_self_async_64_h): New subroutine.
6187 (acc_update_self_async_array_h): New subroutine.
6188 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
6189 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
6190 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
6191 acc_memcpy_to_device_async*, acc_update_device_async*, and
6192 acc_update_self_async* entries.
6193 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
6194 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
6195 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
6196
6197 2018-10-31 Joseph Myers <joseph@codesourcery.com>
6198
6199 PR bootstrap/82856
6200 * Makefile.am: Include multilib.am
6201 (AUTOMAKE_OPTIONS): Add info-in-builddir.
6202 (CLEANFILES): Remove libgomp.info.
6203 * configure.ac: Remove AC_PREREQ.
6204 * testsuite/Makefile.am (RUNTEST): Remove quotes.
6205 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
6206 Regenerate.
6207
6208 2018-10-29 Joseph Myers <joseph@codesourcery.com>
6209 Julian Brown <julian@codesourcery.com>
6210
6211 * testsuite/libgomp.oacc-c++/this.C: New.
6212
6213 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
6214
6215 * plugin/plugin-nvptx.c (struct cuda_map): New.
6216 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
6217 h_tail with (cuda_map *) map.
6218 (cuda_map_create): New function.
6219 (cuda_map_destroy): New function.
6220 (map_init): Update to use a linked list of cuda_map objects.
6221 (map_fini): Likewise.
6222 (map_pop): Likewise.
6223 (map_push): Likewise. Return CUdeviceptr instead of void.
6224 (init_streams_for_device): Remove stales references to ptx_stream
6225 members.
6226 (select_stream_for_async): Likewise.
6227 (nvptx_exec): Update call to map_init.
6228
6229 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
6230 Julian Brown <julian@codesourcery.com>
6231
6232 PR middle-end/86336
6233 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
6234
6235 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
6236 Thomas Koenig <tkoenig@gcc.gnu.org>
6237
6238 PR fortran/25829
6239 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6240 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6241 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6242 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6243 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6244 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6245 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6246
6247 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
6248 Tom de Vries <tdevries@suse.de>
6249
6250 PR target/85590
6251 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
6252 (cuOccupancyMaxPotentialBlockSize): Declare.
6253 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
6254 CUDA_ONE_CALL_MAYBE_NULL.
6255 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
6256 CUoccupancyB2DSize and declare
6257 cuOccupancyMaxPotentialBlockSize.
6258 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
6259 default num_gangs and num_workers when the driver supports it.
6260
6261 2018-08-08 Tom de Vries <tdevries@suse.de>
6262
6263 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
6264 CUDA_ONE_CALL_MAYBE_NULL.
6265 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
6266 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
6267 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
6268 are not found.
6269
6270 2018-08-08 Tom de Vries <tdevries@suse.de>
6271
6272 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
6273 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
6274 present.
6275
6276 2018-08-08 Tom de Vries <tdevries@suse.de>
6277
6278 * plugin/plugin-nvptx.c
6279 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
6280 (nvptx_open_device): Use
6281 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
6282
6283 2018-08-08 Tom de Vries <tdevries@suse.de>
6284
6285 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
6286 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
6287
6288 2018-08-07 Tom de Vries <tdevries@suse.de>
6289
6290 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
6291 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
6292 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
6293 corresponding call in CUDA_ONE_CALL. Add def/undef of
6294 CUDA_ONE_CALL_MAYBE_NULL.
6295 (CUDA_CALL_EXISTS): Define.
6296
6297 2018-08-07 Tom de Vries <tdevries@suse.de>
6298
6299 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
6300 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
6301 corresponding undefs right after.
6302
6303 2018-08-04 Tom de Vries <tdevries@suse.de>
6304
6305 * plugin/configfrag.ac: For --without-cuda-driver, set
6306 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
6307 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
6308 * configure: Regenerate.
6309
6310 2018-08-02 Tom de Vries <tdevries@suse.de>
6311
6312 PR target/86660
6313 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
6314 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
6315 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
6316 Same.
6317 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
6318 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
6319 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
6320
6321 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
6322 Thomas Schwinge <thomas@codesourcery.com>
6323
6324 * config/nvptx/oacc-parallel.c: Truncate.
6325
6326 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
6327 James Norris <jnorris@codesourcery.com>
6328
6329 * plugin/plugin-nvptx.c (struct map): Removed.
6330 (map_init, map_pop): Remove use of struct map.
6331 (map_push): Likewise and change argument list.
6332 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
6333
6334 2018-08-01 Tom de Vries <tdevries@suse.de>
6335
6336 * plugin/cuda-lib.def: New file. Factor out of ...
6337 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
6338 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
6339 using CUDA_CALLS.
6340
6341 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
6342
6343 Revert 'AsyncI/O patch committed'.
6344 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
6345 Thomas Koenig <tkoenig@gcc.gnu.org>
6346
6347 PR fortran/25829
6348 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6349 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6350 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6351 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6352 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6353 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6354 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6355
6356 2018-07-30 Tom de Vries <tdevries@suse.de>
6357
6358 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
6359 (nvptx_exec): Ensure worker and vector default dims don't exceed
6360 targ_fn->max_threads_per_block.
6361
6362 2018-07-30 Tom de Vries <tdevries@suse.de>
6363
6364 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
6365 (nvptx_open_device): Init default_dims for device.
6366 (nvptx_exec): Use default_dims from device.
6367
6368 2018-07-26 Jakub Jelinek <jakub@redhat.com>
6369
6370 PR testsuite/86660
6371 * testsuite/libgomp.c++/for-15.C (results): Include it in
6372 omp declare target region.
6373 (main): Use map (always, tofrom: results) instead of
6374 map (tofrom: results).
6375
6376 PR middle-end/86660
6377 * testsuite/libgomp.c/pr86660.c: New test.
6378
6379 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
6380 Tom de Vries <tdevries@suse.de>
6381
6382 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
6383 sufficient resources to launch a kernel, and give a hint on how to fix
6384 it.
6385
6386 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
6387 Tom de Vries <tdevries@suse.de>
6388
6389 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
6390 max_threads_per_block and max_threads_per_multiprocessor fields.
6391 (nvptx_open_device): Initialize new fields.
6392 (nvptx_exec): Use num_sms, and new fields.
6393
6394 2018-07-26 Tom de Vries <tdevries@suse.de>
6395
6396 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
6397 to correct locations. Remove xfail.
6398
6399 2018-07-26 Tom de Vries <tdevries@suse.de>
6400
6401 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
6402 acc_wait. Move acc_async_test calls to correct locations. Remove
6403 xfail.
6404
6405 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
6406 Thomas Koenig <tkoenig@gcc.gnu.org>
6407
6408 PR fortran/25829
6409 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6410 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6411 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6412 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6413 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6414 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6415 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6416
6417 2018-07-17 Jakub Jelinek <jakub@redhat.com>
6418
6419 PR middle-end/86542
6420 * testsuite/libgomp.c++/pr86542.C: New test.
6421
6422 PR middle-end/86539
6423 * testsuite/libgomp.c++/pr86539.C: New test.
6424
6425 2018-07-11 Jakub Jelinek <jakub@redhat.com>
6426
6427 PR c++/86443
6428 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
6429 (results): Make sure the variable is not inside declare target region.
6430 (qux): Remove unused function.
6431
6432 2018-07-10 Jakub Jelinek <jakub@redhat.com>
6433
6434 PR c++/86443
6435 * testsuite/libgomp.c++/for-15.C: New test.
6436
6437 2018-06-26 Jakub Jelinek <jakub@redhat.com>
6438
6439 PR c++/86291
6440 * testsuite/libgomp.c++/pr86291.C: New test.
6441
6442 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
6443
6444 * libgomp.texi (Top): Move www.openmp.org to https.
6445 (Enabling OpenMP): Ditto.
6446 (omp_get_active_level): Ditto.
6447 (omp_get_ancestor_thread_num): Ditto.
6448 (omp_get_cancellation): Ditto.
6449 (omp_get_default_device): Ditto.
6450 (omp_get_dynamic): Ditto.
6451 (omp_get_level): Ditto.
6452 (omp_get_max_active_levels): Ditto.
6453 (omp_get_max_task_priority): Ditto.
6454 (omp_get_max_threads): Ditto.
6455 (omp_get_nested): Ditto.
6456 (omp_get_num_devices): Ditto.
6457 (omp_get_num_procs): Ditto.
6458 (omp_get_num_teams): Ditto.
6459 (omp_get_num_threads): Ditto.
6460 (omp_get_proc_bind): Ditto.
6461 (omp_get_schedule): Ditto.
6462 (omp_get_team_num): Ditto.
6463 (omp_get_team_size): Ditto.
6464 (omp_get_thread_limit): Ditto.
6465 (omp_get_thread_num): Ditto.
6466 (omp_in_parallel): Ditto.
6467 (omp_in_final): Ditto.
6468 (omp_is_initial_device): Ditto.
6469 (omp_set_default_device): Ditto.
6470 (omp_set_dynamic): Ditto.
6471 (omp_set_max_active_levels): Ditto.
6472 (omp_set_nested): Ditto.
6473 (omp_set_num_threads): Ditto.
6474 (omp_set_schedule): Ditto.
6475 (omp_init_lock): Ditto.
6476 (omp_set_lock): Ditto.
6477 (omp_test_lock): Ditto.
6478 (omp_unset_lock): Ditto.
6479 (omp_destroy_lock): Ditto.
6480 (omp_init_nest_lock): Ditto.
6481 (omp_set_nest_lock): Ditto.
6482 (omp_test_nest_lock): Ditto.
6483 (omp_unset_nest_lock): Ditto.
6484 (omp_destroy_nest_lock): Ditto.
6485 (omp_get_wtick): Ditto.
6486 (omp_get_wtime): Ditto.
6487 (OMP_CANCELLATION): Ditto.
6488 (OMP_DISPLAY_ENV): Ditto.
6489 (OMP_DEFAULT_DEVICE): Ditto.
6490 (OMP_DYNAMIC): Ditto.
6491 (OMP_MAX_ACTIVE_LEVELS): Ditto.
6492 (OMP_MAX_TASK_PRIORITY): Ditto.
6493 (OMP_NESTED): Ditto.
6494 (OMP_NUM_THREADS): Ditto.
6495 (OMP_PROC_BIND): Ditto.
6496 (OMP_PLACES): Ditto.
6497 (OMP_STACKSIZE): Ditto.
6498 (OMP_SCHEDULE): Ditto.
6499 (OMP_THREAD_LIMIT): Ditto.
6500 (OMP_WAIT_POLICY): Ditto.
6501
6502 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
6503 James Norris <jnorris@codesourcery.com>
6504 Julian Brown <julian@codesourcery.com>
6505 Thomas Schwinge <thomas@codesourcery.com>
6506 Tom de Vries <tom@codesourcery.com>
6507
6508 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
6509 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
6510 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
6511 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
6512 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6513 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6514 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
6515 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
6516 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
6517 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
6518 Likewise.
6519 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6520 Likewise.
6521 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6522 Likewise.
6523 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
6524 Likewise.
6525 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
6526 Likewise.
6527 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6528 Likewise.
6529 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
6530 Likewise.
6531 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
6532 Likewise.
6533 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
6534 Likewise.
6535 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
6536 Likewise.
6537 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
6538 Likewise.
6539 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
6540 Likewise.
6541 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
6542 Likewise.
6543 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
6544 Likewise.
6545 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
6546 Likewise.
6547 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
6548 Likewise.
6549 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
6550 Likewise.
6551 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
6552 Likewise.
6553 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
6554 Likewise.
6555 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
6556 Likewise.
6557 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
6558 Likewise.
6559 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
6560 Likewise.
6561 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
6562 Likewise.
6563 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
6564 Likewise.
6565 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
6566 Likewise.
6567 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
6568 Likewise.
6569 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
6570 Likewise.
6571 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
6572 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
6573 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
6574 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
6575 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
6576 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
6577 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
6578 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
6579 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
6580 Likewise.
6581 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
6582 Likewise.
6583 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
6584 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
6585 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
6586 Likewise.
6587 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
6588 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
6589 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
6590 Likewise.
6591 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6592 Likewise.
6593 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6594 Likewise.
6595 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6596 Likewise.
6597 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6598 Likewise.
6599 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
6600 Likewise.
6601 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
6602 Likewise.
6603 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
6604 Likewise.
6605 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
6606 Likewise.
6607 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
6608 Likewise.
6609 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
6610 Likewise.
6611 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
6612 Likewise.
6613 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
6614 Likewise.
6615 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
6616 Likewise.
6617 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
6618 Likewise.
6619 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6620 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
6621 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
6622 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
6623 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
6624 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
6625 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
6626
6627 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
6628 Thomas Schwinge <thomas@codesourcery.com>
6629 Cesar Philippidis <cesar@codesourcery.com>
6630
6631 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
6632 (gomp_acc_remove_pointer): Update declaration.
6633 (gomp_acc_declare_allocate): Declare.
6634 (gomp_remove_var): Declare.
6635 * libgomp.map (OACC_2.5): Define.
6636 * oacc-mem.c (acc_map_data): Update refcount.
6637 (acc_unmap_data): Likewise.
6638 (present_create_copy): Likewise.
6639 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
6640 (acc_copyin): Likewise.
6641 (FLAG_FINALIZE): Define.
6642 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
6643 (acc_delete_finalize): New function.
6644 (acc_delete_finalize_async): New function.
6645 (acc_copyout_finalize): New function.
6646 (acc_copyout_finalize_async): New function.
6647 (gomp_acc_insert_pointer): Update refcounts.
6648 (gomp_acc_remove_pointer): Return if data is not present on the
6649 accelerator.
6650 * oacc-parallel.c (find_pset): Rename to find_pointer.
6651 (find_pointer): Add support for GOMP_MAP_POINTER.
6652 (handle_ftn_pointers): New function.
6653 (GOACC_parallel_keyed): Update refcounts of variables.
6654 (GOACC_enter_exit_data): Add support for finalized data mappings.
6655 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
6656 of fortran arrays.
6657 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
6658 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
6659 for GOMP_MAP_FORCE_FROM.
6660 * openacc.f90 (module openacc_internal): Add
6661 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
6662 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
6663 acc_copyout_finalize and acc_delete_finalize.
6664 (acc_copyout_finalize_32_h): New subroutine.
6665 (acc_copyout_finalize_64_h): New subroutine.
6666 (acc_copyout_finalize_array_h): New subroutine.
6667 (acc_delete_finalize_32_h): New subroutine.
6668 (acc_delete_finalize_64_h): New subroutine.
6669 (acc_delete_finalize_array_h): New subroutine.
6670 * openacc.h (acc_copyout_finalize): Declare.
6671 (acc_copyout_finalize_async): Declare.
6672 (acc_delete_finalize): Declare.
6673 (acc_delete_finalize_async): Declare.
6674 * openacc_lib.h (acc_copyout_finalize): New interface.
6675 (acc_delete_finalize): New interface.
6676 * target.c (gomp_map_vars): Update dynamic_refcount.
6677 (gomp_remove_var): New function.
6678 (gomp_unmap_vars): Use it.
6679 (gomp_unload_image_from_device): Likewise.
6680 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
6681 case to utilize OpenACC 2.5 data clause semantics.
6682 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6683 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6684 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6685 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6686 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6687 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6688 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6689 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6690 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6691 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6692 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6693 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
6694 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
6695 utilize OpenACC 2.5 data clause semantics.
6696 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6697 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6698 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6699 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6700 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6701 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6702 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6703 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
6704 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
6705
6706 2018-05-21 Janus Weil <janus@gcc.gnu.org>
6707
6708 PR fortran/85841
6709 PR testsuite/85865
6710 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
6711 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
6712 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
6713 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
6714 * testsuite/libgomp.fortran/task2.f90: Ditto.
6715 * testsuite/libgomp.fortran/vla1.f90: Ditto.
6716 * testsuite/libgomp.fortran/vla2.f90: Ditto.
6717 * testsuite/libgomp.fortran/vla3.f90: Ditto.
6718 * testsuite/libgomp.fortran/vla4.f90: Ditto.
6719 * testsuite/libgomp.fortran/vla5.f90: Ditto.
6720 * testsuite/libgomp.fortran/vla6.f90: Ditto.
6721 * testsuite/libgomp.fortran/vla8.f90: Ditto.
6722 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
6723 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
6724
6725 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
6726
6727 PR c++/85782
6728 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
6729
6730 2018-05-09 Tom de Vries <tom@codesourcery.com>
6731
6732 PR libgomp/82901
6733 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
6734 to GOACC_enter_exit_data.
6735
6736 2018-05-09 Tom de Vries <tom@codesourcery.com>
6737
6738 PR libgomp/83792
6739 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
6740 (async_synchronous_p): New function.
6741 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
6742 async_valid_p.
6743 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6744 async_valid_stream_id_p.
6745 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
6746 * oacc-parallel.c (GOACC_parallel_keyed): Same.
6747
6748 2018-05-07 Tom de Vries <tom@codesourcery.com>
6749
6750 PR testsuite/85677
6751 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
6752 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
6753
6754 2018-05-03 Tom de Vries <tom@codesourcery.com>
6755
6756 PR testsuite/85106
6757 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
6758 extra_tool_flags if it contains an -foffload=-fdump-* flag.
6759 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
6760 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
6761
6762 2018-05-02 Tom de Vries <tom@codesourcery.com>
6763
6764 PR libgomp/85411
6765 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
6766 GOMP_OPENACC_DIM ...
6767 * env.c (parse_gomp_openacc_dim): ... here. New function.
6768 (initialize_env): Call parse_gomp_openacc_dim.
6769 (goacc_default_dims): Define.
6770 * libgomp.h (goacc_default_dims): Declare.
6771 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
6772 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
6773 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
6774 GOMP_PLUGIN_acc_default_dim.
6775 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
6776 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
6777
6778 2018-05-02 Tom de Vries <tom@codesourcery.com>
6779
6780 PR testsuite/83791
6781 * testsuite/libgomp.c++/udr-9.C: Update.
6782 * testsuite/libgomp.c++/atomic-16.C: Remove.
6783 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
6784 * testsuite/libgomp.c++/loop-13.C: Remove.
6785 * testsuite/libgomp.c++/loop-14.C: Remove.
6786 * testsuite/libgomp.c++/loop-15.C: Remove.
6787 * testsuite/libgomp.c++/monotonic-1.C: Remove.
6788 * testsuite/libgomp.c++/monotonic-2.C: Remove.
6789 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
6790 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
6791 * testsuite/libgomp.c++/ordered-1.C: Remove.
6792 * testsuite/libgomp.c++/pr45784.C: Remove.
6793 * testsuite/libgomp.c++/pr64824.C: Remove.
6794 * testsuite/libgomp.c++/pr64868.C: Remove.
6795 * testsuite/libgomp.c++/pr66199-1.C: Remove.
6796 * testsuite/libgomp.c++/pr66199-2.C: Remove.
6797 * testsuite/libgomp.c++/pr66199-3.C: Remove.
6798 * testsuite/libgomp.c++/pr66199-4.C: Remove.
6799 * testsuite/libgomp.c++/pr66199-5.C: Remove.
6800 * testsuite/libgomp.c++/pr66199-6.C: Remove.
6801 * testsuite/libgomp.c++/pr66199-7.C: Remove.
6802 * testsuite/libgomp.c++/pr66199-8.C: Remove.
6803 * testsuite/libgomp.c++/pr66199-9.C: Remove.
6804 * testsuite/libgomp.c++/pr69389.C: Remove.
6805 * testsuite/libgomp.c++/simd10.C: Remove.
6806 * testsuite/libgomp.c++/simd11.C: Remove.
6807 * testsuite/libgomp.c++/simd12.C: Remove.
6808 * testsuite/libgomp.c++/simd13.C: Remove.
6809 * testsuite/libgomp.c++/target-1.C: Remove.
6810 * testsuite/libgomp.c++/target-3.C: Remove.
6811 * testsuite/libgomp.c++/target-4.C: Remove.
6812 * testsuite/libgomp.c++/target-5.C: Remove.
6813 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
6814 * testsuite/libgomp.c++/taskloop-1.C: Remove.
6815 * testsuite/libgomp.c++/taskloop-2.C: Remove.
6816 * testsuite/libgomp.c++/taskloop-3.C: Remove.
6817 * testsuite/libgomp.c++/taskloop-4.C: Remove.
6818 * testsuite/libgomp.c++/udr-9.C: Remove.
6819 * testsuite/libgomp.c++/for-10.C: Remove.
6820 * testsuite/libgomp.c++/for-11.C: Remove.
6821 * testsuite/libgomp.c++/for-12.C: Remove.
6822 * testsuite/libgomp.c++/for-13.C: Remove.
6823 * testsuite/libgomp.c++/for-14.C: Remove.
6824 * testsuite/libgomp.c++/for-9.C: Remove.
6825 * testsuite/libgomp.c/atomic-18.c: Move ...
6826 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
6827 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
6828 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
6829 * testsuite/libgomp.c/loop-13.c: Move ...
6830 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
6831 * testsuite/libgomp.c/loop-14.c: Move ...
6832 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
6833 * testsuite/libgomp.c/loop-15.c: Remove.
6834 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
6835 * testsuite/libgomp.c/monotonic-1.c: Move ...
6836 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
6837 * testsuite/libgomp.c/monotonic-2.c: Move ...
6838 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
6839 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
6840 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
6841 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
6842 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
6843 * testsuite/libgomp.c/ordered-4.c: Move ...
6844 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
6845 * testsuite/libgomp.c/pr45784.c: Move ...
6846 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
6847 * testsuite/libgomp.c/pr64824.c: Move ...
6848 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
6849 * testsuite/libgomp.c/pr64868.c: Move ...
6850 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
6851 * testsuite/libgomp.c/pr66199-1.c: Move ...
6852 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
6853 * testsuite/libgomp.c/pr66199-2.c: Move ...
6854 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
6855 * testsuite/libgomp.c/pr66199-3.c: Move ...
6856 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
6857 * testsuite/libgomp.c/pr66199-4.c: Move ...
6858 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
6859 * testsuite/libgomp.c/pr66199-5.c: Move ...
6860 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
6861 * testsuite/libgomp.c/pr66199-6.c: Move ...
6862 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
6863 * testsuite/libgomp.c/pr66199-7.c: Move ...
6864 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
6865 * testsuite/libgomp.c/pr66199-8.c: Move ...
6866 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
6867 * testsuite/libgomp.c/pr66199-9.c: Move ...
6868 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
6869 * testsuite/libgomp.c/pr69389.c: Move ...
6870 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
6871 * testsuite/libgomp.c/simd-14.c: Move ...
6872 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
6873 * testsuite/libgomp.c/simd-15.c: Move ...
6874 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
6875 * testsuite/libgomp.c/simd-16.c: Move ...
6876 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
6877 * testsuite/libgomp.c/simd-17.c: Move ...
6878 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
6879 * testsuite/libgomp.c/target-1.c: Move ...
6880 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
6881 * testsuite/libgomp.c/target-10.c: Move ...
6882 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
6883 * testsuite/libgomp.c/target-13.c: Move ...
6884 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
6885 * testsuite/libgomp.c/target-2.c: Move ...
6886 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
6887 * testsuite/libgomp.c/taskgroup-1.c: Move ...
6888 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
6889 * testsuite/libgomp.c/taskloop-1.c: Move ...
6890 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
6891 * testsuite/libgomp.c/taskloop-2.c: Move ...
6892 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
6893 * testsuite/libgomp.c/taskloop-3.c: Move ...
6894 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
6895 * testsuite/libgomp.c/taskloop-4.c: Move ...
6896 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
6897 * testsuite/libgomp.c/udr-1.c: Move ...
6898 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
6899 * testsuite/libgomp.c/for-1.c: Move ...
6900 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
6901 * testsuite/libgomp.c/for-1.h: Move ...
6902 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
6903 * testsuite/libgomp.c/for-2.c: Move ...
6904 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
6905 * testsuite/libgomp.c/for-2.h: Move ...
6906 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
6907 * testsuite/libgomp.c/for-3.c: Move ...
6908 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
6909 * testsuite/libgomp.c/for-4.c: Move ...
6910 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
6911 * testsuite/libgomp.c/for-5.c: Move ...
6912 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
6913 * testsuite/libgomp.c/for-6.c: Move ...
6914 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
6915
6916 2018-05-02 Tom de Vries <tom@codesourcery.com>
6917
6918 PR libgomp/82428
6919 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
6920 __builtin_goacc_parlevel_{id,size}.
6921 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
6922 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
6923 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
6924 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
6925 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
6926 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
6927 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
6928 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
6929 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
6930 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
6931 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
6932 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
6933 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
6934 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
6935 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
6936 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
6937 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
6938 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
6939 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
6940 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
6941 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
6942 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
6943 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
6944
6945 2018-05-02 Tom de Vries <tom@codesourcery.com>
6946
6947 PR testsuite/85106
6948 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
6949
6950 2018-05-02 Tom de Vries <tom@codesourcery.com>
6951
6952 PR testsuite/85106
6953 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
6954
6955 2018-04-29 Julian Brown <julian@codesourcery.com>
6956 Tom de Vries <tom@codesourcery.com>
6957
6958 PR testsuite/85527
6959 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
6960 arbitrary order for iterations of atomic subtract check.
6961
6962 2018-04-28 Tom de Vries <tom@codesourcery.com>
6963
6964 PR testsuite/85527
6965 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
6966 atomic capture results obtained in parallel loop to an array, instead of
6967 to a scalar.
6968
6969 2018-04-26 Tom de Vries <tom@codesourcery.com>
6970
6971 PR libgomp/84020
6972 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
6973 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
6974 (process_GOMP_NVPTX_JIT): New function.
6975 (link_ptx): Use process_GOMP_NVPTX_JIT.
6976
6977 2018-04-26 Richard Biener <rguenther@suse.de>
6978 Tom de Vries <tom@codesourcery.com>
6979
6980 PR lto/85422
6981 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
6982
6983 2018-04-26 Tom de Vries <tom@codesourcery.com>
6984
6985 PR target/85519
6986 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
6987 recursion depth from 25 to 23.
6988 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
6989
6990 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
6991
6992 * configure: Regenerated.
6993
6994 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
6995 Tom de Vries <tom@codesourcery.com>
6996
6997 PR target/85445
6998 * testsuite/libgomp.oacc-c++/ref-1.C: New.
6999
7000 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
7001
7002 PR libgomp/85463
7003 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
7004 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7005 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7006 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7007 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7008 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7009
7010 PR libfortran/85166
7011 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
7012 abort".
7013 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7014
7015 2018-04-19 Jakub Jelinek <jakub@redhat.com>
7016
7017 * configure: Regenerated.
7018
7019 2018-04-18 David Malcolm <dmalcolm@redhat.com>
7020
7021 PR jit/85384
7022 * configure: Regenerate.
7023
7024 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
7025 Tom de Vries <tom@codesourcery.com>
7026
7027 PR middle-end/84955
7028 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7029 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7030
7031 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
7032
7033 PR fortran/83064
7034 PR testsuite/85346
7035 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
7036 test from gfortran.dg to here.
7037
7038 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
7039
7040 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
7041 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
7042
7043 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
7044
7045 PR middle-end/84955
7046 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7047 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7048
7049 2018-04-05 Tom de Vries <tom@codesourcery.com>
7050
7051 PR target/85204
7052 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
7053
7054 2018-03-26 Tom de Vries <tom@codesourcery.com>
7055
7056 PR tree-optimization/85063
7057 * testsuite/libgomp.c/switch-conversion-2.c: New test.
7058 * testsuite/libgomp.c/switch-conversion.c: New test.
7059 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
7060 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
7061
7062 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
7063
7064 PR fortran/84381
7065 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
7066 call abort by STOP n.
7067 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
7068 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
7069 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
7070 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
7071 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
7072 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
7073 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
7074 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
7075 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
7076 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
7077 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
7078 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
7079 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
7080 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
7081 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
7082 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
7083 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
7084 * testsuite/libgomp.fortran/associate1.f90: Likewise.
7085 * testsuite/libgomp.fortran/associate2.f90: Likewise.
7086 * testsuite/libgomp.fortran/associate3.f90: Likewise.
7087 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
7088 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
7089 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
7090 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
7091 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
7092 * testsuite/libgomp.fortran/character1.f90: Likewise.
7093 * testsuite/libgomp.fortran/character2.f90: Likewise.
7094 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
7095 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
7096 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
7097 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
7098 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
7099 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
7100 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
7101 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
7102 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
7103 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
7104 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
7105 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
7106 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
7107 * testsuite/libgomp.fortran/do1.f90: Likewise.
7108 * testsuite/libgomp.fortran/do2.f90: Likewise.
7109 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
7110 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
7111 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
7112 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
7113 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
7114 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
7115 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
7116 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
7117 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
7118 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
7119 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
7120 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
7121 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
7122 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
7123 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
7124 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
7125 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
7126 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
7127 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
7128 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
7129 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
7130 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
7131 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
7132 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
7133 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
7134 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
7135 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
7136 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
7137 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
7138 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
7139 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
7140 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
7141 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
7142 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
7143 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
7144 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
7145 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
7146 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
7147 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
7148 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
7149 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
7150 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
7151 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
7152 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
7153 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
7154 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
7155 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
7156 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
7157 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
7158 * testsuite/libgomp.fortran/lib1.f90: Likewise.
7159 * testsuite/libgomp.fortran/lib2.f: Likewise.
7160 * testsuite/libgomp.fortran/lib3.f: Likewise.
7161 * testsuite/libgomp.fortran/lib4.f90: Likewise.
7162 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
7163 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
7164 * testsuite/libgomp.fortran/nested1.f90: Likewise.
7165 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
7166 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
7167 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
7168 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
7169 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
7170 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
7171 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
7172 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
7173 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
7174 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
7175 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
7176 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
7177 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
7178 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
7179 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
7180 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
7181 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
7182 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
7183 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
7184 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7185 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
7186 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
7187 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
7188 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
7189 * testsuite/libgomp.fortran/pr25162.f: Likewise.
7190 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
7191 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
7192 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
7193 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
7194 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
7195 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
7196 * testsuite/libgomp.fortran/pr28390.f: Likewise.
7197 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
7198 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
7199 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
7200 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
7201 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
7202 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
7203 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
7204 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
7205 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
7206 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
7207 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
7208 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
7209 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
7210 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
7211 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
7212 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
7213 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
7214 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
7215 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
7216 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
7217 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
7218 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
7219 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
7220 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
7221 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
7222 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
7223 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
7224 * testsuite/libgomp.fortran/reference1.f90: Likewise.
7225 * testsuite/libgomp.fortran/reference2.f90: Likewise.
7226 * testsuite/libgomp.fortran/retval1.f90: Likewise.
7227 * testsuite/libgomp.fortran/retval2.f90: Likewise.
7228 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
7229 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
7230 * testsuite/libgomp.fortran/simd1.f90: Likewise.
7231 * testsuite/libgomp.fortran/simd2.f90: Likewise.
7232 * testsuite/libgomp.fortran/simd3.f90: Likewise.
7233 * testsuite/libgomp.fortran/simd4.f90: Likewise.
7234 * testsuite/libgomp.fortran/simd5.f90: Likewise.
7235 * testsuite/libgomp.fortran/simd6.f90: Likewise.
7236 * testsuite/libgomp.fortran/simd7.f90: Likewise.
7237 * testsuite/libgomp.fortran/stack.f90: Likewise.
7238 * testsuite/libgomp.fortran/strassen.f90: Likewise.
7239 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
7240 * testsuite/libgomp.fortran/tabs2.f: Likewise.
7241 * testsuite/libgomp.fortran/target1.f90: Likewise.
7242 * testsuite/libgomp.fortran/target2.f90: Likewise.
7243 * testsuite/libgomp.fortran/target3.f90: Likewise.
7244 * testsuite/libgomp.fortran/target4.f90: Likewise.
7245 * testsuite/libgomp.fortran/target5.f90: Likewise.
7246 * testsuite/libgomp.fortran/target6.f90: Likewise.
7247 * testsuite/libgomp.fortran/target7.f90: Likewise.
7248 * testsuite/libgomp.fortran/target8.f90: Likewise.
7249 * testsuite/libgomp.fortran/task1.f90: Likewise.
7250 * testsuite/libgomp.fortran/task2.f90: Likewise.
7251 * testsuite/libgomp.fortran/task3.f90: Likewise.
7252 * testsuite/libgomp.fortran/task4.f90: Likewise.
7253 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
7254 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
7255 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
7256 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
7257 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
7258 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
7259 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
7260 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
7261 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
7262 * testsuite/libgomp.fortran/udr1.f90: Likewise.
7263 * testsuite/libgomp.fortran/udr10.f90: Likewise.
7264 * testsuite/libgomp.fortran/udr11.f90: Likewise.
7265 * testsuite/libgomp.fortran/udr12.f90: Likewise.
7266 * testsuite/libgomp.fortran/udr13.f90: Likewise.
7267 * testsuite/libgomp.fortran/udr14.f90: Likewise.
7268 * testsuite/libgomp.fortran/udr15.f90: Likewise.
7269 * testsuite/libgomp.fortran/udr2.f90: Likewise.
7270 * testsuite/libgomp.fortran/udr3.f90: Likewise.
7271 * testsuite/libgomp.fortran/udr4.f90: Likewise.
7272 * testsuite/libgomp.fortran/udr5.f90: Likewise.
7273 * testsuite/libgomp.fortran/udr6.f90: Likewise.
7274 * testsuite/libgomp.fortran/udr7.f90: Likewise.
7275 * testsuite/libgomp.fortran/udr8.f90: Likewise.
7276 * testsuite/libgomp.fortran/udr9.f90: Likewise.
7277 * testsuite/libgomp.fortran/vla1.f90: Likewise.
7278 * testsuite/libgomp.fortran/vla2.f90: Likewise.
7279 * testsuite/libgomp.fortran/vla3.f90: Likewise.
7280 * testsuite/libgomp.fortran/vla4.f90: Likewise.
7281 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7282 * testsuite/libgomp.fortran/vla6.f90: Likewise.
7283 * testsuite/libgomp.fortran/vla7.f90: Likewise.
7284 * testsuite/libgomp.fortran/vla8.f90: Likewise.
7285 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
7286 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
7287 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7288 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7289 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7290 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7291 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7292 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7293 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7294 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7295 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7296 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
7297 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7298 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
7299 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
7300 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
7301 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7302 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
7303 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
7304 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
7305 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
7306 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
7307 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
7308 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
7309 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
7310 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7311 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7312 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
7313 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7314 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
7315 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
7316 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7317 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7318 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7319 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7320 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
7321 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
7322 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
7323 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
7324 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
7325 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
7326 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
7327 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
7328 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
7329 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
7330 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
7331 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
7332 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
7333 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
7334 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
7335 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
7336 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
7337 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7338 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7339 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
7340 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
7341 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
7342 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
7343 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
7344 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
7345 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
7346 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
7347 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
7348 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
7349 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
7350 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7351 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
7352 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
7353 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
7354 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7355 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
7356 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
7357 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
7358 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
7359 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
7360 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7361 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7362 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7363 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7364 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7365 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7366 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7367 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
7368 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
7369 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7370 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7371 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7372 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7373 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
7374 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
7375 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
7376 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7377 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7378 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
7379
7380 2018-03-20 Richard Biener <rguenther@suse.de>
7381
7382 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
7383 parallelizable loop.
7384
7385 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
7386
7387 PR target/84148
7388 * configure: Regenerate.
7389
7390 2018-02-16 Jakub Jelinek <jakub@redhat.com>
7391
7392 PR fortran/84418
7393 * libgomp.fortran/pr84418-1.f90: New test.
7394 * libgomp.fortran/pr84418-2.f90: New test.
7395
7396 2018-02-14 Jakub Jelinek <jakub@redhat.com>
7397
7398 PR fortran/84313
7399 * testsuite/libgomp.fortran/threadprivate4.f90: Add
7400 -std=f2003 -fall-intrinsics into dg-additional-options.
7401
7402 2018-02-08 Martin Jambor <mjambor@suse.cz>
7403
7404 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
7405 clonable.
7406
7407 2018-02-08 Martin Jambor <mjambor@suse.cz>
7408
7409 * testsuite/libgomp.hsa.c/staticvar.c: New test.
7410
7411 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7412
7413 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
7414 [__cplusplus]: Declare extern "C".
7415
7416 2018-02-07 Tom de Vries <tom@codesourcery.com>
7417
7418 PR libgomp/84217
7419 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
7420
7421 2018-01-29 Christoph Spiel <cspiel@freenet.de>
7422 Jakub Jelinek <jakub@redhat.com>
7423
7424 PR libgomp/84096
7425 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
7426 instead of omp_lock_t.
7427
7428 2018-01-25 Tom de Vries <tom@codesourcery.com>
7429
7430 PR target/84028
7431 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
7432
7433 2018-01-24 Tom de Vries <tom@codesourcery.com>
7434
7435 PR target/83589
7436 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
7437
7438 2018-01-24 Tom de Vries <tom@codesourcery.com>
7439
7440 PR target/81352
7441 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
7442
7443 2018-01-19 Tom de Vries <tom@codesourcery.com>
7444 Cesar Philippidis <cesar@codesourcery.com>
7445
7446 PR target/83920
7447 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
7448 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
7449
7450 2018-01-03 Jakub Jelinek <jakub@redhat.com>
7451
7452 Update copyright years.
7453
7454 * libgomp.texi: Bump @copying's copyright year.
7455
7456 2017-12-30 Tom de Vries <tom@codesourcery.com>
7457
7458 PR libgomp/83046
7459 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
7460 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
7461
7462 2017-12-27 Tom de Vries <tom@codesourcery.com>
7463
7464 PR c++/83046
7465 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
7466 (test_nonstatic): Fix return type to workaround PR83046.
7467
7468 2017-12-05 Jakub Jelinek <jakub@redhat.com>
7469
7470 PR testsuite/83281
7471 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
7472 j suffix instead of i.
7473 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
7474 Likewise.
7475
7476 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
7477
7478 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
7479 call to acc_wait (1).
7480
7481 2017-11-24 Jakub Jelinek <jakub@redhat.com>
7482
7483 PR fortran/81304
7484 * testsuite/libgomp.fortran/pr81304.f90: New test.
7485
7486 2017-11-23 Jakub Jelinek <jakub@redhat.com>
7487
7488 PR fortran/81841
7489 * libgomp.fortran/pr81841.f90: New test.
7490
7491 2017-11-22 Jakub Jelinek <jakub@redhat.com>
7492
7493 PR libgomp/83106
7494 * target.c (gomp_target_init): Compute lengths just once and
7495 use them in both malloc size and subsequent copying.
7496
7497 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
7498
7499 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
7500 * acinclude.m4: Add cet.m4.
7501 * configure: Regenerate.
7502 * Makefile.in: Likewise.
7503 * testsuite/Makefile.in: Likewise.
7504
7505 2017-11-15 Tom de Vries <tom@codesourcery.com>
7506
7507 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
7508 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
7509 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
7510 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
7511 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
7512 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
7513
7514 2017-11-14 Tom de Vries <tom@codesourcery.com>
7515
7516 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
7517 non-nvidia devices.
7518
7519 2017-11-07 Jakub Jelinek <jakub@redhat.com>
7520
7521 PR c++/82835
7522 * testsuite/libgomp.c++/pr82835.C: New test.
7523
7524 2017-11-06 Martin Liska <mliska@suse.cz>
7525
7526 * testsuite/libgomp.c++/loop-2.C: Return a value
7527 for functions with non-void return type, or change type to void,
7528 or add -Wno-return-type for test.
7529 * testsuite/libgomp.c++/loop-4.C: Likewise.
7530 * testsuite/libgomp.c++/parallel-1.C: Likewise.
7531 * testsuite/libgomp.c++/shared-1.C: Likewise.
7532 * testsuite/libgomp.c++/single-1.C: Likewise.
7533 * testsuite/libgomp.c++/single-2.C: Likewise.
7534
7535 2017-10-31 Tom de Vries <tom@codesourcery.com>
7536
7537 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
7538 "do {} while (false)".
7539 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
7540 after HSA_DEBUG call.
7541
7542 2017-10-28 Jakub Jelinek <jakub@redhat.com>
7543
7544 * target.c (struct gomp_coalesce_buf): New type.
7545 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
7546 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
7547 (gomp_copy_host2dev): Add CBUF argument, if copying into
7548 the cached ranges, memcpy into buffer instead of copying
7549 into device.
7550 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
7551 Add CBUF argument, pass it through to other calls.
7552 (gomp_map_vars): Aggregate copies from host to device if small enough
7553 and with small enough gaps in between into memcpy into a buffer and
7554 fewer host to device copies from the buffer.
7555 (gomp_update): Adjust gomp_copy_host2dev caller.
7556
7557 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
7558
7559 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
7560 run" directive.
7561 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7562 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7563 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7564 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7565
7566 2017-10-16 Tom de Vries <tom@codesourcery.com>
7567
7568 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
7569 openacc_nvidia_accel_selected.
7570 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
7571 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
7572 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
7573 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
7574 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
7575 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
7576 openacc_nvidia_accel_selected. Skip for shared memory device.
7577 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
7578 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
7579
7580 2017-10-09 Martin Jambor <mjambor@suse.cz>
7581
7582 PR hsa/82416
7583 * testsuite/libgomp.hsa.c/pr82416.c: New test.
7584
7585 2017-10-07 Tom de Vries <tom@codesourcery.com>
7586
7587 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
7588 Remove acc_device_nvidia references.
7589 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
7590 Same.
7591
7592 2017-10-05 Tom de Vries <tom@codesourcery.com>
7593
7594 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
7595 vector_length(32) clause from acc parallel directive.
7596 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
7597
7598 2017-10-04 Tom de Vries <tom@codesourcery.com>
7599
7600 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
7601 (main): Reduce sum of arr elements. Assert that hres is exactly
7602 representable in 32-bit floating point.
7603 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
7604 (main): Reduce sum of arr elements. Assert that hres and hmres are
7605 exactly representable in 32-bit floating point.
7606 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
7607
7608 2017-09-28 Tom de Vries <tom@codesourcery.com>
7609
7610 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
7611 setting.
7612 * testsuite/libgomp.c++/pr69393.C: Same.
7613 * testsuite/libgomp.c++/taskloop-1.C: Same.
7614 * testsuite/libgomp.c++/taskloop-3.C: Same.
7615 * testsuite/libgomp.c++/taskloop-4.C: Same.
7616 * testsuite/libgomp.c/for-4.c: Same.
7617 * testsuite/libgomp.c/pr66199-3.c: Same.
7618 * testsuite/libgomp.c/pr66199-4.c: Same.
7619 * testsuite/libgomp.c/pr66199-6.c: Same.
7620 * testsuite/libgomp.c/taskloop-1.c: Same.
7621 * testsuite/libgomp.c/taskloop-3.c: Same.
7622 * testsuite/libgomp.c/taskloop-4.c: Same.
7623 * testsuite/libgomp.fortran/aligned1.f03: Same.
7624 * testsuite/libgomp.fortran/condinc1.f: Same.
7625 * testsuite/libgomp.fortran/condinc3.f90: Same.
7626 * testsuite/libgomp.fortran/crayptr1.f90: Same.
7627 * testsuite/libgomp.fortran/crayptr2.f90: Same.
7628 * testsuite/libgomp.fortran/crayptr3.f90: Same.
7629 * testsuite/libgomp.fortran/omp_cond1.f: Same.
7630 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
7631 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
7632 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
7633 * testsuite/libgomp.fortran/recursion1.f90: Same.
7634 * testsuite/libgomp.fortran/target2.f90: Same.
7635 * testsuite/libgomp.fortran/target5.f90: Same.
7636 * testsuite/libgomp.fortran/task3.f90: Same.
7637
7638 2017-09-28 Tom de Vries <tom@codesourcery.com>
7639
7640 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
7641 vector_length(32) clause from acc parallel directive.
7642 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
7643
7644 2017-09-27 Tom de Vries <tom@codesourcery.com>
7645
7646 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
7647 Remove acc_device_nvidia references.
7648
7649 2017-09-16 Tom de Vries <tom@codesourcery.com>
7650
7651 PR c/81875
7652 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
7653
7654 2017-09-14 Tom de Vries <tom@codesourcery.com>
7655
7656 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
7657 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
7658 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
7659 * testsuite/libgomp.c/c.exp: Include test-cases from
7660 libgomp.c-c++-common.
7661 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
7662 files.
7663
7664 2017-09-14 Jakub Jelinek <jakub@redhat.com>
7665
7666 PR c++/81314
7667 * testsuite/libgomp.c++/pr81314.C: New test.
7668
7669 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
7670
7671 * libgomp.texi (Top): www.openacc.org now uses https.
7672 (Enabling OpenACC): Ditto.
7673 (acc_get_num_devices): Ditto.
7674 (acc_set_device_type): Ditto.
7675 (acc_get_device_type): Ditto.
7676 (acc_set_device_num): Ditto.
7677 (acc_get_device_num): Ditto.
7678 (acc_async_test): Ditto.
7679 (acc_async_test_all): Ditto.
7680 (acc_wait): Ditto.
7681 (acc_wait_all): Ditto.
7682 (acc_wait_all_async): Ditto.
7683 (acc_wait_async): Ditto.
7684 (acc_init): Ditto.
7685 (acc_shutdown): Ditto.
7686 (acc_on_device): Ditto.
7687 (acc_malloc): Ditto.
7688 (acc_free): Ditto.
7689 (acc_copyin): Ditto.
7690 (acc_present_or_copyin): Ditto.
7691 (acc_create): Ditto.
7692 (acc_present_or_create): Ditto.
7693 (acc_copyout): Ditto.
7694 (acc_delete): Ditto.
7695 (acc_update_device): Ditto.
7696 (acc_update_self): Ditto.
7697 (acc_map_data): Ditto.
7698 (acc_unmap_data): Ditto.
7699 (acc_deviceptr): Ditto.
7700 (acc_hostptr): Ditto.
7701 (acc_is_present): Ditto.
7702 (acc_memcpy_to_device): Ditto.
7703 (acc_memcpy_from_device): Ditto.
7704 (acc_get_current_cuda_device): Ditto.
7705 (acc_get_current_cuda_context): Ditto.
7706 (acc_get_cuda_stream): Ditto.
7707 (acc_set_cuda_stream): Ditto.
7708 (ACC_DEVICE_TYPE): Ditto.
7709 (ACC_DEVICE_NUM): Ditto.
7710 (OpenACC Library Interoperability): Ditto.
7711
7712 2017-08-09 Jakub Jelinek <jakub@redhat.com>
7713
7714 PR c/81687
7715 * testsuite/libgomp.c/pr81687-1.c: New test.
7716 * testsuite/libgomp.c/pr81687-2.c: New test.
7717
7718 2017-08-07 Jakub Jelinek <jakub@redhat.com>
7719
7720 PR c/69389
7721 * testsuite/libgomp.c/pr69389.c: New test.
7722 * testsuite/libgomp.c++/pr69389.C: New test.
7723
7724 2017-08-07 Tom de Vries <tom@codesourcery.com>
7725
7726 PR middle-end/78266
7727 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
7728 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
7729
7730 2017-07-27 Jakub Jelinek <jakub@redhat.com>
7731
7732 PR c/45784
7733 * testsuite/libgomp.c/pr45784.c: New test.
7734 * testsuite/libgomp.c++/pr45784.C: New test.
7735
7736 2017-07-19 Tom de Vries <tom@codesourcery.com>
7737
7738 * testsuite/libgomp.oacc-c/vec.c: New test.
7739
7740 2017-07-03 Tom de Vries <tom@codesourcery.com>
7741
7742 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
7743
7744 2017-06-27 Tom de Vries <tom@codesourcery.com>
7745
7746 * plugin/plugin-nvptx.c (notify_var): New function.
7747 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
7748
7749 2017-06-27 Tom de Vries <tom@codesourcery.com>
7750
7751 * env.c (parse_unsigned_long_1): Factor out of ...
7752 (parse_unsigned_long): ... here.
7753 (parse_int_1): Factor out of ...
7754 (parse_int): ... here.
7755 (parse_int_secure): New function.
7756 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
7757 * secure_getenv.h: Factor out of ...
7758 * plugin/plugin-hsa.c: ... here.
7759 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
7760
7761 2017-06-21 Jakub Jelinek <jakub@redhat.com>
7762
7763 PR c++/81130
7764 * testsuite/libgomp.c++/pr81130.C: New test.
7765
7766 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7767
7768 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
7769 default args.
7770 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
7771 dg-xfail-run-if default args.
7772
7773 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
7774
7775 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
7776 * testsuite/libgomp.c/pr39591-3.c: Likewise.
7777
7778 2017-05-30 Jakub Jelinek <jakub@redhat.com>
7779
7780 PR libgomp/80822
7781 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
7782 (gomp_affinity_init_level): Use it. Always analyze the core and thread
7783 sibling lists, depending on level just pick up what CPUs to put
7784 together into a place vs. whether add multiple ordered places.
7785
7786 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
7787
7788 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
7789 * libgomp.map (OACC_2.0.1): Add these.
7790 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
7791 for "acc_wait", and "acc_wait_all", respectively.
7792 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
7793 for "acc_wait", and "acc_wait_all", respectively.
7794 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
7795 * libgomp.texi (acc_wait, acc_wait_all): Update.
7796 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
7797 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
7798 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
7799
7800 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
7801 acc_present_or_copyin and acc_present_or_create procedures,
7802 respectively.
7803 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
7804 generally different variants of OpenACC Runtime Library functions.
7805 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7806
7807 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
7808 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7809
7810 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
7811 of preprocessor definitions.
7812 * libgomp.h (strong_alias): Guard by "#ifdef
7813 HAVE_ATTRIBUTE_ALIAS".
7814 * oacc-mem.c: Provide "acc_pcreate" as alias for
7815 "acc_present_or_create", and "acc_pcopyin" as alias for
7816 "acc_present_or_copyin".
7817 * libgomp.map: New version "OACC_2.0.1".
7818 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
7819 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
7820 its content into...
7821 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
7822 Extend testing.
7823
7824 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
7825 when disabling nvptx offloading.
7826
7827 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
7828
7829 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
7830 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
7831 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
7832
7833 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
7834 * testsuite/lib/libgomp.exp
7835 (check_effective_target_openacc_nvidia_accel_configured): New
7836 proc.
7837 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
7838 (check_effective_target_c++): New procs.
7839 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
7840 (check_effective_target_c++): Likewise.
7841
7842 2017-05-22 Jakub Jelinek <jakub@redhat.com>
7843
7844 PR middle-end/80809
7845 * testsuite/libgomp.c/pr80809-2.c: New test.
7846 * testsuite/libgomp.c/pr80809-3.c: New test.
7847
7848 PR middle-end/80809
7849 * testsuite/libgomp.c/pr80809-1.c: New test.
7850
7851 PR middle-end/80853
7852 * testsuite/libgomp.c/pr80853.c: New test.
7853
7854 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
7855
7856 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
7857 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
7858 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7859 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
7860 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
7861
7862 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
7863 Debug output for failure.
7864
7865 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7866
7867 * testsuite/lib/libgomp.exp: Load scanlang.exp.
7868
7869 2017-04-27 Jakub Jelinek <jakub@redhat.com>
7870
7871 PR bootstrap/80531
7872 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
7873 bootstrap compare failures.
7874
7875 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
7876
7877 * testsuite/libgomp.c/target-36.c: New testcase.
7878
7879 2017-04-13 Jakub Jelinek <jakub@redhat.com>
7880
7881 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
7882 instead of char.
7883
7884 2017-04-11 Jakub Jelinek <jakub@redhat.com>
7885
7886 PR libgomp/80394
7887 * testsuite/libgomp.c/pr80394.c: New test.
7888
7889 2017-04-04 Jakub Jelinek <jakub@redhat.com>
7890
7891 PR libgomp/79876
7892 * config/posix/thread-stacksize.h: New file.
7893 * config/darwin/thread-stacksize.h: New file.
7894 * config/nvptx/thread-stacksize.h: New file.
7895 * env.c: Include thread-stacksize.h.
7896 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
7897 instead of 0. Call pthread_attr_setstacksize even if
7898 GOMP_DEFAULT_STACKSIZE is non-zero.
7899
7900 2017-03-30 Jakub Jelinek <jakub@redhat.com>
7901
7902 * env.c (initialize_env): Initialize stacksize to 0.
7903
7904 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
7905
7906 PR c++/80029
7907 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
7908
7909 2017-03-08 Jakub Jelinek <jakub@redhat.com>
7910
7911 PR c/79940
7912 * testsuite/libgomp.c/pr79940.c: New test.
7913
7914 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7915
7916 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
7917 targets.
7918 Add __float128 options.
7919
7920 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
7921
7922 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
7923 hppa*-*-* dg-skip-if directive.
7924
7925 2017-02-09 Jakub Jelinek <jakub@redhat.com>
7926
7927 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
7928 dg-skip-if directive into a comment.
7929
7930 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
7931 Chung-Lin Tang <cltang@codesourcery.com>
7932
7933 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
7934 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
7935 add additional case.
7936 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
7937 "openacc_nvidia_accel_selected".
7938 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
7939 Add num_workers(8) clause.
7940
7941 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
7942
7943 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
7944 hppa*-*-*.
7945 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
7946 include complex.h on hppa*-*-hpux*.
7947 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
7948
7949 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
7950
7951 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
7952
7953 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
7954 GOMP_OFFLOAD_openacc_exec. Adjust all users.
7955 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
7956 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
7957 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
7958 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
7959 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
7960 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
7961 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
7962 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
7963
7964 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
7965
7966 * libgomp-plugin.h: #include <stdbool.h>.
7967 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
7968 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
7969 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
7970 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
7971 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
7972 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
7973 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
7974 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
7975 (GOMP_OFFLOAD_openacc_register_async_cleanup)
7976 (GOMP_OFFLOAD_openacc_async_test)
7977 (GOMP_OFFLOAD_openacc_async_test_all)
7978 (GOMP_OFFLOAD_openacc_async_wait)
7979 (GOMP_OFFLOAD_openacc_async_wait_async)
7980 (GOMP_OFFLOAD_openacc_async_wait_all)
7981 (GOMP_OFFLOAD_openacc_async_wait_all_async)
7982 (GOMP_OFFLOAD_openacc_async_set_async)
7983 (GOMP_OFFLOAD_openacc_create_thread_data)
7984 (GOMP_OFFLOAD_openacc_destroy_thread_data)
7985 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
7986 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
7987 (GOMP_OFFLOAD_openacc_get_cuda_stream)
7988 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
7989 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
7990 these.
7991 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
7992 (GOMP_OFFLOAD_unload_image): Fix argument types.
7993
7994 2017-01-26 Jakub Jelinek <jakub@redhat.com>
7995
7996 * testsuite/lib/libgomp.exp
7997 (check_effective_target_hsa_offloading_selected_nocache): Fix up
7998 check_compile invocation. Fix up removal of executable. Drop
7999 bogus "2>&1" argument.
8000
8001 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
8002 directive.
8003
8004 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
8005 Martin Jambor <mjambor@suse.cz>
8006
8007 * plugin/hsa.h: Moved to top level include.
8008 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
8009
8010 2017-01-21 Jakub Jelinek <jakub@redhat.com>
8011
8012 PR other/79046
8013 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
8014 of cat to get version from BASE-VER file.
8015 * testsuite/Makefile.in: Regenerated.
8016
8017 2017-01-19 Jakub Jelinek <jakub@redhat.com>
8018
8019 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
8020 for _WIN64.
8021
8022 2017-01-17 Jakub Jelinek <jakub@redhat.com>
8023
8024 * plugin/hsa.h: Add GCC runtime library exception.
8025 * plugin/hsa_ext_finalize.h: Likewise.
8026
8027 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
8028 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
8029 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
8030 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
8031 plugin/include/cuda as include dir and -ldl instead of -lcuda as
8032 library to link ptx plugin against.
8033 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
8034 (CUDA_CALLS): Define.
8035 (cuda_lib, cuda_lib_inited): New variables.
8036 (init_cuda_lib): New function.
8037 (CUDA_CALL_PREFIX): Define.
8038 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
8039 (CUDA_CALL): Use FN instead of (FN).
8040 (CUDA_CALL_NOCHECK): Define.
8041 (cuda_error, fini_streams_for_device, select_stream_for_async,
8042 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
8043 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
8044 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
8045 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
8046 CUDA_CALL_NOCHECK.
8047 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
8048 CUDA_CALL_NOCHECK.
8049 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
8050 Use CUDA_CALL_NOCHECK.
8051 * plugin/cuda/cuda.h: New file.
8052 * config.h.in: Regenerated.
8053 * configure: Regenerated.
8054
8055 PR other/79046
8056 * configure.ac: Add GCC_BASE_VER.
8057 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
8058 get version from BASE-VER file.
8059 * testsuite/Makefile.in: Regenerated.
8060 * configure: Regenerated.
8061 * Makefile.in: Regenerated.
8062
8063 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8064
8065 PR libgomp/60670
8066 * Makefile.am: Make fincludedir multilib-aware.
8067 * Makefile.in: Regenerate.
8068
8069 2017-01-01 Jakub Jelinek <jakub@redhat.com>
8070
8071 Update copyright years.
8072
8073 * libgomp.texi: Bump @copying's copyright year.
8074
8075 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
8076
8077 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
8078 pthread_spinlock_t instead of gomp_mutex_t lock.
8079 (gomp_get_thread_pool): Likewise.
8080 (gomp_release_thread_pool): Likewise.
8081 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
8082 Likewise.
8083
8084 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
8085
8086 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
8087 thread pool in case nthreads == 1.
8088
8089 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
8090
8091 * config/nvptx/env.c: Delete.
8092 * icv.c: Move definitions of ICV variables back ...
8093 * env.c: ...here. Do not compile environment-related functionality if
8094 LIBGOMP_OFFLOADED_ONLY is set.
8095
8096 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
8097
8098 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
8099 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
8100 * configure: Regenerate.
8101 * config.h.in: Likewise.
8102
8103 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
8104
8105 * Makefile.in: Regenerate with automake-1.11.6.
8106 * aclocal.m4: Likewise.
8107 * configure: Likewise.
8108 * testsuite/Makefile.in: Likewise.
8109
8110 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
8111
8112 * config/nvptx/critical.c: Delete to use generic implementation.
8113
8114 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
8115
8116 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
8117 ../../affinity.c as fallback.
8118 * config/nvptx/affinity.c: Delete to use fallback implementation.
8119
8120 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
8121 Jakub Jelinek <jakub@redhat.com>
8122 Dmitry Melnik <dm@ispras.ru>
8123
8124 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
8125 * Makefile.in. Regenerate.
8126 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
8127 (LIBGOMP_USE_PTHREADS): ...here; new define.
8128 * configure: Regenerate.
8129 * config.h.in: Likewise.
8130 * config/posix/affinity.c: Move to...
8131 * affinity.c: ...here (new file). Guard use of Pthreads-specific
8132 interface by LIBGOMP_USE_PTHREADS.
8133 * critical.c: Split out GOMP_atomic_{start,end} into...
8134 * atomic.c: ...here (new file).
8135 * env.c: Split out ICV definitions into...
8136 * icv.c: ...here (new file) and...
8137 * icv-device.c: ...here. New file.
8138 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
8139 (gomp_destroy_lock_30): Ditto.
8140 (gomp_set_lock_30): Ditto.
8141 (gomp_unset_lock_30): Ditto.
8142 (gomp_test_lock_30): Ditto.
8143 (gomp_init_nest_lock_30): Ditto.
8144 (gomp_destroy_nest_lock_30): Ditto.
8145 (gomp_set_nest_lock_30): Ditto.
8146 (gomp_unset_nest_lock_30): Ditto.
8147 (gomp_test_nest_lock_30): Ditto.
8148 * lock.c: New.
8149 * config/nvptx/lock.c: New.
8150 * config/nvptx/bar.c: New.
8151 * config/nvptx/bar.h: New.
8152 * config/nvptx/doacross.h: New.
8153 * config/nvptx/error.c: New.
8154 * config/nvptx/icv-device.c: New.
8155 * config/nvptx/mutex.h: New.
8156 * config/nvptx/pool.h: New.
8157 * config/nvptx/proc.c: New.
8158 * config/nvptx/ptrlock.h: New.
8159 * config/nvptx/sem.h: New.
8160 * config/nvptx/simple-bar.h: New.
8161 * config/nvptx/target.c: New.
8162 * config/nvptx/task.c: New.
8163 * config/nvptx/team.c: New.
8164 * config/nvptx/time.c: New.
8165 * config/posix/simple-bar.h: New.
8166 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
8167 (gomp_num_teams_var): Declare.
8168 (struct gomp_thread_pool): Change threads_dock member to
8169 gomp_simple_barrier_t.
8170 [__nvptx__] (gomp_thread): New implementation.
8171 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
8172 (gomp_thread_destructor): Ditto.
8173 (gomp_init_thread_affinity): Ditto.
8174 * team.c: Guard uses of Pthreads-specific interfaces by
8175 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
8176 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
8177 * config/nvptx/alloc.c: Delete.
8178 * config/nvptx/barrier.c: Ditto.
8179 * config/nvptx/fortran.c: Ditto.
8180 * config/nvptx/iter.c: Ditto.
8181 * config/nvptx/iter_ull.c: Ditto.
8182 * config/nvptx/loop.c: Ditto.
8183 * config/nvptx/loop_ull.c: Ditto.
8184 * config/nvptx/ordered.c: Ditto.
8185 * config/nvptx/parallel.c: Ditto.
8186 * config/nvptx/priority_queue.c: Ditto.
8187 * config/nvptx/sections.c: Ditto.
8188 * config/nvptx/single.c: Ditto.
8189 * config/nvptx/splay-tree.c: Ditto.
8190 * config/nvptx/work.c: Ditto.
8191 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
8192 -foffload=-lgfortran in addition to -lgfortran.
8193 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
8194 * plugin/plugin-nvptx.c: Include <limits.h>.
8195 (struct targ_fn_descriptor): Add new fields.
8196 (struct ptx_device): Ditto. Set them...
8197 (nvptx_open_device): ...here.
8198 (nvptx_adjust_launch_bounds): New.
8199 (nvptx_host2dev): Allow NULL 'nvthd'.
8200 (nvptx_dev2host): Ditto.
8201 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
8202 (link_ptx): Adjust log sizes.
8203 (nvptx_host2dev): Allow NULL 'nvthd'.
8204 (nvptx_dev2host): Ditto.
8205 (nvptx_set_clocktick): New. Use it...
8206 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
8207 fields.
8208 (GOMP_OFFLOAD_dev2dev): New.
8209 (nvptx_adjust_launch_bounds): New.
8210 (nvptx_stacks_size): New.
8211 (nvptx_stacks_alloc): New.
8212 (nvptx_stacks_free): New.
8213 (GOMP_OFFLOAD_run): New.
8214 (GOMP_OFFLOAD_async_run): New (stub).
8215
8216 2016-11-23 Martin Jambor <mjambor@suse.cz>
8217
8218 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
8219 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
8220 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8221
8222 2016-11-23 Martin Liska <mliska@suse.cz>
8223 Martin Jambor <mjambor@suse.cz>
8224
8225 * plugin/hsa.h: New file.
8226 * plugin/hsa_ext_finalize.h: New file.
8227 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
8228 header file unistd.h, and functions secure_getenv, __secure_getenv,
8229 getuid, geteuid, getgid and getegid.
8230 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
8231 -D_GNU_SOURCE.
8232 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
8233 Handle various cases of secure_getenv presence, add an implementation
8234 when we can test effective UID and GID.
8235 (struct hsa_runtime_fn_info): New structure.
8236 (hsa_runtime_fn_info hsa_fns): New variable.
8237 (hsa_runtime_lib): Likewise.
8238 (support_cpu_devices): Likewise.
8239 (init_enviroment_variables): Load newly introduced ENV
8240 variables.
8241 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
8242 (hsa_fatal): Likewise.
8243 (DLSYM_FN): New macro.
8244 (init_hsa_runtime_functions): New function.
8245 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
8246 structure. Depending on environment, also allow CPU devices.
8247 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
8248 (get_kernarg_memory_region): Likewise.
8249 (GOMP_OFFLOAD_init_device): Likewise.
8250 (destroy_hsa_program): Likewise.
8251 (init_basic_kernel_info): New function.
8252 (GOMP_OFFLOAD_load_image): Use it.
8253 (create_and_finalize_hsa_program): Call hsa run-time functions via
8254 hsa_fns structure.
8255 (create_single_kernel_dispatch): Likewise.
8256 (release_kernel_dispatch): Likewise.
8257 (init_single_kernel): Likewise.
8258 (parse_target_attributes): Allow up multiple HSA grid dimensions.
8259 (get_group_size): New function.
8260 (run_kernel): Likewise.
8261 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
8262 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
8263 structure.
8264 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
8265 * testsuite/libgomp-test-support.exp.in: Likewise.
8266 * Makefile.in: Regenerated.
8267 * aclocal.m4: Likewise.
8268 * config.h.in: Likewise.
8269 * configure: Likewise.
8270 * testsuite/Makefile.in: Likewise.
8271
8272 2016-11-15 Martin Jambor <mjambor@suse.cz>
8273 Alexander Monakov <amonakov@ispras.ru>
8274
8275 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
8276 mapping clauses to target constructs.
8277 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
8278
8279 2016-11-15 Matthias Klose <doko@ubuntu.com>
8280
8281 * configure: Regenerate.
8282
8283 2016-11-10 Jakub Jelinek <jakub@redhat.com>
8284
8285 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
8286 * omp_lib.h.in (openmp_version): Likewise.
8287 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
8288 of 201307.
8289 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8290
8291 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
8292 (fib_wrapper): Add map(from: x) clause.
8293 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
8294 (e_53_2): Likewise.
8295 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
8296 (accum): Add map(tmp) clause.
8297 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
8298 (accum): Add map(tofrom: tmp) clause.
8299 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
8300 (gramSchmidt): Likewise.
8301 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
8302 map(tofrom: sum) clause.
8303 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
8304 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
8305 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
8306 only allowed on the loop iterator.
8307 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
8308 * testsuite/libgomp.fortran/taskloop2.f90: New test.
8309 * testsuite/libgomp.fortran/taskloop4.f90: New test.
8310 * testsuite/libgomp.fortran/doacross1.f90: New test.
8311 * testsuite/libgomp.fortran/doacross3.f90: New test.
8312 * testsuite/libgomp.fortran/taskloop1.f90: New test.
8313 * testsuite/libgomp.fortran/taskloop3.f90: New test.
8314 * testsuite/libgomp.fortran/doacross2.f90: New test.
8315 * testsuite/libgomp.c/doacross-1.c (main): Add missing
8316 #pragma omp atomic read.
8317 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
8318 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
8319
8320 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
8321 Nathan Sidwell <nathan@acm.org>
8322
8323 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
8324 to determine default geometry.
8325 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
8326 dimension.
8327
8328 2016-11-01 Jakub Jelinek <jakub@redhat.com>
8329
8330 * hashtab.h: Use standard GPLv3 with runtime exception
8331 boilerplate.
8332
8333 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
8334
8335 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
8336 size when allocating new thread.
8337
8338 2016-09-14 Marek Polacek <polacek@redhat.com>
8339
8340 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
8341
8342 2016-08-19 Jakub Jelinek <jakub@redhat.com>
8343
8344 PR fortran/71014
8345 * testsuite/libgomp.fortran/pr71014.f90: New test.
8346
8347 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
8348
8349 PR middle-end/70895
8350 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
8351 firstprivate clauses.
8352 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
8353 copy clauses.
8354 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
8355 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8356 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
8357 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8358 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
8359 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8360 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
8361 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
8362 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
8363 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
8364 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
8365 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
8366
8367 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
8368
8369 PR fortran/70598
8370 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
8371
8372 2016-08-08 Jakub Jelinek <jakub@redhat.com>
8373
8374 PR c++/58706
8375 * testsuite/libgomp.c++/pr58706.C: New test.
8376
8377 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
8378
8379 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
8380 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
8381 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
8382 Likewise.
8383 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
8384 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
8385 Likewise.
8386 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
8387
8388 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
8389 test, and don't hardcode -O0.
8390
8391 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
8392
8393 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
8394
8395 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
8396
8397 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
8398 test.
8399
8400 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
8401
8402 PR middle-end/71734
8403 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
8404 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
8405
8406 2016-07-01 Jakub Jelinek <jakub@redhat.com>
8407
8408 PR fortran/71717
8409 * testsuite/libgomp.fortran/associate3.f90: New test.
8410
8411 2016-06-17 Jakub Jelinek <jakub@redhat.com>
8412
8413 * testsuite/libgomp.c++/target-21.C: New test.
8414
8415 2016-06-16 Jakub Jelinek <jakub@redhat.com>
8416
8417 * testsuite/libgomp.c++/target-20.C: New test.
8418
8419 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
8420 Cesar Philippidis <cesar@codesourcery.com>
8421
8422 PR middle-end/71373
8423 * libgomp.oacc-c/nested-function-1.c: New file.
8424 * libgomp.oacc-c/nested-function-2.c: Likewise.
8425 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8426 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8427 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8428
8429 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
8430
8431 PR c/71381
8432 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
8433 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
8434 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
8435
8436 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
8437
8438 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
8439 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
8440
8441 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
8442
8443 PR c/70688
8444 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
8445
8446 2016-05-26 Jakub Jelinek <jakub@redhat.com>
8447
8448 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
8449 instead of invalid schedule(static, 0).
8450 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
8451
8452 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
8453
8454 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
8455 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
8456 parameter, use to set async stream around call to gomp_unmap_vars,
8457 call gomp_unmap_vars() with 'do_copyfrom' set to true.
8458 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
8459 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
8460 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
8461 (event_add): Add int parameter, initialize 'val' field when
8462 adding new ptx_event struct.
8463 (nvptx_evec): Adjust event_add() call arguments.
8464 (nvptx_host2dev): Likewise.
8465 (nvptx_dev2host): Likewise.
8466 (nvptx_wait_async): Likewise.
8467 (nvptx_wait_all_async): Likewise.
8468 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
8469 pass to event_add() call.
8470 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
8471 parameter.
8472 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
8473 call openacc.register_async_cleanup_func() hook.
8474 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
8475 * target.c (gomp_copy_from_async): Delete function.
8476 (gomp_map_vars): Remove async_refcount.
8477 (gomp_unmap_vars): Likewise.
8478 (gomp_load_image_to_device): Likewise.
8479 (omp_target_associate_ptr): Likewise.
8480 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
8481 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
8482 (gomp_copy_from_async): Remove.
8483
8484 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
8485
8486 * target.c (gomp_device_copy): New function.
8487 (gomp_copy_host2dev): Likewise.
8488 (gomp_copy_dev2host): Likewise.
8489 (gomp_free_device_memory): Likewise.
8490 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
8491 (gomp_map_pointer): Likewise.
8492 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
8493 NULL value from alloc_func plugin hook.
8494 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
8495 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
8496 (gomp_unmap_vars): Likewise.
8497 (gomp_update): Adjust to call gomp_copy_dev2host and
8498 gomp_copy_host2dev functions.
8499 (gomp_unload_image_from_device): Handle false value from
8500 unload_image_func plugin hook.
8501 (gomp_init_device): Handle false value from init_device_func
8502 plugin hook.
8503 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
8504 (omp_target_free): Adjust to call gomp_free_device_memory.
8505 (omp_target_memcpy): Handle return values from host2dev_func,
8506 dev2host_func, and dev2dev_func plugin hooks.
8507 (omp_target_memcpy_rect_worker): Likewise.
8508 (gomp_target_fini): Handle false value from fini_device_func
8509 plugin hook.
8510 * libgomp.h (struct gomp_device_descr): Adjust return type of
8511 init_device_func, fini_device_func, unload_image_func, free_func,
8512 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
8513 * oacc-init.c (acc_shutdown_1): Handle false value from
8514 fini_device_func plugin hook.
8515 * oacc-host.c (host_init_device): Change return type to bool.
8516 (host_fini_device): Likewise.
8517 (host_unload_image): Likewise.
8518 (host_free): Likewise.
8519 (host_dev2host): Likewise.
8520 (host_host2dev): Likewise.
8521 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
8522 (acc_memcpy_to_device): Likewise.
8523 (acc_memcpy_from_device): Likewise.
8524 (delete_copyout): Add libfnname parameter, handle free_func
8525 hook fatal error case.
8526 (acc_delete): Adjust delete_copyout call.
8527 (acc_copyout): Likewise.
8528 (update_dev_host): Move gomp_mutex_unlock to after
8529 host2dev/dev2host hook calls.
8530
8531 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
8532 to 'hsa_error_msg', for clarity.
8533 (hsa_fatal): Likewise.
8534 (hsa_error): New function.
8535 (init_hsa_context): Change return type to bool, adjust to return
8536 false on error.
8537 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
8538 return value.
8539 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
8540 return false on error.
8541 (get_agent_info): Adjust to return NULL on error.
8542 (destroy_hsa_program): Change return type to bool, adjust to
8543 return false on error.
8544 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
8545 (destroy_module): Change return type to bool, adjust to
8546 return false on error.
8547 (GOMP_OFFLOAD_unload_image): Likewise.
8548 (GOMP_OFFLOAD_fini_device): Likewise.
8549 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
8550 (GOMP_OFFLOAD_free): Change to return false when called.
8551 (GOMP_OFFLOAD_dev2host): Likewise.
8552 (GOMP_OFFLOAD_host2dev): Likewise.
8553 (GOMP_OFFLOAD_dev2dev): Likewise.
8554
8555 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
8556 (CUDA_CALL): Likewise.
8557 (CUDA_CALL_ASSERT): Likewise.
8558 (map_init): Change return type to bool, use CUDA_CALL* macros.
8559 (map_fini): Likewise.
8560 (init_streams_for_device): Change return type to bool, adjust
8561 call to map_init.
8562 (fini_streams_for_device): Change return type to bool, adjust
8563 call to map_fini.
8564 (select_stream_for_async): Release stream_lock before calls to
8565 GOMP_PLUGIN_fatal, adjust call to map_init.
8566 (nvptx_init): Use CUDA_CALL* macros.
8567 (nvptx_attach_host_thread_to_device): Change return type to bool,
8568 use CUDA_CALL* macros.
8569 (nvptx_open_device): Use CUDA_CALL* macros.
8570 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
8571 macros.
8572 (nvptx_get_num_devices): Use CUDA_CALL* macros.
8573 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
8574 (nvptx_exec): Use CUDA_CALL* macros.
8575 (nvptx_alloc): Use CUDA_CALL* macros.
8576 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
8577 (nvptx_host2dev): Likewise.
8578 (nvptx_dev2host): Likewise.
8579 (nvptx_wait): Use CUDA_CALL* macros.
8580 (nvptx_wait_async): Likewise.
8581 (nvptx_wait_all): Likewise.
8582 (nvptx_wait_all_async): Likewise.
8583 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
8584 use CUDA_CALL* macros, adjust call to map_fini.
8585 (GOMP_OFFLOAD_init_device): Change return type to bool,
8586 adjust code accordingly.
8587 (GOMP_OFFLOAD_fini_device): Likewise.
8588 (GOMP_OFFLOAD_load_image): Adjust calls to
8589 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
8590 use CUDA_CALL* macros.
8591 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
8592 return code.
8593 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
8594 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
8595 handle error return.
8596 (GOMP_OFFLOAD_dev2host): Likewise.
8597 (GOMP_OFFLOAD_host2dev): Likewise.
8598 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
8599 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
8600
8601 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
8602
8603 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
8604 (acc_free): Likewise.
8605 (acc_memcpy_to_device): Likewise.
8606 (acc_memcpy_from_device): Likewise.
8607 (acc_deviceptr): Likewise.
8608 (acc_hostptr): Likewise.
8609 (acc_is_present): Likewise.
8610 (acc_map_data): Likewise.
8611 (acc_unmap_data): Likewise.
8612 (present_create_copy): Likewise.
8613 (delete_copyout): Likewise.
8614 (update_dev_host): Likewise.
8615 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
8616 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
8617 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
8618 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8619 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
8620 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
8621 it only runs on nvptx targets.
8622 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8623 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8624 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8625 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8626 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8627 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8628 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8629 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8630 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8631 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8632 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8633 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8634 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8635 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8636 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8637 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8638 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8639 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8640 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8641 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8642 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8643 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8644 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8645
8646 2016-05-23 Martin Jambor <mjambor@suse.cz>
8647
8648 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
8649
8650 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
8651
8652 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
8653 to gomp_init_targets_once.
8654 (acc_set_device_type): Remove !cached_base_dev condition on call to
8655 gomp_init_targets_once, move call to before acc_device_lock acquire,
8656 to avoid deadlock.
8657 (acc_get_device_num): Remove !cached_base_dev condition on call to
8658 gomp_init_targets_once.
8659 (acc_set_device_num): Likewise.
8660
8661 2016-05-16 Martin Jambor <mjambor@suse.cz>
8662
8663 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
8664
8665 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
8666
8667 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
8668 expected partitioning.
8669
8670 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
8671
8672 PR middle-end/70626
8673 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
8674 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
8675 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
8676
8677 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
8678
8679 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
8680 non-fatal.
8681
8682 2016-04-19 Jakub Jelinek <jakub@redhat.com>
8683
8684 PR middle-end/70680
8685 * testsuite/libgomp.c/pr70680-1.c: New test.
8686 * testsuite/libgomp.c/pr70680-2.c: New test.
8687
8688 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
8689
8690 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
8691 pass parameter variables to subroutines.
8692
8693 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
8694
8695 PR middle-end/70643
8696 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
8697
8698 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
8699
8700 PR testsuite/68242
8701 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
8702 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8703
8704 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
8705
8706 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
8707 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
8708 GOACC_declare prototype.
8709
8710 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
8711 Merge this file, and...
8712 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
8713 ... this file, and...
8714 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
8715 ... this file, and...
8716 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
8717 ... this file, and...
8718 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
8719 ... this file, and...
8720 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
8721 ... this file, and...
8722 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
8723 ... this file, and...
8724 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
8725 ... this file, and...
8726 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
8727 ... this file, and...
8728 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
8729 ... this file, and...
8730 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
8731 ... this file, and...
8732 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
8733 ... this file, and...
8734 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
8735 ... this file into...
8736 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
8737 file.
8738
8739 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8740 Make failure observable.
8741
8742 2016-04-12 Jakub Jelinek <jakub@redhat.com>
8743
8744 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
8745 field.
8746 * target.c (gomp_target_fallback_firstprivate,
8747 gomp_target_unshare_firstprivate): Removed.
8748 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
8749 before waiting for dependencies.
8750 (gomp_target_task_fn): Don't copy firstprivate vars here.
8751 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
8752 firstprivate_copies here.
8753 (gomp_create_target_task): Don't initialize firstprivate_copies field.
8754 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
8755 explicit/implicit firstprivate.
8756
8757 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
8758
8759 PR lto/70289
8760 PR ipa/70348
8761 PR tree-optimization/70373
8762 PR middle-end/70533
8763 PR middle-end/70534
8764 PR middle-end/70535
8765 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
8766 test.
8767 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
8768 test.
8769 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
8770 test.
8771 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
8772 test.
8773 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
8774 test.
8775 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
8776 test.
8777 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
8778 test.
8779 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
8780 test.
8781 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
8782 test.
8783 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
8784 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
8785 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
8786 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
8787 test.
8788 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
8789 test.
8790 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
8791 test.
8792 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
8793 test.
8794 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
8795 coverage.
8796 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
8797 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8798 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
8799 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
8800 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
8801 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
8802 coverage.
8803 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8804 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8805 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8806 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8807 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
8808 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
8809 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
8810 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
8811 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
8812 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8813 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8814 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8815 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8816 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8817 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
8818
8819 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
8820 James Norris <jnorris@codesourcery.com>
8821 Nathan Sidwell <nathan@codesourcery.com>
8822 Julian Brown <julian@codesourcery.com>
8823 Cesar Philippidis <cesar@codesourcery.com>
8824 Chung-Lin Tang <cltang@codesourcery.com>
8825 Tom de Vries <tom@codesourcery.com>
8826
8827 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
8828 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8829 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8830 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
8831 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8832 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8833 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8834 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8835 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8836 XFAIL.
8837 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
8838 Incorporate...
8839 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
8840 file.
8841 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
8842 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
8843 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
8844 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
8845 Likewise.
8846 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
8847 Likewise.
8848 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
8849 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
8850 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
8851 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
8852 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8853 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8854 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8855 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8856 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8857 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
8858 Likewise.
8859 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
8860 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8861 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
8862 file...
8863 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
8864 file into...
8865 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
8866 file. Update.
8867 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
8868 file.
8869 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
8870 Likewise.
8871 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
8872 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
8873 ... this new file. Update.
8874 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
8875 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
8876 ... this new file. Update.
8877 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
8878 file. Incorporate...
8879 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
8880 file, and...
8881 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
8882 file, and...
8883 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
8884 file.
8885 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
8886
8887 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
8888
8889 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
8890 set-torture-options.
8891
8892 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
8893
8894 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
8895 gcc-dg-runtest.
8896 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8897 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
8898 -fno-builtin-acc_on_device instead of -O0.
8899 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
8900 -O0.
8901 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
8902 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
8903 Likewise.
8904 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
8905 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
8906 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
8907 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
8908 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
8909 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
8910 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
8911 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
8912 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
8913 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
8914 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
8915 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
8916 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
8917 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
8918 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
8919 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
8920 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
8921 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
8922 Don't specify -O2.
8923 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
8924 Likewise.
8925 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
8926 Likewise.
8927
8928 2016-03-24 Martin Liska <mliska@suse.cz>
8929
8930 * plugin/plugin-hsa.c (packet_store_release): New function
8931 that is taken from the HSA runtime manual.
8932 (GOMP_OFFLOAD_run): Use the function.
8933
8934 2016-03-23 Jakub Jelinek <jakub@redhat.com>
8935
8936 PR c++/70376
8937 * testsuite/libgomp.c++/pr70376.C: New test.
8938
8939 2016-03-23 Tom de Vries <tom@codesourcery.com>
8940
8941 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
8942 initialization of lresult and lvresult.
8943 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
8944
8945 2016-03-23 James Norris <jnorris@codesourcery.com>
8946 Daichi Fukuoka <dc-fukuoka@sgi.com>
8947
8948 PR libgomp/69414
8949 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
8950 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
8951 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8952 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
8953
8954 2016-03-23 Martin Liska <mliska@suse.cz>
8955
8956 PR hsa/70337
8957 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
8958 argument just in case a dispatched kernel uses that argument.
8959
8960 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
8961
8962 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
8963 -ftree-parallelize-loops/-fopenacc changes.
8964 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
8965 Likewise.
8966 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
8967 Likewise.
8968 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
8969 Likewise.
8970 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
8971 Likewise.
8972 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8973 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8974
8975 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
8976
8977 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
8978 always_ld_library_path the path to libgcc_s.
8979
8980 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
8981
8982 PR testsuite/70009
8983 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
8984
8985 2016-03-09 Tom de Vries <tom@codesourcery.com>
8986
8987 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
8988 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
8989 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
8990 Same.
8991 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
8992 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
8993 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
8994 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
8995
8996 2016-03-07 Martin Jambor <mjambor@suse.cz>
8997
8998 * testsuite/lib/libgomp.exp
8999 (check_effective_target_hsa_offloading_selected_nocache): New.
9000 (check_effective_target_hsa_offloading_selected): Likewise.
9001 * testsuite/libgomp.hsa.c/c.exp: Likewise.
9002 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
9003 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
9004 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
9005 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
9006 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
9007 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
9008 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
9009 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
9010 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
9011 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
9012 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
9013 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
9014 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
9015 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
9016 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
9017 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
9018
9019 2016-03-07 Martin Jambor <mjambor@suse.cz>
9020
9021 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
9022 non-shared memory accelerators.
9023 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
9024 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
9025 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
9026 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
9027 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
9028 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
9029 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
9030 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
9031 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
9032
9033 2016-03-07 Martin Jambor <mjambor@suse.cz>
9034
9035 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
9036 ALWAYS_CFLAGS.
9037
9038 2016-03-02 Jakub Jelinek <jakub@redhat.com>
9039
9040 PR libgomp/69555
9041 * testsuite/libgomp.c++/pr69555-1.C: New test.
9042 * testsuite/libgomp.c++/pr69555-2.C: New test.
9043
9044 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
9045 Martin Jambor <mjambor@suse.cz>
9046
9047 * testsuite/lib/libgomp.exp
9048 (check_effective_target_offload_device_shared_as): New proc.
9049 * testsuite/libgomp.c++/declare_target-1.C: New test.
9050
9051 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
9052
9053 PR driver/68463
9054 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
9055
9056 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
9057
9058 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
9059 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
9060 dims.
9061 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
9062 -ftree-parallelize-loops/-fopenacc changes.
9063 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
9064 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
9065 Likewise.
9066 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
9067 Likewise.
9068 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
9069 Likewise.
9070 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
9071 Likewise.
9072 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
9073 Likewise.
9074 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
9075 Likewise.
9076 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
9077 Likewise.
9078 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
9079 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
9080 Likewise.
9081 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
9082 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
9083 Likewise.
9084 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
9085 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
9086 Likewise.
9087
9088 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
9089
9090 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
9091
9092 2016-02-19 Jakub Jelinek <jakub@redhat.com>
9093
9094 PR driver/69805
9095 * testsuite/libgomp.c/pr69805.c: New test.
9096
9097 2016-02-16 Tom de Vries <tom@codesourcery.com>
9098
9099 PR lto/67709
9100 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
9101
9102 2016-02-09 Tom de Vries <tom@codesourcery.com>
9103
9104 PR tree-optimization/69599
9105 * testsuite/libgomp.c/omp-nested-3.c: New test.
9106 * testsuite/libgomp.c/pr46032-2.c: New test.
9107 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
9108 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
9109
9110 2016-02-09 Tom de Vries <tom@codesourcery.com>
9111
9112 PR lto/69707
9113 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
9114
9115 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
9116
9117 * testsuite/libgomp.c/target-31.c: Fix testcase.
9118
9119 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
9120
9121 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
9122 clause.
9123 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
9124 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
9125 reduction and map clauses.
9126 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
9127
9128 2016-02-02 James Norris <jnorris@codesourcery.com>
9129
9130 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
9131
9132 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
9133
9134 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
9135 * oacc-parallel.c (GOACC_host_data): Remove function definition.
9136
9137 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
9138 cases.
9139
9140 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
9141 variables.
9142 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
9143 (hsa_kmt_lib): Set variables.
9144 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
9145 always_ld_library_path.
9146 * Makefile.in: Regenerate.
9147 * configure: Likewise.
9148 * testsuite/Makefile.in: Likewise.
9149
9150 * plugin/configfrag.ac (offload_additional_options)
9151 (offload_additional_lib_paths): Don't amend for hsa offloading.
9152 * configure: Regenerate.
9153
9154 * plugin/configfrag.ac: Don't configure for offloading target if
9155 we don't build the corresponding plugin.
9156 * configure: Regenerate.
9157
9158 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
9159
9160 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
9161 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
9162
9163 2016-01-26 Tom de Vries <tom@codesourcery.com>
9164
9165 PR tree-optimization/69110
9166 * testsuite/libgomp.c/pr69110.c: New test.
9167
9168 2016-01-25 Richard Biener <rguenther@suse.de>
9169
9170 PR lto/69393
9171 * testsuite/libgomp.c++/pr69393.C: New testcase.
9172
9173 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
9174
9175 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
9176 function wasn't mapped to the device with non-shared memory.
9177
9178 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
9179
9180 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
9181
9182 2016-01-19 Martin Jambor <mjambor@suse.cz>
9183 Martin Liska <mliska@suse.cz>
9184
9185 * plugin/Makefrag.am: Add HSA plugin requirements.
9186 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
9187 (HSA_RUNTIME_LIB): Likewise.
9188 (HSA_RUNTIME_CPPFLAGS): Likewise.
9189 (HSA_RUNTIME_INCLUDE): New substitution.
9190 (HSA_RUNTIME_LIB): Likewise.
9191 (HSA_RUNTIME_LDFLAGS): Likewise.
9192 (hsa-runtime): New configure option.
9193 (hsa-runtime-include): Likewise.
9194 (hsa-runtime-lib): Likewise.
9195 (PLUGIN_HSA): New substitution variable.
9196 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
9197 configure options.
9198 (PLUGIN_HSA_CPPFLAGS): Likewise.
9199 (PLUGIN_HSA_LDFLAGS): Likewise.
9200 (PLUGIN_HSA_LIBS): Likewise.
9201 Check that we have access to HSA run-time.
9202 * libgomp-plugin.h (offload_target_type): New element
9203 OFFLOAD_TARGET_TYPE_HSA.
9204 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
9205 args.
9206 (bool gomp_create_target_task): Updated.
9207 (gomp_device_descr): Extra parameter of run_func and async_run_func,
9208 new field can_run_func.
9209 * libgomp_g.h (GOMP_target_ext): Update prototype.
9210 * oacc-host.c (host_run): Added a new parameter args.
9211 * target.c (calculate_firstprivate_requirements): New function.
9212 (copy_firstprivate_data): Likewise.
9213 (gomp_target_fallback_firstprivate): Use them.
9214 (gomp_target_unshare_firstprivate): New function.
9215 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
9216 devices.
9217 (GOMP_target): Do host fallback for all shared memory devices. Do not
9218 pass any args to plugins.
9219 (GOMP_target_ext): Introduce device-specific argument parameter args.
9220 Allow host fallback if device shares memory. Do not remap data if
9221 device has shared memory.
9222 (gomp_target_task_fn): Likewise. Also treat shared memory devices
9223 like host fallback for mappings.
9224 (GOMP_target_data): Treat shared memory devices like host fallback.
9225 (GOMP_target_data_ext): Likewise.
9226 (GOMP_target_update): Likewise.
9227 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
9228 gomp_create_target_task.
9229 (GOMP_target_enter_exit_data): Likewise.
9230 (omp_target_alloc): Treat shared memory devices like host fallback.
9231 (omp_target_free): Likewise.
9232 (omp_target_is_present): Likewise.
9233 (omp_target_memcpy): Likewise.
9234 (omp_target_memcpy_rect): Likewise.
9235 (omp_target_associate_ptr): Likewise.
9236 (gomp_load_plugin_for_device): Also load can_run.
9237 * task.c (GOMP_PLUGIN_target_task_completion): Free
9238 firstprivate_copies.
9239 (gomp_create_target_task): Accept new argument args and store it to
9240 ttask.
9241 * plugin/plugin-hsa.c: New file.
9242
9243 2016-01-18 Tom de Vries <tom@codesourcery.com>
9244
9245 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
9246 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
9247 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
9248 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
9249 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
9250 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
9251 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
9252 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
9253 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
9254 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
9255 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
9256 Same.
9257 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
9258 Same.
9259 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
9260 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
9261 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
9262 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
9263 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
9264 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
9265 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
9266 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
9267 Same.
9268 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
9269
9270 2016-01-15 Jakub Jelinek <jakub@redhat.com>
9271
9272 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
9273
9274 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
9275
9276 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
9277
9278 2016-01-12 James Norris <jnorris@codesourcery.com>
9279
9280 * libgomp.texi: Updates for OpenACC.
9281
9282 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
9283
9284 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
9285
9286 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
9287
9288 PR fortran/66680
9289 * testsuite/libgomp.fortran/pr66680.f90: New test.
9290
9291 2016-01-07 Jakub Jelinek <jakub@redhat.com>
9292
9293 PR middle-end/68960
9294 * testsuite/libgomp.c/pr68960.c: New test.
9295
9296 2016-01-06 Nathan Sidwell <nathan@acm.org>
9297
9298 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
9299 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
9300
9301 2016-01-04 Jakub Jelinek <jakub@redhat.com>
9302
9303 Update copyright years.
9304
9305 * libgomp.texi: Bump @copying's copyright year.
9306
9307 2015-12-31 Nathan Sidwell <nathan@acm.org>
9308
9309 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
9310 dg-additional-options syntax.
9311 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9312 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9313 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9314 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9315 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9316 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9317 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9318 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9319 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9320 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9321 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9322 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9323 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9324 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9325 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9326 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9327 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9328 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9329
9330 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
9331
9332 * libgomp.h (REFCOUNT_LINK): Define.
9333 (struct splay_tree_key_s): Add link_key.
9334 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
9335 Replace target address of the pointer with target address of newly
9336 mapped object in the splay tree. Set link pointer on target to the
9337 device address of the mapped object.
9338 (gomp_unmap_vars): Restore target address of the pointer in the splay
9339 tree for REFCOUNT_LINK objects after unmapping.
9340 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
9341 declare target link" objects.
9342 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
9343 "omp declare target link" objects, which were mapped for the image.
9344 (gomp_exit_data): Restore target address of the pointer in the splay
9345 tree for REFCOUNT_LINK objects after unmapping.
9346 * testsuite/libgomp.c/target-link-1.c: New file.
9347
9348 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
9349
9350 * libgomp.h (gomp_device_state): New enum.
9351 (struct gomp_device_descr): Replace is_initialized with state.
9352 (gomp_fini_device): Remove declaration.
9353 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
9354 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
9355 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
9356 (acc_set_device_type): Use state instead of is_initialized.
9357 (acc_set_device_num): Likewise.
9358 * target.c (resolve_device): Use state instead of is_initialized.
9359 Do not initialize finalized device.
9360 (gomp_map_vars): Do nothing if device is finalized.
9361 (gomp_unmap_vars): Likewise.
9362 (gomp_update): Likewise.
9363 (GOMP_offload_register_ver): Use state instead of is_initialized.
9364 (GOMP_offload_unregister_ver): Likewise.
9365 (gomp_init_device): Likewise.
9366 (gomp_unload_device): Likewise.
9367 (gomp_fini_device): Remove.
9368 (gomp_get_target_fn_addr): Do nothing if device is finalized.
9369 (GOMP_target): Go to host fallback if device is finalized.
9370 (GOMP_target_ext): Likewise.
9371 (gomp_exit_data): Do nothing if device is finalized.
9372 (gomp_target_task_fn): Go to host fallback if device is finalized.
9373 (gomp_target_fini): New static function.
9374 (gomp_target_init): Use state instead of is_initialized.
9375 Call gomp_target_fini at exit.
9376
9377 2015-12-09 Tom de Vries <tom@codesourcery.com>
9378
9379 PR tree-optimization/68716
9380 * testsuite/libgomp.c/omp-nested-2.c: New test.
9381
9382 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
9383
9384 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
9385 target openacc_nvidia_accel_selected.
9386 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
9387 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
9388 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
9389 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
9390
9391 2015-12-01 Julian Brown <julian@codesourcery.com>
9392 James Norris <James_Norris@mentor.com>
9393
9394 * oacc-parallel.c (GOACC_host_data): New function.
9395 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
9396 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
9397 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
9398 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
9399 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
9400 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
9401 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
9402
9403 2015-11-30 James Norris <jnorris@codesourcery.com>
9404 Cesar Philippidis <cesar@codesourcery.com>
9405
9406 libgomp/
9407 * libgomp.oacc-fortran/routine-5.f90: New test.
9408 * libgomp.oacc-fortran/routine-7.f90: New test.
9409 * libgomp.oacc-fortran/routine-9.f90: New test.
9410
9411 2015-11-30 Tom de Vries <tom@codesourcery.com>
9412
9413 PR tree-optimization/46032
9414 * testsuite/libgomp.c/pr46032.c: New test.
9415
9416 2015-11-27 Jakub Jelinek <jakub@redhat.com>
9417
9418 PR libgomp/68579
9419 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
9420 (gomp_create_target_task): Call it before freeing
9421 GOMP_TARGET_TASK_DATA tasks.
9422
9423 PR c/63326
9424 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
9425 in between case label and OpenMP standalone directives.
9426 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
9427
9428 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
9429
9430 * configure: Regenerate.
9431
9432 2015-11-26 Jakub Jelinek <jakub@redhat.com>
9433
9434 * testsuite/libgomp.c/target-35.c: New test.
9435
9436 2015-11-22 James Norris <jnorris@codesourcery.com>
9437 Cesar Philippidis <cesar@codesourcery.com>
9438
9439 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
9440 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
9441 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
9442 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
9443 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
9444
9445 2015-11-20 Jakub Jelinek <jakub@redhat.com>
9446
9447 PR middle-end/68221
9448 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
9449 * testsuite/libgomp.c/reduction-12.c: Likewise.
9450 * testsuite/libgomp.c++/reduction-11.C: Likewise.
9451 * testsuite/libgomp.c++/reduction-12.C: Likewise.
9452
9453 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
9454
9455 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
9456 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
9457 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
9458 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
9459 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
9460 and fix.
9461 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9462 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9463
9464 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
9465
9466 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
9467 worker & gang cases.
9468 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9469
9470 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
9471
9472 * config/nvptx/priority_queue.c: New file.
9473
9474 2015-11-14 Jakub Jelinek <jakub@redhat.com>
9475
9476 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
9477 sections.
9478
9479 2015-11-14 Jakub Jelinek <jakub@redhat.com>
9480 Aldy Hernandez <aldyh@redhat.com>
9481 Ilya Verbin <ilya.verbin@intel.com>
9482
9483 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
9484 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
9485 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
9486 iterators or IV by chunk size.
9487 * parallel.c (gomp_resolve_num_threads): Don't assume that
9488 if thr->ts.team is non-NULL, then pool must be non-NULL.
9489 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
9490 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
9491 GOMP_PLUGIN_target_task_completion.
9492 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
9493 * Makefile.in: Regenerate.
9494 * libgomp.h: Shuffle prototypes and forward definitions around so
9495 priority queues can be defined.
9496 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
9497 (enum gomp_target_task_state): New enum.
9498 (struct gomp_target_task): Add state, tgt, task and team fields.
9499 (gomp_create_target_task): Change return type to bool, add
9500 state argument.
9501 (gomp_target_task_fn): Change return type to bool.
9502 (struct gomp_device_descr): Add async_run_func.
9503 (struct gomp_task): Remove children, next_child, prev_child,
9504 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
9505 Add pnode field.
9506 (struct gomp_taskgroup): Remove children.
9507 Add taskgroup_queue.
9508 (struct gomp_team): Change task_queue type to a priority queue.
9509 (splay_compare): Define inline.
9510 (priority_queue_offset): New.
9511 (priority_node_to_task): New.
9512 (task_to_priority_node): New.
9513 * oacc-mem.c: Do not include splay-tree.h.
9514 * priority_queue.c: New file.
9515 * priority_queue.h: New file.
9516 * splay-tree.c: Do not include splay-tree.h.
9517 (splay_tree_foreach_internal): New.
9518 (splay_tree_foreach): New.
9519 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
9520 (splay_tree_callback): Define typedef.
9521 * target.c (splay_compare): Move to libgomp.h.
9522 (GOMP_target): Don't adjust *thr in any way around running offloaded
9523 task.
9524 (GOMP_target_ext): Likewise. Handle target nowait.
9525 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
9526 return value from gomp_create_target_task, if false, fallthrough
9527 as if no dependencies exist.
9528 (gomp_target_task_fn): Change return type to bool, return true
9529 if the task should have another part scheduled later. Handle
9530 target nowait.
9531 (gomp_load_plugin_for_device): Initialize async_run.
9532 * task.c (gomp_init_task): Initialize children_queue.
9533 (gomp_clear_parent_in_list): New.
9534 (gomp_clear_parent_in_tree): New.
9535 (gomp_clear_parent): Handle priorities.
9536 (GOMP_task): Likewise.
9537 (priority_queue_move_task_first,
9538 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
9539 New functions.
9540 (gomp_create_target_task): Use priority queues. Change return type
9541 to bool, add state argument, return false if for async
9542 {{enter,exit} data,update} constructs no dependencies need to be
9543 waited for, handle target nowait. Set task->fn to NULL instead of
9544 gomp_target_task_fn.
9545 (verify_children_queue): Remove.
9546 (priority_list_upgrade_task): New.
9547 (priority_queue_upgrade_task): New.
9548 (verify_task_queue): Remove.
9549 (priority_list_downgrade_task): New.
9550 (priority_queue_downgrade_task): New.
9551 (gomp_task_run_pre): Use priority queues.
9552 Abstract code out to priority_queue_downgrade_task.
9553 (gomp_task_run_post_handle_dependers): Use priority queues.
9554 (gomp_task_run_post_remove_parent): Likewise.
9555 (gomp_task_run_post_remove_taskgroup): Likewise.
9556 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
9557 tasks specially.
9558 (GOMP_taskwait): Likewise.
9559 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
9560 priority-queue_upgrade_task.
9561 (GOMP_taskgroup_start): Use priority queues.
9562 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
9563 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
9564 barrier.
9565 * taskloop.c (GOMP_taskloop): Handle priorities.
9566 * team.c (gomp_new_team): Call priority_queue_init.
9567 (free_team): Call priority_queue_free.
9568 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
9569 team created for target nowait in implicit parallel region.
9570 (gomp_team_start): For nested check, test thr->ts.level instead of
9571 thr->ts.team != NULL.
9572 * testsuite/libgomp.c/doacross-3.c: New test.
9573 * testsuite/libgomp.c/ordered-5.c: New test.
9574 * testsuite/libgomp.c/priority.c: New test.
9575 * testsuite/libgomp.c/target-31.c: New test.
9576 * testsuite/libgomp.c/target-32.c: New test.
9577 * testsuite/libgomp.c/target-33.c: New test.
9578 * testsuite/libgomp.c/target-34.c: New test.
9579
9580 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
9581
9582 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
9583
9584 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
9585 loop is sequential.
9586
9587 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
9588
9589 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
9590 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
9591
9592 2015-11-12 James Norris <jnorris@codesourcery.com>
9593 Joseph Myers <joseph@codesourcery.com>
9594
9595 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
9596 * oacc-parallel.c (GOACC_declare): New function.
9597 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
9598 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
9599 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
9600 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
9601 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
9602
9603 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
9604
9605 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
9606
9607 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
9608
9609 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
9610 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
9611
9612 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
9613
9614 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
9615 inadvertent commit.
9616
9617 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
9618
9619 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
9620 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
9621 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
9622 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
9623 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
9624
9625 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
9626
9627 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
9628 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9629
9630 2015-11-05 Jakub Jelinek <jakub@redhat.com>
9631 Ilya Verbin <ilya.verbin@intel.com>
9632
9633 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
9634 GOMP_loop_nonmonotonic_dynamic_start,
9635 GOMP_loop_nonmonotonic_guided_next,
9636 GOMP_loop_nonmonotonic_guided_start,
9637 GOMP_loop_ull_nonmonotonic_dynamic_next,
9638 GOMP_loop_ull_nonmonotonic_dynamic_start,
9639 GOMP_loop_ull_nonmonotonic_guided_next,
9640 GOMP_loop_ull_nonmonotonic_guided_start,
9641 GOMP_parallel_loop_nonmonotonic_dynamic,
9642 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
9643 (GOMP_target_41): Renamed to ...
9644 (GOMP_target_ext): ... this. Add num_teams and thread_limit
9645 arguments.
9646 (GOMP_target_data_41): Renamed to ...
9647 (GOMP_target_data_ext): ... this.
9648 (GOMP_target_update_41): Renamed to ...
9649 (GOMP_target_update_ext): ... this.
9650 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
9651 GOMP_target_data_ext and GOMP_target_update_ext instead of
9652 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
9653 Export GOMP_loop_nonmonotonic_dynamic_next,
9654 GOMP_loop_nonmonotonic_dynamic_start,
9655 GOMP_loop_nonmonotonic_guided_next,
9656 GOMP_loop_nonmonotonic_guided_start,
9657 GOMP_loop_ull_nonmonotonic_dynamic_next,
9658 GOMP_loop_ull_nonmonotonic_dynamic_start,
9659 GOMP_loop_ull_nonmonotonic_guided_next,
9660 GOMP_loop_ull_nonmonotonic_guided_start,
9661 GOMP_parallel_loop_nonmonotonic_dynamic and
9662 GOMP_parallel_loop_nonmonotonic_guided.
9663 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
9664 GOMP_parallel_loop_nonmonotonic_guided,
9665 GOMP_loop_nonmonotonic_dynamic_start,
9666 GOMP_loop_nonmonotonic_guided_start,
9667 GOMP_loop_nonmonotonic_dynamic_next,
9668 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
9669 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
9670 GOMP_loop_ull_nonmonotonic_guided_start,
9671 GOMP_loop_ull_nonmonotonic_dynamic_next,
9672 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
9673 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
9674 functions.
9675 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
9676 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
9677 Use gomp_map_val function.
9678 (gomp_target_fallback_firstprivate): New static function.
9679 (GOMP_target_41): Renamed to ...
9680 (GOMP_target_ext): ... this. Add num_teams and thread_limit
9681 arguments. Move firstprivate fallback handling into a new
9682 function.
9683 (GOMP_target_data_41): Renamed to ...
9684 (GOMP_target_data_ext): ... this.
9685 (GOMP_target_update_41): Renamed to ...
9686 (GOMP_target_update_ext): ... this.
9687 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
9688 gomp_map_0len_lookup instead of gomp_map_lookup.
9689 (omp_target_is_present): Use gomp_map_0len_lookup instead of
9690 gomp_map_lookup.
9691 * testsuite/libgomp.c/target-28.c: Likewise.
9692 * testsuite/libgomp.c/monotonic-1.c: New test.
9693 * testsuite/libgomp.c/monotonic-2.c: New test.
9694 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
9695 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
9696 * testsuite/libgomp.c/pr66199-5.c: New test.
9697 * testsuite/libgomp.c/pr66199-6.c: New test.
9698 * testsuite/libgomp.c/pr66199-7.c: New test.
9699 * testsuite/libgomp.c/pr66199-8.c: New test.
9700 * testsuite/libgomp.c/pr66199-9.c: New test.
9701 * testsuite/libgomp.c/reduction-11.c: New test.
9702 * testsuite/libgomp.c/reduction-12.c: New test.
9703 * testsuite/libgomp.c/reduction-13.c: New test.
9704 * testsuite/libgomp.c/reduction-14.c: New test.
9705 * testsuite/libgomp.c/reduction-15.c: New test.
9706 * testsuite/libgomp.c/target-12.c (main): Adjust for
9707 omp_target_is_present change for one-past-last element.
9708 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
9709 the same var is both mapped and privatized.
9710 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
9711 handling of zero-length array sections.
9712 * testsuite/libgomp.c/target-28.c: New test.
9713 * testsuite/libgomp.c/target-29.c: New test.
9714 * testsuite/libgomp.c/target-30.c: New test.
9715 * testsuite/libgomp.c/target-teams-1.c: New test.
9716 * testsuite/libgomp.c++/member-6.C: New test.
9717 * testsuite/libgomp.c++/member-7.C: New test.
9718 * testsuite/libgomp.c++/monotonic-1.C: New test.
9719 * testsuite/libgomp.c++/monotonic-2.C: New test.
9720 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
9721 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
9722 * testsuite/libgomp.c++/pr66199-3.C: New test.
9723 * testsuite/libgomp.c++/pr66199-4.C: New test.
9724 * testsuite/libgomp.c++/pr66199-5.C: New test.
9725 * testsuite/libgomp.c++/pr66199-6.C: New test.
9726 * testsuite/libgomp.c++/pr66199-7.C: New test.
9727 * testsuite/libgomp.c++/pr66199-8.C: New test.
9728 * testsuite/libgomp.c++/pr66199-9.C: New test.
9729 * testsuite/libgomp.c++/reduction-11.C: New test.
9730 * testsuite/libgomp.c++/reduction-12.C: New test.
9731 * testsuite/libgomp.c++/target-13.C: New test.
9732 * testsuite/libgomp.c++/target-14.C: New test.
9733 * testsuite/libgomp.c++/target-15.C: New test.
9734 * testsuite/libgomp.c++/target-16.C: New test.
9735 * testsuite/libgomp.c++/target-17.C: New test.
9736 * testsuite/libgomp.c++/target-18.C: New test.
9737 * testsuite/libgomp.c++/target-19.C: New test.
9738
9739 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
9740
9741 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
9742 and reduction copy.
9743 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9744 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9745 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9746 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9747 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
9748 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9749 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9750 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9751 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9752 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
9753 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9754 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9755 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9756 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
9757
9758 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
9759
9760 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
9761 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
9762 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
9763 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
9764 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
9765 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
9766 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
9767 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
9768
9769 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
9770
9771 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
9772 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
9773 (GOMP_OFFLOAD_openacc_parallel): Likewise.
9774 * oacc-host.c (host_openacc_exec): Likewise.
9775 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
9776
9777 2015-11-03 Julian Brown <julian@codesourcery.com>
9778 Thomas Schwinge <thomas@codesourcery.com>
9779
9780 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
9781 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9782 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
9783 Likewise.
9784 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
9785 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
9786
9787 2015-11-03 James Norris <jnorris@codesourcery.com>
9788
9789 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
9790 file.
9791 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
9792 Likewise.
9793 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
9794 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
9795 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
9796 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
9797 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
9798
9799 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
9800
9801 * openacc.h (enum acc_device_t): Reformat. Ensure layout
9802 compatibility.
9803 (enum acc_async_t): Reformat.
9804 (acc_on_device): Declare compatible with builtin and provide C++
9805 wrapper.
9806 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
9807
9808 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
9809 Cesar Philippidis <cesar@codesourcery.com>
9810
9811 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
9812 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
9813 ... this. Add a description of the test at the top of the file.
9814 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
9815 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
9816 ... this. Add a description of the test at the top of the file.
9817
9818 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
9819
9820 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
9821 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
9822 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
9823 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
9824 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
9825 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
9826
9827 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
9828
9829 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
9830 dimensions.
9831
9832 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
9833
9834 PR testsuite/68063
9835 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
9836
9837 2015-10-27 James Norris <jnorris@codesourcery.com>
9838
9839 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
9840 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
9841
9842 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
9843
9844 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
9845 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9846
9847 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
9848 acc_device_nvidia usage.
9849 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9850 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9851 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9852
9853 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
9854 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
9855
9856 PR libgomp/66518
9857 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
9858
9859 PR libgomp/65437
9860 PR libgomp/66518
9861 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
9862 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
9863
9864 2015-10-23 Tom de Vries <tom@codesourcery.com>
9865
9866 PR testsuite/68063
9867 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
9868
9869 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
9870
9871 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
9872 vector_length.
9873 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9874
9875 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
9876 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
9877
9878 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
9879 to 0 when mapnum is 0.
9880
9881 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
9882
9883 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
9884 Cast to int from int32_t.
9885
9886 2015-10-13 Jakub Jelinek <jakub@redhat.com>
9887 Aldy Hernandez <aldyh@redhat.com>
9888 Ilya Verbin <ilya.verbin@intel.com>
9889
9890 * config/linux/affinity.c (omp_get_place_num_procs,
9891 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
9892 * config/linux/doacross.h: New file.
9893 * config/posix/affinity.c (omp_get_place_num_procs,
9894 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
9895 * config/posix/doacross.h: New file.
9896 * env.c: Include gomp-constants.h.
9897 (struct gomp_task_icv): Rename run_sched_modifier to
9898 run_sched_chunk_size.
9899 (gomp_max_task_priority_var): New variable.
9900 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
9901 (handle_omp_display_env): Change _OPENMP value from 201307 to
9902 201511. Print OMP_MAX_TASK_PRIORITY.
9903 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
9904 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
9905 chunk_size and run_sched_modifier to run_sched_chunk_size.
9906 (omp_get_max_task_priority, omp_get_initial_device,
9907 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
9908 omp_get_partition_place_nums): New functions.
9909 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
9910 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
9911 to chunk_size.
9912 (omp_get_num_places_, omp_get_place_num_procs_,
9913 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
9914 omp_get_place_proc_ids_8_, omp_get_place_num_,
9915 omp_get_partition_num_places_, omp_get_partition_place_nums_,
9916 omp_get_partition_place_nums_8_, omp_get_initial_device_,
9917 omp_get_max_task_priority_): New functions.
9918 * libgomp_g.h (GOMP_loop_doacross_static_start,
9919 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
9920 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
9921 GOMP_loop_ull_doacross_dynamic_start,
9922 GOMP_loop_ull_doacross_guided_start,
9923 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
9924 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
9925 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
9926 GOMP_target_data_41, GOMP_target_update_41,
9927 GOMP_target_enter_exit_data): New prototypes.
9928 (GOMP_task): Add prototype argument.
9929 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
9930 (struct gomp_doacross_work_share): New type.
9931 (struct gomp_work_share): Add doacross field.
9932 (struct gomp_task_icv): Rename run_sched_modifier to
9933 run_sched_chunk_size.
9934 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
9935 GOMP_TASK_UNDEFERRED. Add comments.
9936 (struct gomp_task_depend_entry): Add comments.
9937 (struct gomp_task): Likewise.
9938 (struct gomp_taskgroup): Likewise.
9939 (struct gomp_target_task): New type.
9940 (struct gomp_team): Add comment.
9941 (gomp_get_place_proc_ids_8, gomp_doacross_init,
9942 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
9943 gomp_create_target_task, gomp_target_task_fn): New prototypes.
9944 (struct target_var_desc): New type.
9945 (struct target_mem_desc): Adjust comment. Use struct
9946 target_var_desc instead of splay_tree_key for list.
9947 (REFCOUNT_INFINITY): Define.
9948 (struct splay_tree_key_s): Remove copy_from field.
9949 (struct gomp_device_descr): Add dev2dev_func field.
9950 (enum gomp_map_vars_kind): New enum.
9951 (gomp_map_vars): Add one argument.
9952 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
9953 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
9954 omp_get_place_num_procs, omp_get_place_num_procs_,
9955 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
9956 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
9957 omp_get_place_num_, omp_get_partition_num_places,
9958 omp_get_partition_num_places_, omp_get_partition_place_nums,
9959 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
9960 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
9961 omp_target_free, omp_target_is_present, omp_target_memcpy,
9962 omp_target_memcpy_rect, omp_target_associate_ptr and
9963 omp_target_disassociate_ptr.
9964 (GOMP_4.0.2): Renamed to ...
9965 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
9966 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
9967 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
9968 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
9969 GOMP_loop_doacross_static_start, GOMP_doacross_post,
9970 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
9971 GOMP_loop_ull_doacross_guided_start,
9972 GOMP_loop_ull_doacross_runtime_start,
9973 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
9974 GOMP_doacross_ull_wait.
9975 * libgomp.texi: Document omp_get_max_task_priority.
9976 Rename modifier argument to chunk_size for omp_set_schedule and
9977 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
9978 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
9979 to run_sched_chunk_size renaming.
9980 (GOMP_loop_ordered_runtime_start): Likewise.
9981 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
9982 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
9983 GOMP_parallel_loop_runtime_start): New functions.
9984 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
9985 to run_sched_chunk_size renaming.
9986 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
9987 GOMP_loop_doacross_guided_start): New functions or aliases.
9988 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
9989 run_sched_modifier to run_sched_chunk_size renaming.
9990 (GOMP_loop_ull_ordered_runtime_start): Likewise.
9991 (gomp_loop_ull_doacross_static_start,
9992 gomp_loop_ull_doacross_dynamic_start,
9993 gomp_loop_ull_doacross_guided_start,
9994 GOMP_loop_ull_doacross_runtime_start): New functions.
9995 (GOMP_loop_ull_doacross_static_start,
9996 GOMP_loop_ull_doacross_dynamic_start,
9997 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
9998 * oacc-mem.c (acc_map_data, present_create_copy,
9999 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
10000 to gomp_map_vars.
10001 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
10002 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
10003 instead of false to gomp_map_vars.
10004 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
10005 * omp.h.in (omp_lock_hint_t): New type.
10006 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10007 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10008 omp_get_place_num, omp_get_partition_num_places,
10009 omp_get_partition_place_nums, omp_get_initial_device,
10010 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
10011 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
10012 omp_target_associate_ptr, omp_target_disassociate_ptr): New
10013 prototypes.
10014 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
10015 (omp_lock_hint_none, omp_lock_hint_uncontended,
10016 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10017 omp_lock_hint_speculative): New parameters.
10018 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10019 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10020 omp_get_place_num, omp_get_partition_num_places,
10021 omp_get_partition_place_nums, omp_get_initial_device,
10022 omp_get_max_task_priority): New interfaces.
10023 (omp_set_schedule, omp_get_schedule): Rename modifier argument
10024 to chunk_size.
10025 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
10026 (omp_lock_hint_none, omp_lock_hint_uncontended,
10027 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10028 omp_lock_hint_speculative): New parameters.
10029 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10030 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10031 omp_get_place_num, omp_get_partition_num_places,
10032 omp_get_partition_place_nums, omp_get_initial_device,
10033 omp_get_max_task_priority): New functions and subroutines.
10034 * ordered.c: Include stdarg.h and string.h.
10035 (MAX_COLLAPSED_BITS): Define.
10036 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
10037 gomp_doacross_ull_init, GOMP_doacross_ull_post,
10038 GOMP_doacross_ull_wait): New functions.
10039 * target.c: Include errno.h.
10040 (resolve_device): If device is not initialized, call
10041 gomp_init_device on it.
10042 (gomp_map_lookup): New function.
10043 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
10044 Don't bump refcount if REFCOUNT_INFINITY. Handle
10045 GOMP_MAP_ALWAYS_TO_P.
10046 (get_kind): Rename is_openacc argument to short_mapkind.
10047 (gomp_map_pointer): Use gomp_map_lookup.
10048 (gomp_map_fields_existing): New function.
10049 (gomp_map_vars): Rename is_openacc argument to short_mapkind
10050 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
10051 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
10052 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
10053 Adjust for tgt->list changed type and copy_from living in there.
10054 (gomp_copy_from_async): Adjust for tgt->list changed type and
10055 copy_from living in there.
10056 (gomp_unmap_vars): Likewise.
10057 (gomp_update): Likewise. Rename is_openacc argument to
10058 short_mapkind. Don't fail if object is not mapped.
10059 (gomp_load_image_to_device): Initialize refcount to
10060 REFCOUNT_INFINITY.
10061 (gomp_target_fallback): New function.
10062 (gomp_get_target_fn_addr): Likewise.
10063 (GOMP_target): Adjust gomp_map_vars caller, use
10064 gomp_get_target_fn_addr and gomp_target_fallback.
10065 (GOMP_target_41): New function.
10066 (gomp_target_data_fallback): New function.
10067 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
10068 (GOMP_target_data_41): New function.
10069 (GOMP_target_update): Adjust gomp_update caller.
10070 (GOMP_target_update_41): New function.
10071 (gomp_exit_data, GOMP_target_enter_exit_data,
10072 gomp_target_task_fn, omp_target_alloc, omp_target_free,
10073 omp_target_is_present, omp_target_memcpy,
10074 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
10075 omp_target_associate_ptr, omp_target_disassociate_ptr,
10076 gomp_load_plugin_for_device): New functions.
10077 * task.c: Include gomp-constants.h. Include taskloop.c
10078 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
10079 (gomp_task_handle_depend): New function.
10080 (GOMP_task): Use it. Add priority argument. Use
10081 gomp-constant.h constants instead of hardcoded numbers.
10082 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
10083 (gomp_create_target_task): New function.
10084 (verify_children_queue, verify_taskgroup_queue,
10085 verify_task_queue): New functions.
10086 (gomp_task_run_pre): Call verify_*_queue functions.
10087 If an upcoming tied task is about to leave the sibling or
10088 taskgroup queues in an invalid state, adjust appropriately.
10089 Remove taskgroup argument. Add comments.
10090 (gomp_task_run_post_handle_dependers): Add comments.
10091 (gomp_task_run_post_remove_parent): Likewise.
10092 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
10093 (GOMP_taskwait): Likewise. Add comments.
10094 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
10095 problem such that the first non parent_depends_on task does not
10096 end up at the end of the children queue.
10097 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
10098 GOMP_TASK_UNDEFERRED.
10099 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
10100 * taskloop.c: New file.
10101 * testsuite/lib/libgomp.exp
10102 (check_effective_target_offload_device_nonshared_as): New proc.
10103 * testsuite/libgomp.c/affinity-2.c: New test.
10104 * testsuite/libgomp.c/doacross-1.c: New test.
10105 * testsuite/libgomp.c/doacross-2.c: New test.
10106 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
10107 Add map clause to target.
10108 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
10109 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
10110 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
10111 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
10112 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
10113 Likewise.
10114 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
10115 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
10116 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
10117 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
10118 not defined. Use those where needed.
10119 * testsuite/libgomp.c/for-4.c: New test.
10120 * testsuite/libgomp.c/for-5.c: New test.
10121 * testsuite/libgomp.c/for-6.c: New test.
10122 * testsuite/libgomp.c/linear-1.c: New test.
10123 * testsuite/libgomp.c/ordered-4.c: New test.
10124 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
10125 only allowed on the loop iterator.
10126 * testsuite/libgomp.c/pr66199-3.c: New test.
10127 * testsuite/libgomp.c/pr66199-4.c: New test.
10128 * testsuite/libgomp.c/reduction-7.c: New test.
10129 * testsuite/libgomp.c/reduction-8.c: New test.
10130 * testsuite/libgomp.c/reduction-9.c: New test.
10131 * testsuite/libgomp.c/reduction-10.c: New test.
10132 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
10133 map(tofrom:s).
10134 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
10135 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
10136 * testsuite/libgomp.c/target-11.c: New test.
10137 * testsuite/libgomp.c/target-12.c: New test.
10138 * testsuite/libgomp.c/target-13.c: New test.
10139 * testsuite/libgomp.c/target-14.c: New test.
10140 * testsuite/libgomp.c/target-15.c: New test.
10141 * testsuite/libgomp.c/target-16.c: New test.
10142 * testsuite/libgomp.c/target-17.c: New test.
10143 * testsuite/libgomp.c/target-18.c: New test.
10144 * testsuite/libgomp.c/target-19.c: New test.
10145 * testsuite/libgomp.c/target-20.c: New test.
10146 * testsuite/libgomp.c/target-21.c: New test.
10147 * testsuite/libgomp.c/target-22.c: New test.
10148 * testsuite/libgomp.c/target-23.c: New test.
10149 * testsuite/libgomp.c/target-24.c: New test.
10150 * testsuite/libgomp.c/target-25.c: New test.
10151 * testsuite/libgomp.c/target-26.c: New test.
10152 * testsuite/libgomp.c/target-27.c: New test.
10153 * testsuite/libgomp.c/taskloop-1.c: New test.
10154 * testsuite/libgomp.c/taskloop-2.c: New test.
10155 * testsuite/libgomp.c/taskloop-3.c: New test.
10156 * testsuite/libgomp.c/taskloop-4.c: New test.
10157 * testsuite/libgomp.c++/ctor-13.C: New test.
10158 * testsuite/libgomp.c++/doacross-1.C: New test.
10159 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
10160 Replace offload_device with offload_device_nonshared_as.
10161 * testsuite/libgomp.c++/for-12.C: New test.
10162 * testsuite/libgomp.c++/for-13.C: New test.
10163 * testsuite/libgomp.c++/for-14.C: New test.
10164 * testsuite/libgomp.c++/linear-1.C: New test.
10165 * testsuite/libgomp.c++/member-1.C: New test.
10166 * testsuite/libgomp.c++/member-2.C: New test.
10167 * testsuite/libgomp.c++/member-3.C: New test.
10168 * testsuite/libgomp.c++/member-4.C: New test.
10169 * testsuite/libgomp.c++/member-5.C: New test.
10170 * testsuite/libgomp.c++/ordered-1.C: New test.
10171 * testsuite/libgomp.c++/reduction-5.C: New test.
10172 * testsuite/libgomp.c++/reduction-6.C: New test.
10173 * testsuite/libgomp.c++/reduction-7.C: New test.
10174 * testsuite/libgomp.c++/reduction-8.C: New test.
10175 * testsuite/libgomp.c++/reduction-9.C: New test.
10176 * testsuite/libgomp.c++/reduction-10.C: New test.
10177 * testsuite/libgomp.c++/reference-1.C: New test.
10178 * testsuite/libgomp.c++/simd14.C: New test.
10179 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
10180 * testsuite/libgomp.c++/target-5.C: New test.
10181 * testsuite/libgomp.c++/target-6.C: New test.
10182 * testsuite/libgomp.c++/target-7.C: New test.
10183 * testsuite/libgomp.c++/target-8.C: New test.
10184 * testsuite/libgomp.c++/target-9.C: New test.
10185 * testsuite/libgomp.c++/target-10.C: New test.
10186 * testsuite/libgomp.c++/target-11.C: New test.
10187 * testsuite/libgomp.c++/target-12.C: New test.
10188 * testsuite/libgomp.c++/taskloop-1.C: New test.
10189 * testsuite/libgomp.c++/taskloop-2.C: New test.
10190 * testsuite/libgomp.c++/taskloop-3.C: New test.
10191 * testsuite/libgomp.c++/taskloop-4.C: New test.
10192 * testsuite/libgomp.c++/taskloop-5.C: New test.
10193 * testsuite/libgomp.c++/taskloop-6.C: New test.
10194 * testsuite/libgomp.c++/taskloop-7.C: New test.
10195 * testsuite/libgomp.c++/taskloop-8.C: New test.
10196 * testsuite/libgomp.c++/taskloop-9.C: New test.
10197 * testsuite/libgomp.fortran/affinity1.f90: New test.
10198 * testsuite/libgomp.fortran/affinity2.f90: New test.
10199
10200 2015-10-13 Tom de Vries <tom@codesourcery.com>
10201
10202 PR tree-optimization/67476
10203 * testsuite/libgomp.c/autopar-3.c: New test.
10204 * testsuite/libgomp.c/autopar-4.c: New test.
10205 * testsuite/libgomp.c/autopar-5.c: New test.
10206 * testsuite/libgomp.c/autopar-6.c: New test.
10207 * testsuite/libgomp.c/autopar-7.c: New test.
10208 * testsuite/libgomp.c/autopar-8.c: New test.
10209
10210 2015-10-12 James Norris <jnorris@codesourcery.com>
10211
10212 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
10213 initializer.
10214
10215 2015-10-09 David Malcolm <dmalcolm@redhat.com>
10216
10217 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
10218 using load_gcc_lib.
10219
10220 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
10221
10222 * oacc-ptx.h: Remove file, moving its content into...
10223 * config/nvptx/fortran.c: ... here...
10224 * config/nvptx/oacc-init.c: ..., here...
10225 * config/nvptx/oacc-parallel.c: ..., and here.
10226 * config/nvptx/openacc.f90: New file.
10227 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
10228 (link_ptx): Don't link in predefined bits of PTX code.
10229
10230 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
10231 Bernd Schmidt <bernds@codesourcery.com>
10232
10233 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
10234 (struct targ_ptx_obj): New.
10235 (nvptx_tdata): Move earlier, change data format.
10236 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
10237 objects.
10238 (GOMP_OFFLOAD_load_image): Adjust.
10239
10240 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
10241
10242 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
10243 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10244 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
10245 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
10246 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10247 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10248 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10249 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10250 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10251 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10252 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10253 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
10254 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
10255 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10256 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10257 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10258 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10259 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
10260 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
10261 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
10262 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
10263 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10264 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
10265 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
10266 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
10267 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
10268 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
10269 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
10270 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
10271 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
10272 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
10273 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
10274 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
10275 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
10276 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10277 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
10278 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
10279 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
10280 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
10281 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
10282 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
10283 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
10284 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
10285 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
10286 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
10287 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
10288 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
10289 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
10290 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
10291 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
10292 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
10293 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
10294 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
10295 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
10296 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
10297 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10298 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10299 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10300 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10301 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10302 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10303 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10304 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10305
10306 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
10307
10308 * oacc-init.c (acc_on_device): Force optimization level.
10309
10310 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
10311
10312 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
10313 (cuda_errlist): Delete.
10314 (cuda_error): Reimplement.
10315
10316 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
10317
10318 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
10319 array.
10320 * libgomp.map (GOACC_parallel_keyed): New.
10321 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
10322 all callers.
10323 (GOACC_parallel_keyed): New interface. Lose geometry arguments
10324 and take keyed varargs list. Adjust call to exec_func.
10325 (GOACC_parallel): Force host fallback.
10326 * libgomp_g.h (GOACC_parallel): Remove.
10327 (GOACC_parallel_keyed): Declare.
10328 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
10329 (struct targ_gn_descriptor): Replace name field with launch field.
10330 (nvptx_exec): Lose separate geometry args, take array. Process
10331 dynamic dimensions and adjust.
10332 (struct nvptx_tdata): Replace fn_names field with fn_descs.
10333 (GOMP_OFFLOAD_load_image): Adjust for change in function table
10334 data.
10335 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
10336 passing.
10337 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
10338 passing.
10339
10340 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
10341
10342 PR libgomp/67141
10343 * oacc-int.h (goacc_host_init): Add declaration.
10344 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
10345 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
10346
10347 2015-09-08 Aditya Kumar <hiraditya@msn.com>
10348 Sebastian Pop <s.pop@samsung.com>
10349
10350 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
10351 match o/p.
10352 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
10353 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
10354 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
10355 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
10356 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
10357
10358 2015-09-03 Jakub Jelinek <jakub@redhat.com>
10359
10360 * configure.tgt: Add missing ;; in between nvptx and rtems
10361 snippets.
10362
10363 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10364
10365 * config/posix/pool.h (gomp_adjust_thread_attr): New.
10366 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
10367 (gomp_thread_pool_reservoir): Add priority member.
10368 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
10369 priority.
10370 (parse_thread_pools): Likewise.
10371 * team.c (gomp_team_start): Call configuration provided
10372 gomp_adjust_thread_attr(). Destroy thread attributes if
10373 necessary.
10374 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
10375
10376 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10377
10378 * config/posix/pool.h: New.
10379 * config/rtems/pool.h: Likewise.
10380 * config/rtems/proc.c: Likewise.
10381 * libgomp.h (gomp_thread_destructor): Declare.
10382 * team.c: Include configuration provided "pool.h".
10383 (gomp_get_thread_pool): Define in configuration.
10384 (gomp_team_end): Call configuration defined
10385 gomp_release_thread_pool().
10386
10387 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10388
10389 * config/rtems/bar.c: New.
10390 * config/rtems/bar.h: Likewise.
10391 * config/rtems/mutex.c: Likewise.
10392 * config/rtems/mutex.h: Likewise.
10393 * config/rtems/sem.c: Likewise.
10394 * config/rtems/sem.h: Likewise.
10395 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
10396 <sys/lock.h> header file.
10397 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
10398 supported by Newlib.
10399 * configure: Regenerate.
10400
10401 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10402
10403 * team.c (gomp_new_thread_pool): Delete and move content to ...
10404 (gomp_get_thread_pool): ... new function. Allocate and
10405 initialize thread pool on demand.
10406 (get_last_team): Use gomp_get_thread_pool().
10407 (gomp_team_start): Delete thread pool initialization.
10408
10409 2015-09-03 Tom de Vries <tom@codesourcery.com>
10410
10411 PR tree-optimization/65637
10412 * testsuite/libgomp.c/autopar-2.c: New test.
10413
10414 2015-08-29 Tom de Vries <tom@codesourcery.com>
10415
10416 PR tree-optimization/46193
10417 * testsuite/libgomp.c/pr46193.c: New test.
10418
10419 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
10420
10421 libgomp/
10422 * libgomp.map: Add 4.0.2 version.
10423 * target.c (offload_image_descr): Add version field.
10424 (gomp_load_image_to_device): Add version argument. Adjust plugin
10425 call. Improve load mismatch diagnostic.
10426 (gomp_unload_image_from_device): Add version argument. Adjust plugin
10427 call.
10428 (GOMP_offload_regster): Make stub function, move bulk to ...
10429 (GOMP_offload_register_ver): ... here. Process version argument.
10430 (GOMP_offload_unregister): Make stub function, move bulk to ...
10431 (GOMP_offload_unregister_ver): ... here. Process version argument.
10432 (gomp_init_device): Process version field.
10433 (gomp_unload_device): Process version field.
10434 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
10435 macros. Check plugin version.
10436 * libgomp.h (gomp_device_descr): Add version function field. Adjust
10437 loader and unloader types.
10438 * oacc-host.c: Include gomp-constants.h.
10439 (host_version): New.
10440 (host_load_image, host_unload_image): Adjust.
10441 (host_dispatch): Add host_version.
10442 * plugin/plugin-nvptx.c: Include gomp-constants.h.
10443 (GOMP_OFFLOAD_version): New.
10444 (GOMP_OFFLOAD_load_image): Add version arg and check it.
10445 (GOMP_OFFLOAD_unload_image): Likewise.
10446 * plugin/plugin-host.c: Include gomp-constants.h.
10447 (GOMP_OFFLOAD_version): New.
10448 (GOMP_OFFLOAD_load_image): Add version arg.
10449 (GOMP_OFFLOAD_unload_image): Likewise.
10450
10451 2015-08-24 Tom de Vries <tom@codesourcery.com>
10452
10453 PR tree-optimization/65468
10454 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
10455
10456 2015-08-24 Tom de Vries <tom@codesourcery.com>
10457
10458 PR tree-optimization/65468
10459 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
10460
10461 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
10462
10463 PR libgomp/66761
10464 PR libgomp/67303
10465 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
10466 (gomp_iter_guided_next): Idem.
10467 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
10468 (gomp_iter_ull_guided_next): Idem.
10469 * config/linux/wait.h (do_spin): Idem.
10470
10471 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10472
10473 * libgomp-plugin.h (enum offload_target_type): Remove
10474 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
10475 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
10476 * openacc.h (enum acc_device_t): Likewise.
10477 * openacc_lib.h: Likewise.
10478 * oacc-init.c (name_of_acc_device_t): Don't handle it.
10479 (acc_on_device): Just use __builtin_acc_on_device.
10480 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
10481 of acc_on_device builtin.
10482 * plugin/plugin-host.h: Remove file.
10483 * plugin/plugin-host.c: Likewise, but salvage some content into...
10484 * oacc-host.c: ... this file.
10485 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
10486 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
10487 * Makefile.in: Regenerate.
10488 * configure: Likewise.
10489 * testsuite/lib/libgomp.exp
10490 (check_effective_target_openacc_host_nonshm_selected): Remove.
10491 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
10492 ACC_DEVICE_TYPE=host_nonshm.
10493 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10494 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10495 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
10496 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
10497 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
10498 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
10499
10500 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10501 Jakub Jelinek <jakub@redhat.com>
10502
10503 * config/nvptx/affinity.c: New file.
10504 * config/nvptx/alloc.c: Likewise.
10505 * config/nvptx/bar.c: Likewise.
10506 * config/nvptx/barrier.c: Likewise.
10507 * config/nvptx/critical.c: Likewise.
10508 * config/nvptx/env.c: Likewise.
10509 * config/nvptx/error.c: Likewise.
10510 * config/nvptx/fortran.c: Likewise.
10511 * config/nvptx/iter.c: Likewise.
10512 * config/nvptx/iter_ull.c: Likewise.
10513 * config/nvptx/libgomp-plugin.c: Likewise.
10514 * config/nvptx/lock.c: Likewise.
10515 * config/nvptx/loop.c: Likewise.
10516 * config/nvptx/loop_ull.c: Likewise.
10517 * config/nvptx/mutex.c: Likewise.
10518 * config/nvptx/oacc-async.c: Likewise.
10519 * config/nvptx/oacc-cuda.c: Likewise.
10520 * config/nvptx/oacc-host.c: Likewise.
10521 * config/nvptx/oacc-init.c: Likewise.
10522 * config/nvptx/oacc-mem.c: Likewise.
10523 * config/nvptx/oacc-parallel.c: Likewise.
10524 * config/nvptx/oacc-plugin.c: Likewise.
10525 * config/nvptx/omp-lock.h: Likewise.
10526 * config/nvptx/ordered.c: Likewise.
10527 * config/nvptx/parallel.c: Likewise.
10528 * config/nvptx/proc.c: Likewise.
10529 * config/nvptx/ptrlock.c: Likewise.
10530 * config/nvptx/sections.c: Likewise.
10531 * config/nvptx/sem.c: Likewise.
10532 * config/nvptx/single.c: Likewise.
10533 * config/nvptx/splay-tree.c: Likewise.
10534 * config/nvptx/target.c: Likewise.
10535 * config/nvptx/task.c: Likewise.
10536 * config/nvptx/team.c: Likewise.
10537 * config/nvptx/time.c: Likewise.
10538 * config/nvptx/work.c: Likewise.
10539 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
10540 * configure: Regenerate.
10541 * configure.tgt (config_path): Set to "nvptx" for target
10542 nvptx*-*-*.
10543
10544 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10545
10546 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
10547
10548 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
10549
10550 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
10551 (cuda_errlist): Constify.
10552 (errmsg): Move into ...
10553 (cuda_error): ... here. Make smaller.
10554 (_XSTR, _STR): Delete.
10555 (cuda_synames): Delete.
10556 (verify_device_library): Delete.
10557 (nvptx_init): Don't call it.
10558
10559 2015-07-28 Tom de Vries <tom@codesourcery.com>
10560
10561 * testsuite/libgomp.c/uns-outer-4.c: New test.
10562
10563 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
10564
10565 * testsuite/libgomp.c/pr66714.c: New test.
10566
10567 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
10568
10569 PR libgomp/66950
10570 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
10571 (fib_ref): New function.
10572 (fib): Correct corner cases in the recursion.
10573 (main): Replace the non-simd loop with fib_ref call.
10574 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
10575 subroutine.
10576 (fibonacci): Lower the parameter N to 30. Correct accordingly check
10577 for the last array element value. Replace the non-simd loop with
10578 fib_ref call. Remove redundant b_ref array. Remove the comparison
10579 of the last array element with according Fibonacci sequence element.
10580 (fib): Correct corner cases in the recursion.
10581
10582 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
10583
10584 * target.c (gomp_offload_image_to_device): Rename to ...
10585 (gomp_load_image_to_device): ... here.
10586 (GOMP_offload_register): Adjust call.
10587 (gomp_init_device): Likewise.
10588 (gomp_unload_image_from_device): New. Broken out of ...
10589 (GOMP_offload_unregister): ... here. Call it.
10590 (gomp_unload_device): New.
10591 * libgomp.h (gomp_unload_device): Declare.
10592 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
10593 mem maps.
10594
10595 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
10596
10597 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
10598 wait=-specific if.
10599 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
10600 !=0 condition.
10601 (goacc_waits): Move !num_waits handling to ...
10602 (GOACC_wait): ... here, the only caller that might have zero waits.
10603
10604 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
10605 (struct ptx_image_data): Move earlier, add fns field.
10606 (struct ptx_device): Add images and image_lock fields.
10607 (ptx_images, ptx_image_lock): Delete.
10608 (nvptx_open_device): Initialize images and image_lock fields.
10609 (nvptx_close_device): Destroy image_lock.
10610 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
10611 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
10612 fields.
10613
10614 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
10615
10616 * target.c (GOMP_offload_register): Use int for device type arg.
10617 (GOMP_offload_unregister): Likewise.
10618
10619 * target.c (struct_offload_image_descr): Constify host_table.
10620 (gomp_offload_image_to_device): Likewise.
10621 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
10622
10623 * libgomp.h (gomp_device_descr): Constify target data arguments.
10624 * target.c (struct offload_image_descr): Constify target_data.
10625 (gomp_offload_image_to_device): Likewise.
10626 (GOMP_offload_register): Likewise.
10627 (GOMP_offload_unregister): Likewise.
10628 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
10629 GOMP_OFFLOAD_unload_image): Constify target data.
10630 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
10631 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
10632
10633 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
10634
10635 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
10636 Workaround driver library const error.
10637 (struct nvptx_tdata, nvptx_tdata_t): New.
10638 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
10639 type.
10640
10641 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
10642
10643 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
10644 of EPS parameter from integer to real.
10645 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
10646 type of EPS parameter from integer to real.
10647
10648 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
10649
10650 * team.c (get_last_team): New.
10651 (gomp_new_team): Recycle last non-nested team if possible.
10652 (gomp_team_end): Move team work share list free lock destruction
10653 to ...
10654 (free_team): ... here.
10655
10656 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
10657
10658 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
10659 and ref from int to double. Replaced their comparison with
10660 an inequality of their difference and EPS.
10661 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
10662 comparison of pri and a reference number with an inequality of their
10663 difference and EPS.
10664 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
10665 the comparison of sum and sum_ref with an inequality of their
10666 difference and EPS.
10667 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
10668 the comparison of pri and a reference number with an inequality of
10669 their difference and EPS.
10670
10671 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
10672
10673 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
10674 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
10675 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
10676 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
10677 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
10678 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
10679 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
10680 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
10681 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
10682 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
10683 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
10684 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
10685 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
10686 variables.
10687 (vec_mult): Likewise. Add #pragma omp taskwait.
10688 (main): Adjust caller.
10689 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
10690 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
10691 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
10692 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
10693 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
10694 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
10695 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
10696 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
10697 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
10698 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
10699 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
10700 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
10701 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
10702 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
10703 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
10704 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
10705 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
10706 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
10707 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
10708 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
10709 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
10710 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
10711 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
10712 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
10713 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
10714 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
10715 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
10716 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
10717 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
10718 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
10719 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
10720 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
10721 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
10722 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
10723 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
10724 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
10725 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
10726 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
10727 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
10728 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
10729 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
10730 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
10731 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
10732 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
10733 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
10734 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
10735 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
10736 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
10737 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
10738 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
10739 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
10740 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
10741 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
10742 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
10743 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
10744 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
10745 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
10746 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
10747 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
10748 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
10749 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
10750 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
10751 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
10752 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
10753 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
10754 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
10755 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
10756 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
10757 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
10758 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
10759 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
10760 (vec_mult): Add !$omp taskwait.
10761 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
10762 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
10763 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
10764 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
10765 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
10766 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
10767 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
10768 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
10769 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
10770 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
10771 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
10772 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
10773 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
10774 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
10775 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
10776 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
10777 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
10778 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
10779 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
10780 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
10781 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
10782 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
10783 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
10784 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
10785 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
10786 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
10787 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
10788 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
10789 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
10790 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
10791 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
10792 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
10793 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
10794 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
10795 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
10796 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
10797 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
10798 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
10799 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
10800 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
10801 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
10802 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
10803 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
10804 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
10805 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
10806 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
10807 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
10808 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
10809 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
10810 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
10811 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
10812 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
10813 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
10814 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
10815 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
10816 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
10817 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
10818 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
10819 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
10820 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
10821 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
10822 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
10823 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
10824 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
10825 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
10826 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
10827 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
10828
10829 2015-07-10 Tom de Vries <tom@codesourcery.com>
10830
10831 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
10832 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
10833
10834 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
10835
10836 PR libgomp/65099
10837 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
10838 in a 64-bit configuration.
10839 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
10840 offloading testing if no such device is available.
10841 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10842 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10843
10844 2015-07-08 Tom de Vries <tom@codesourcery.com>
10845
10846 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
10847 second call to f.
10848 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10849
10850 2015-07-07 Tom de Vries <tom@codesourcery.com>
10851
10852 PR tree-optimization/66642
10853 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
10854 iteration count case.
10855 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
10856 function, factor out of ...
10857 (main): ... here. Test low iteration count case.
10858
10859 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
10860
10861 * libgomp.h (gomp_thread_pool): Comment last_team field.
10862
10863 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
10864
10865 * testsuite/libgomp.c++/pr66702-1.C: Require
10866 vect_simd_clones effective target.
10867 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
10868
10869 2015-06-30 Tom de Vries <tom@codesourcery.com>
10870
10871 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
10872 already set. Use DEFAULT_CFLAGS in dg-runtest.
10873 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
10874 "-O2".
10875
10876 2015-06-30 Tom de Vries <tom@codesourcery.com>
10877
10878 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
10879 already set. Use DEFAULT_CFLAGS in dg-runtest.
10880 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
10881 * testsuite/libgomp.c++/pr64824.C: Same.
10882 * testsuite/libgomp.c++/pr64868.C: Same.
10883 * testsuite/libgomp.c++/pr66199-1.C: Same.
10884 * testsuite/libgomp.c++/pr66199-2.C: Same.
10885 * testsuite/libgomp.c++/target-2.C: Same.
10886 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
10887 -std=<standard> option.
10888 * testsuite/libgomp.c++/udr-11.C: Same.
10889 * testsuite/libgomp.c++/udr-12.C: Same.
10890 * testsuite/libgomp.c++/udr-13.C: Same.
10891 * testsuite/libgomp.c++/udr-14.C: Same.
10892 * testsuite/libgomp.c++/udr-15.C: Same.
10893 * testsuite/libgomp.c++/udr-16.C: Same.
10894 * testsuite/libgomp.c++/udr-17.C: Same.
10895 * testsuite/libgomp.c++/udr-18.C: Same.
10896 * testsuite/libgomp.c++/udr-19.C: Same.
10897 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
10898 * testsuite/libgomp.c++/simd-1.C: Same.
10899 * testsuite/libgomp.c++/simd-2.C: Same.
10900 * testsuite/libgomp.c++/simd-3.C: Same.
10901 * testsuite/libgomp.c++/simd-4.C: Same.
10902 * testsuite/libgomp.c++/simd-5.C: Same.
10903 * testsuite/libgomp.c++/simd-6.C: Same.
10904 * testsuite/libgomp.c++/simd-7.C: Same.
10905 * testsuite/libgomp.c++/simd-8.C: Same.
10906 * testsuite/libgomp.c++/simd-9.C: Same.
10907 * testsuite/libgomp.c++/simd10.C: Same.
10908 * testsuite/libgomp.c++/simd11.C: Same.
10909 * testsuite/libgomp.c++/simd12.C: Same.
10910 * testsuite/libgomp.c++/simd13.C: Same.
10911
10912 2015-06-30 Jakub Jelinek <jakub@redhat.com>
10913
10914 PR middle-end/66702
10915 * testsuite/libgomp.c++/pr66702-1.C: New test.
10916 * testsuite/libgomp.c++/pr66702-2.C: New test.
10917
10918 2015-06-30 Tom de Vries <tom@codesourcery.com>
10919
10920 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
10921 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
10922 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
10923 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
10924
10925 2015-06-30 Tom de Vries <tom@codesourcery.com>
10926
10927 PR tree-optimization/66652
10928 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
10929 using restrict pointers.
10930 (main): Add arguments to calls to f.
10931 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10932
10933 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
10934
10935 * configure.ac: Fix check for header <sys/sysctl.h>.
10936 * configure: Regenerate.
10937 * config.h.in: Likewise.
10938
10939 2015-06-23 Tom de Vries <tom@codesourcery.com>
10940
10941 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
10942 abort.
10943 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
10944
10945 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
10946
10947 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
10948 acc_device_nvidia.
10949
10950 PR libgomp/66518
10951 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
10952 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10953
10954 2015-06-15 Tom de Vries <tom@codesourcery.com>
10955
10956 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
10957 dg-additional-options for any remaining options.
10958 * testsuite/libgomp.c/atomic-2.c: Same.
10959 * testsuite/libgomp.c/atomic-4.c: Same.
10960 * testsuite/libgomp.c/atomic-5.c: Same.
10961 * testsuite/libgomp.c/atomic-6.c: Same.
10962 * testsuite/libgomp.c/autopar-1.c: Same.
10963 * testsuite/libgomp.c/copyin-1.c: Same.
10964 * testsuite/libgomp.c/copyin-2.c: Same.
10965 * testsuite/libgomp.c/copyin-3.c: Same.
10966 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
10967 * testsuite/libgomp.c/nestedfn-5.c: Same.
10968 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
10969 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
10970 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
10971 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10972 * testsuite/libgomp.c/pr32362-1.c: Same.
10973 * testsuite/libgomp.c/pr32362-2.c: Same.
10974 * testsuite/libgomp.c/pr32362-3.c: Same.
10975 * testsuite/libgomp.c/pr39591-1.c: Same.
10976 * testsuite/libgomp.c/pr39591-2.c: Same.
10977 * testsuite/libgomp.c/pr39591-3.c: Same.
10978 * testsuite/libgomp.c/pr58392.c: Same.
10979 * testsuite/libgomp.c/pr58756.c: Same.
10980 * testsuite/libgomp.c/simd-1.c: Same.
10981 * testsuite/libgomp.c/simd-10.c: Same.
10982 * testsuite/libgomp.c/simd-11.c: Same.
10983 * testsuite/libgomp.c/simd-12.c: Same.
10984 * testsuite/libgomp.c/simd-13.c: Same.
10985 * testsuite/libgomp.c/simd-14.c: Same.
10986 * testsuite/libgomp.c/simd-15.c: Same.
10987 * testsuite/libgomp.c/simd-2.c: Same.
10988 * testsuite/libgomp.c/simd-3.c: Same.
10989 * testsuite/libgomp.c/simd-4.c: Same.
10990 * testsuite/libgomp.c/simd-5.c: Same.
10991 * testsuite/libgomp.c/simd-6.c: Same.
10992 * testsuite/libgomp.c/simd-7.c: Same.
10993 * testsuite/libgomp.c/simd-8.c: Same.
10994 * testsuite/libgomp.c/simd-9.c: Same.
10995
10996 2015-06-15 Tom de Vries <tom@codesourcery.com>
10997
10998 * testsuite/libgomp.c/pr35625.c: Fix typo.
10999
11000 2015-06-15 Tom de Vries <tom@codesourcery.com>
11001
11002 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
11003 in dg-options.
11004 * testsuite/libgomp.c/atomic-3.c: Same.
11005 * testsuite/libgomp.c/debug-1.c: Same.
11006 * testsuite/libgomp.c/nqueens-1.c: Same.
11007 * testsuite/libgomp.c/pr26171.c: Same.
11008 * testsuite/libgomp.c/pr48591.c: Same.
11009 * testsuite/libgomp.c/pr64824.c: Same.
11010 * testsuite/libgomp.c/pr64868.c: Same.
11011 * testsuite/libgomp.c/pr66133.c: Same.
11012 * testsuite/libgomp.c/pr66199-1.c: Same.
11013 * testsuite/libgomp.c/pr66199-2.c: Same.
11014 * testsuite/libgomp.c/target-8.c: Same.
11015
11016 2015-06-15 Tom de Vries <tom@codesourcery.com>
11017
11018 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
11019 -std={gnu99,c99}.
11020 * testsuite/libgomp.c/for-1.c: Same.
11021 * testsuite/libgomp.c/for-2.c: Same.
11022 * testsuite/libgomp.c/for-3.c: Same.
11023 * testsuite/libgomp.c/pr35625.c: Same.
11024 * testsuite/libgomp.c/pr39154.c: Same.
11025 * testsuite/libgomp.c/simd-16.c: Same.
11026 * testsuite/libgomp.c/simd-17.c: Same.
11027
11028 2015-06-13 Tom de Vries <tom@codesourcery.com>
11029
11030 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
11031
11032 2015-06-13 Tom de Vries <tom@codesourcery.com>
11033
11034 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
11035 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11036 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
11037 (N): Define.
11038 (main): Use N instead of hardcoded constants.
11039
11040 2015-06-05 Tom de Vries <tom@codesourcery.com>
11041
11042 merge from gomp4 branch:
11043 2015-05-28 Tom de Vries <tom@codesourcery.com>
11044
11045 PR tree-optimization/65443
11046 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
11047 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
11048 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
11049
11050 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
11051
11052 * testsuite/libgomp.graphite/bounds.c: Adjust for
11053 cleanup-tree-dump removal.
11054 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
11055 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
11056 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11057 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
11058 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11059 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
11060 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11061 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11062 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
11063 * testsuite/libgomp.graphite/pr41118.c: Likewise.
11064
11065 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
11066
11067 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
11068 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
11069 (futex_wake) [!__x86_64__]: Ditto.
11070
11071 2015-05-28 Julian Brown <julian@codesourcery.com>
11072
11073 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
11074 function comment. Only call gomp_fatal if new argument is true.
11075 (acc_dev_num_out_of_range): New function.
11076 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
11077 acc_dev_num_out_of_range as appropriate.
11078 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
11079 (acc_get_device_num, acc_set_device_num): Update calls to
11080 resolve_device.
11081 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
11082 output.
11083
11084 2015-05-28 Julian Brown <julian@codesourcery.com>
11085
11086 PR libgomp/65742
11087 * oacc-init.c (plugin/plugin-host.h): Include.
11088 (acc_on_device): Check whether we're in an offloaded region for
11089 host_nonshm
11090 plugin. Don't use __builtin_acc_on_device.
11091 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
11092 nonshm_exec flag in thread-local data.
11093 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
11094 data for host_nonshm plugin.
11095 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
11096 for host_nonshm plugin.
11097 * plugin/plugin-host.h: New.
11098
11099 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
11100
11101 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
11102
11103 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
11104
11105 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
11106 Declare as int.
11107 (FUTEX_PRIVATE_FLAG): Remove L suffix.
11108 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
11109 Declare as int.
11110
11111 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
11112
11113 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
11114
11115 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
11116
11117 * target.c (gomp_map_pointer): New function abstracting out
11118 GOMP_MAP_POINTER handling.
11119 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
11120 gomp_map_pointer().
11121
11122 2015-05-19 Jakub Jelinek <jakub@redhat.com>
11123
11124 PR middle-end/66199
11125 * testsuite/libgomp.c/pr66199-1.c: New test.
11126 * testsuite/libgomp.c/pr66199-2.c: New test.
11127 * testsuite/libgomp.c++/pr66199-1.C: New test.
11128 * testsuite/libgomp.c++/pr66199-2.C: New test.
11129 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
11130 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
11131
11132 2015-05-19 Julian Brown <julian@codesourcery.com>
11133
11134 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
11135 on cuInit failure.
11136
11137 2015-05-13 Jakub Jelinek <jakub@redhat.com>
11138
11139 PR middle-end/66133
11140 * testsuite/libgomp.c/pr66133.c: New test.
11141
11142 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
11143
11144 * Makefile.in: Regenerated with automake-1.11.6.
11145 * aclocal.m4: Likewise.
11146 * config.h.in: Likewise.
11147 * configure: Likewise.
11148 * testsuite/Makefile.in: Likewise.
11149
11150 2015-05-08 Jason Merrill <jason@redhat.com>
11151
11152 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
11153 _Complex.
11154
11155 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
11156
11157 2015-05-06 Julian Brown <julian@codesourcery.com>
11158
11159 * oacc-init.c (acc_device_lock): Add explanatory comment.
11160 (resolve_device): Add comment about locking requirement.
11161 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
11162 gomp_init_device and gomp_fini_device calls.
11163 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
11164 (acc_get_device_num, acc_set_device_num): Add locking around
11165 resolve_device and gomp_init_device calls.
11166
11167 2015-05-06 Julian Brown <julian@codesourcery.com>
11168
11169 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
11170 goacc_thread_lock on error paths.
11171 * oacc-mem.c (lookup_host): Remove locking from function. Note
11172 locking requirement for caller in function comment.
11173 (lookup_dev): Likewise.
11174 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
11175 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
11176 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
11177 Add locking.
11178
11179 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
11180
11181 PR testsuite/65205
11182 PR libgomp/65993
11183 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
11184 don't expect "0x" prefix for "%p" format specifier, don't expect
11185 "(nil)" for NULL pointer.
11186 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11187 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11188 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11189 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11190 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11191 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11192 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11193 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11194 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11195 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11196 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11197 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11198 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11199 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11200 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11201 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11202 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11203 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11204 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11205 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11206 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11207 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11208 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11209 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11210 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11211 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11212 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11213 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11214 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
11215 accurately specify what we're looking for.
11216 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11217 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11218 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11219 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11220 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11221
11222 2015-04-30 James Norris <jnorris@codesourcery.com>
11223
11224 PR testsuite/65205
11225 * testsuite/lib/libgomp.exp
11226 (check_effective_target_openacc_host_selected)
11227 (check_effective_target_openacc_host_nonshm_selected): New
11228 procedures.
11229 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
11230 dg-shouldfail.
11231 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11232 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11233 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11234 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11235 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11236 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11237 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11238 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11239 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11240 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11241 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11242 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11243 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11244 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11245 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11246 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11247 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11248 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11249 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11250 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11251 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11252 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11253 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11254 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11255 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11256 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11257 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11258 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11259 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11260 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11261 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11262 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11263 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11264 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11265 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11266 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11267 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11268 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11269 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11270 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11271 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11272 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11273 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11274
11275 2015-04-08 Julian Brown <julian@codesourcery.com>
11276
11277 * libgomp.h (target_mem_desc: Remove mem_map field.
11278 (acc_dispatch_t): Remove open_device_func, close_device_func,
11279 get_device_num_func, set_device_num_func, target_data members.
11280 Change create_thread_data_func argument to device number instead of
11281 generic pointer.
11282 * oacc-async.c (assert.h): Include.
11283 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
11284 (acc_wait_all, acc_wait_all_async): Use current host thread's
11285 active device, not base_dev.
11286 * oacc-cuda.c (acc_get_current_cuda_device)
11287 (acc_get_current_cuda_context, acc_get_cuda_stream)
11288 (acc_set_cuda_stream): Likewise.
11289 * oacc-host.c (host_dispatch): Don't set open_device_func,
11290 close_device_func, get_device_num_func or set_device_num_func.
11291 * oacc-init.c (base_dev, init_key): Remove.
11292 (cached_base_dev): New.
11293 (name_of_acc_device_t): New.
11294 (acc_init_1): Initialise default-numbered device, not zeroth.
11295 (acc_shutdown_1): Close all devices of a given type.
11296 (goacc_destroy_thread): Don't use base_dev.
11297 (lazy_open, lazy_init, lazy_init_and_open): Remove.
11298 (goacc_attach_host_thread_to_device): New.
11299 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
11300 (acc_get_num_devices): Don't use base_dev.
11301 (acc_set_device_type): Reimplement.
11302 (acc_get_device_type): Don't use base_dev.
11303 (acc_get_device_num): Tweak logic.
11304 (acc_set_device_num): Likewise.
11305 (acc_on_device): Use acc_get_device_type.
11306 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
11307 (goacc_lazy_initialize): Reimplement with acc_init and
11308 goacc_attach_host_thread_to_device.
11309 * oacc-int.h (goacc_thread): Add base_dev field.
11310 (base_dev): Remove extern declaration.
11311 (goacc_attach_host_thread_to_device): Add prototype.
11312 * oacc-mem.c (acc_malloc): Use current thread's device instead of
11313 base_dev.
11314 (acc_free): Likewise.
11315 (acc_memcpy_to_device): Likewise.
11316 (acc_memcpy_from_device): Likewise.
11317 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
11318 goacc_lazy_initialize (throughout).
11319 (GOACC_parallel): Use tgt_offset to locate target functions.
11320 * target.c (gomp_map_vars): Don't set tgt->mem_map.
11321 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
11322 (gomp_load_plugin_for_device): Remove open_device, close_device,
11323 get_device_num, set_device_num openacc hook initialisation. Don't set
11324 openacc.target_data.
11325 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
11326 (GOMP_OFFLOAD_openacc_close_device)
11327 (GOMP_OFFLOAD_openacc_get_device_num)
11328 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
11329 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
11330 to int.
11331 * plugin/plugin-nvptx.c (ptx_inited): Remove.
11332 (instantiated_devices, ptx_dev_lock): New.
11333 (struct ptx_image_data): New.
11334 (ptx_devices, ptx_images, ptx_image_lock): New.
11335 (fini_streams_for_device): Reorder cuStreamDestroy call.
11336 (nvptx_get_num_devices): Remove forward declaration.
11337 (nvptx_init): Change return type to bool.
11338 (nvptx_fini): Remove.
11339 (nvptx_attach_host_thread_to_device): New.
11340 (nvptx_open_device): Return struct ptx_device* instead of void*.
11341 (nvptx_close_device): Change argument type to struct ptx_device*,
11342 return type to void.
11343 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
11344 (kernel_target_data, kernel_host_table): Remove static globals.
11345 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
11346 (GOMP_OFFLOAD_init_device): Reimplement.
11347 (GOMP_OFFLOAD_fini_device): Likewise.
11348 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
11349 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
11350 (GOMP_OFFLOAD_host2dev): Use ORD argument.
11351 (GOMP_OFFLOAD_openacc_open_device)
11352 (GOMP_OFFLOAD_openacc_close_device)
11353 (GOMP_OFFLOAD_openacc_set_device_num)
11354 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
11355 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
11356 (device number).
11357
11358 testsuite/
11359 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
11360
11361 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
11362
11363 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
11364 * libgomp.h (struct gomp_memory_mapping): Remove.
11365 (struct target_mem_desc): Change type of mem_map from
11366 gomp_memory_mapping * to splay_tree_s *.
11367 (struct gomp_device_descr): Remove register_image_func, get_table_func.
11368 Add load_image_func, unload_image_func.
11369 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
11370 Remove offload_regions_registered.
11371 (gomp_init_tables): Remove.
11372 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
11373 to splay_tree_s *.
11374 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
11375 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
11376 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
11377 offload_regions_registered.
11378 Initialize load_image_func, unload_image_func, mem_map.root.
11379 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
11380 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
11381 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
11382 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
11383 gomp_memory_mapping *. Use dev's lock and splay_tree.
11384 (lookup_dev): Use dev's lock.
11385 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
11386 (acc_is_present): Likewise.
11387 (acc_map_data): Likewise.
11388 (acc_unmap_data): Likewise. Use dev's lock.
11389 (present_create_copy): Likewise.
11390 (delete_copyout): Pass dev to lookup_host instead of mem_map.
11391 (update_dev_host): Likewise.
11392 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
11393 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
11394 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
11395 (GOMP_OFFLOAD_get_table): Remove
11396 (GOMP_OFFLOAD_load_image): New function.
11397 (GOMP_OFFLOAD_unload_image): New function.
11398 * target.c (register_lock): New mutex for offload image registration.
11399 (num_devices): Do not guard with PLUGIN_SUPPORT.
11400 (gomp_realloc_unlock): New static function.
11401 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
11402 before gomp_fatal.
11403 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
11404 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
11405 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
11406 mem_map's.
11407 (gomp_unmap_vars): Likewise.
11408 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
11409 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
11410 (gomp_offload_image_to_device): New static function.
11411 (GOMP_offload_register): Add mutex lock.
11412 Call gomp_offload_image_to_device for all initialized devices.
11413 Replace gomp_realloc with gomp_realloc_unlock.
11414 (GOMP_offload_unregister): New function.
11415 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
11416 get_table_func from the plugin with calls to init_device_func and
11417 gomp_offload_image_to_device.
11418 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
11419 to splay_tree_s *.
11420 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
11421 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
11422 (GOMP_target_data): Do not call gomp_init_tables.
11423 (GOMP_target_update): Likewise. Remove argument from gomp_update.
11424 (gomp_load_plugin_for_device): Replace register_image and get_table
11425 with load_image and unload_image in DLSYM ().
11426 (gomp_register_images_for_device): Remove function.
11427 (gomp_target_init): Do not initialize current_device.mem_map.*,
11428 current_device.offload_regions_registered.
11429 Remove call to gomp_register_images_for_device.
11430 Do not free offload_images and num_offload_images.
11431
11432 2015-03-30 Jakub Jelinek <jakub@redhat.com>
11433
11434 PR fortran/65597
11435 * testsuite/libgomp.fortran/pr65597.f90: New test.
11436
11437 2015-03-27 Tom de Vries <tom@codesourcery.com>
11438
11439 PR testsuite/65594
11440 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
11441 (init, check): New function.
11442 (foo): Change return type to void.
11443 (main): Call init and check.
11444
11445 2015-03-27 Tom de Vries <tom@codesourcery.com>
11446
11447 PR testsuite/65594
11448 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
11449 (foo): Use M for non-inner loops to scale down test-case.
11450
11451 2015-03-25 Kai Tietz <ktietz@redhat.com>
11452
11453 PR libgomp/64972
11454 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
11455 (GOACC_data_start): Likewise.
11456 * target.c (gomp_map_vars): Likewise.
11457
11458 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
11459
11460 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
11461 hppa*-*-hpux*.
11462
11463 2015-03-19 Jakub Jelinek <jakub@redhat.com>
11464
11465 * testsuite/libgomp.c/target-10.c: New test.
11466 * testsuite/libgomp.c++/target-4.C: New test.
11467
11468 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
11469
11470 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
11471 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
11472
11473 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
11474
11475 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
11476 * configure.ac (*-*-rtems*): Assume Pthread is supported.
11477 (pthread.h): Check for this header file.
11478 * configure: Regenerate.
11479
11480 2015-02-25 Tom de Vries <tom@codesourcery.com>
11481
11482 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
11483 (check_reduction_op, check_reduction_macro, max, min):
11484 Declare.
11485 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
11486 function.
11487 (main): Use new functions.
11488
11489 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
11490
11491 * target.c (gomp_load_plugin_for_device): Use const char * instead of
11492 char * for variables holding dlerror return values.
11493 (DLSYM_OPT): Ditto.
11494
11495 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
11496
11497 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
11498
11499 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
11500 Cesar Philippidis <cesar@codesourcery.com>
11501
11502 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
11503 GOACC_ctaid, and GOACC_nctaid routines.
11504
11505 2015-02-11 Jakub Jelinek <jakub@redhat.com>
11506
11507 PR c/64824
11508 * testsuite/libgomp.c/atomic-18.c: New test.
11509 * testsuite/libgomp.c++/atomic-16.C: New test.
11510
11511 2015-02-04 Jakub Jelinek <jakub@redhat.com>
11512
11513 PR c/64824
11514 PR c/64868
11515 * testsuite/libgomp.c/pr64824.c: New test.
11516 * testsuite/libgomp.c/pr64868.c: New test.
11517 * testsuite/libgomp.c++/pr64824.C: New test.
11518 * testsuite/libgomp.c++/pr64868.C: New test.
11519
11520 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
11521
11522 PR libgomp/64635
11523 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
11524 Link with -lpthread.
11525 * config/aix/plugin-suffix.h: Delete.
11526
11527 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
11528
11529 PR libgomp/64635
11530 * configure.tgt (*-*-aix*): Use config_path "aix posix".
11531 (*-*-darwin*): Use config_path "bsd darwin posix".
11532 (*-*-hpux*): Use config_path "hpux posix".
11533 * target.c: Add include of plugin-suffix.h and use
11534 SONAME_SUFFIX macro.
11535 * config/aix/plugin-suffix.h: New file.
11536 * config/darwin/plugin-suffix.h: New file.
11537 * config/hpux/plugin-suffix.h: New file.
11538 * config/posix/plugin-suffix.h: New file.
11539
11540 2015-01-23 Jakub Jelinek <jakub@redhat.com>
11541
11542 PR middle-end/64734
11543 * libgomp.c/pr64734.c: New test.
11544
11545 2015-01-23 Tom de Vries <tom@codesourcery.com>
11546
11547 PR libgomp/64672
11548 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
11549
11550 2015-01-23 Tom de Vries <tom@codesourcery.com>
11551
11552 PR libgomp/64707
11553 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
11554 dg-options.
11555
11556 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
11557
11558 PR libgomp/64625
11559 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
11560 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
11561 formal parameter. Update all users.
11562 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
11563 Document unused formal parameter.
11564
11565 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
11566
11567 * oacc-parallel.c: Don't include <alloca.h>.
11568 (GOACC_parallel): Use gomp_alloca instead of alloca.
11569
11570 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
11571
11572 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
11573
11574 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
11575 James Norris <jnorris@codesourcery.com>
11576 Tom de Vries <tom@codesourcery.com>
11577 Julian Brown <julian@codesourcery.com>
11578 Cesar Philippidis <cesar@codesourcery.com>
11579 Nathan Sidwell <nathan@codesourcery.com>
11580 Tobias Burnus <burnus@net-b.de>
11581
11582 * Makefile.am (search_path): Add $(top_srcdir)/../include.
11583 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
11584 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
11585 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
11586 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
11587 Include $(top_srcdir)/plugin/Makefrag.am.
11588 (nodist_libsubinclude_HEADERS): Add openacc.h.
11589 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
11590 openacc.f90, openacc.mod, openacc_kinds.mod.
11591 (omp_lib.mod): Generalize into...
11592 (%.mod): ... this new rule.
11593 (openacc_kinds.mod, openacc.mod): New rules.
11594 * plugin/configfrag.ac: New file.
11595 * configure.ac: Move plugin/offloading support into it. Include
11596 it. Instantiate testsuite/libgomp-test-support.pt.exp.
11597 * plugin/Makefrag.am: New file.
11598 * testsuite/Makefile.am (OFFLOAD_TARGETS)
11599 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
11600 export.
11601 (libgomp-test-support.exp): New rule.
11602 (all-local): Depend on it.
11603 * Makefile.in: Regenerate.
11604 * testsuite/Makefile.in: Regenerate.
11605 * config.h.in: Likewise.
11606 * configure: Likewise.
11607 * configure.tgt: Harden shell syntax.
11608 * env.c: Include "oacc-int.h".
11609 (parse_acc_device_type): New function.
11610 (gomp_debug_var, goacc_device_type, goacc_device_num): New
11611 variables.
11612 (initialize_env): Initialize those. Call
11613 goacc_runtime_initialize.
11614 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
11615 (gomp_fatal): Call gomp_vfatal.
11616 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
11617 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
11618 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
11619 (splay_tree_node, splay_tree, splay_tree_key)
11620 (struct target_mem_desc, struct splay_tree_key_s)
11621 (struct gomp_memory_mapping, struct acc_dispatch_t)
11622 (struct gomp_device_descr, gomp_acc_insert_pointer)
11623 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
11624 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
11625 (gomp_free_memmap, gomp_fini_device): New declarations.
11626 (gomp_vdebug, gomp_debug): New macros.
11627 Include "splay-tree.h".
11628 * libgomp.map (OACC_2.0): New symbol version. Use for
11629 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
11630 acc_set_device_type_h_, acc_get_device_type,
11631 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
11632 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
11633 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
11634 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
11635 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
11636 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
11637 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
11638 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
11639 acc_copyin_array_h_, acc_present_or_copyin,
11640 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
11641 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
11642 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
11643 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
11644 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
11645 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
11646 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
11647 acc_update_device, acc_update_device_32_h_,
11648 acc_update_device_64_h_, acc_update_device_array_h_,
11649 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
11650 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
11651 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
11652 acc_is_present_64_h_, acc_is_present_array_h_,
11653 acc_memcpy_to_device, acc_memcpy_from_device,
11654 acc_get_current_cuda_device, acc_get_current_cuda_context,
11655 acc_get_cuda_stream, acc_set_cuda_stream.
11656 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
11657 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
11658 GOACC_update, GOACC_wait, GOACC_get_thread_num,
11659 GOACC_get_num_threads.
11660 (GOMP_PLUGIN_1.0): New symbol version. Use for
11661 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
11662 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
11663 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
11664 GOMP_PLUGIN_acc_thread.
11665 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
11666 environment variable.
11667 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
11668 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
11669 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
11670 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
11671 (splay_tree_remove): New declarations.
11672 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
11673 (splay_tree_remove, splay_tree_lookup): Move into...
11674 * splay-tree.c: ... this new file.
11675 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
11676 (splay_tree_node, splay_tree, splay_tree_key)
11677 (struct target_mem_desc, struct splay_tree_key_s)
11678 (struct gomp_device_descr): Don't declare.
11679 (num_devices_openmp): New variable.
11680 (gomp_get_num_devices ): Use it.
11681 (gomp_init_targets_once): New function.
11682 (gomp_get_num_devices ): Use it.
11683 (get_kind, gomp_copy_from_async, gomp_free_memmap)
11684 (gomp_fini_device, gomp_register_image_for_device): New functions.
11685 (gomp_map_vars): Add devaddrs parameter.
11686 (gomp_update): Add mm parameter.
11687 (gomp_init_device): Move most of it into...
11688 (gomp_init_tables): ... this new function.
11689 (gomp_register_images_for_device): Remove function.
11690 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
11691 Make them hidden instead of static.
11692 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
11693 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
11694 (GOMP_target_end_data, GOMP_target_update)
11695 (gomp_load_plugin_for_device, gomp_target_init): Update for
11696 OpenACC changes.
11697 * oacc-async.c: New file.
11698 * oacc-cuda.c: Likewise.
11699 * oacc-host.c: Likewise.
11700 * oacc-init.c: Likewise.
11701 * oacc-int.h: Likewise.
11702 * oacc-mem.c: Likewise.
11703 * oacc-parallel.c: Likewise.
11704 * oacc-plugin.c: Likewise.
11705 * oacc-plugin.h: Likewise.
11706 * oacc-ptx.h: Likewise.
11707 * openacc.f90: Likewise.
11708 * openacc.h: Likewise.
11709 * openacc_lib.h: Likewise.
11710 * plugin/plugin-host.c: Likewise.
11711 * plugin/plugin-nvptx.c: Likewise.
11712 * libgomp-plugin.c: Likewise.
11713 * libgomp-plugin.h: Likewise.
11714 * libgomp_target.h: Remove file after merging content into the
11715 former file. Update all users.
11716 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
11717 (offload_targets_s, offload_targets_s_openacc): New variables.
11718 (check_effective_target_openacc_nvidia_accel_present)
11719 (check_effective_target_openacc_nvidia_accel_selected): New
11720 procedures.
11721 (libgomp_init): Update for OpenACC changes.
11722 * testsuite/libgomp-test-support.exp.in: New file.
11723 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
11724 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11725 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11726 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
11727 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
11728 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11729 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
11730 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11731 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
11732 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
11733 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
11734 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11735 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
11736 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
11737 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
11738 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
11739 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
11740 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
11741 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
11742 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
11743 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
11744 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
11745 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
11746 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11747 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11748 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11749 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11750 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11751 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11752 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11753 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11754 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
11755 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
11756 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
11757 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
11758 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11759 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
11760 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11761 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
11762 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
11763 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
11764 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
11765 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11766 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11767 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11768 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
11769 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11770 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11771 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11772 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11773 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11774 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
11775 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11776 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11777 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11778 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11779 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11780 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11781 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11782 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
11783 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11784 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
11785 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11786 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11787 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11788 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
11789 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
11790 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11791 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11792 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11793 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
11794 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11795 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11796 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11797 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
11798 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
11799 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11800 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11801 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
11802 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
11803 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
11804 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
11805 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11806 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11807 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11808 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
11809 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
11810 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11811 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11812 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
11813 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
11814 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
11815 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
11816 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11817 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11818 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11819 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11820 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
11821 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11822 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11823 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
11824 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
11825 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
11826 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11827 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
11828 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
11829 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
11830 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
11831 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
11832 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11833 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
11834 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
11835 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11836 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
11837 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
11838 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11839 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
11840 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
11841 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
11842 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
11843 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
11844 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
11845 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
11846 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
11847 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
11848 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
11849 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
11850 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
11851 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
11852 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
11853 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
11854 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
11855 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11856 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
11857 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
11858 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
11859 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
11860 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
11861 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
11862 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
11863 Likewise.
11864 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
11865 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
11866 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
11867 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
11868 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
11869 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11870 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11871 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11872 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11873 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11874 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11875 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11876 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11877 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11878 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11879 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11880 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11881 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11882 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11883 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11884 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11885 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11886 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11887 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11888 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11889 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11890 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11891 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11892 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11893 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11894 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11895 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11896 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11897 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11898 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11899 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11900 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11901 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11902 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11903 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11904 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11905 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11906 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11907 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11908 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11909 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11910 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11911 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
11912 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
11913 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11914 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11915 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11916 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
11917 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11918 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11919 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11920 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11921 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11922 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11923 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11924
11925 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
11926 Julian Brown <julian@codesourcery.com>
11927 David Malcolm <dmalcolm@redhat.com>
11928
11929 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
11930 to "GNU Offloading and Multi Processing Runtime Library". Change
11931 all users.
11932 * configure: Regenerate.
11933 * libgomp.texi: Update.
11934
11935 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
11936
11937 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
11938 "$tgt_dir/lib32".
11939 * configure: Regenerate.
11940
11941 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
11942 "intelmic" in $offload_targets.
11943
11944 2015-01-05 Jakub Jelinek <jakub@redhat.com>
11945
11946 Update copyright years.
11947
11948 * libgomp.texi: Bump @copying's copyright year.
11949
11950 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11951
11952 * testsuite/lib/libgomp.exp: Load target-utils.exp.
11953 Move load of target-supports.exp earlier.
11954
11955 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
11956
11957 * testsuite/libgomp.c/target-9.c: New test.
11958
11959 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
11960
11961 * config.h.in: Regenerate.
11962 * configure: Regenerate.
11963 * configure.ac: Add GCC_CHECK_EMUTLS.
11964 * libgomp.h: Add check for USE_EMUTLS: this case
11965 is equal to HAVE_TLS.
11966 * team.c: Likewise.
11967
11968 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
11969
11970 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
11971
11972 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
11973 Ilya Verbin <ilya.verbin@intel.com>
11974
11975 * testsuite/libgomp.c/target-critical-1.c: New test.
11976
11977 2014-11-26 Jakub Jelinek <jakub@redhat.com>
11978
11979 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
11980 to dg-options unless expensive testing is on.
11981 (TESTITERS): Define to N if not defined.
11982 (main): Use TESTITERS instead of N.
11983 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
11984 dg-additional-options depending on whether expensive testing is on.
11985 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
11986 Decrease N to 100000 and CHUNKSZ to 10000.
11987
11988 2014-11-24 Jakub Jelinek <jakub@redhat.com>
11989
11990 PR fortran/63938
11991 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
11992 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
11993
11994 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
11995
11996 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
11997
11998 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
11999
12000 PR bootstrap/63784
12001 * configure: Regenerated.
12002
12003 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
12004
12005 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
12006 vect_simd_clones effective target.
12007 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12008
12009 2014-11-14 Jakub Jelinek <jakub@redhat.com>
12010
12011 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
12012 of 32 as block_size.
12013 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
12014 instead of 32 as block_size.
12015
12016 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
12017 Ilya Verbin <ilya.verbin@intel.com>
12018
12019 * Makefile.in: Regenerate.
12020 * configure: Regenerate.
12021 * configure.ac: Set up offload_additional_options,
12022 offload_additional_lib_paths and offload_targets.
12023 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
12024 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
12025 * testsuite/Makefile.in: Regenerate.
12026 * testsuite/lib/libgomp.exp (libgomp_init): Append
12027 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
12028 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
12029 build directory to LD_LIBRARY_PATH for intelmic offload targets.
12030
12031 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
12032 Ilya Verbin <ilya.verbin@intel.com>
12033 Kirill Yukhin <kirill.yukhin@intel.com>
12034 Ilya Tocar <ilya.tocar@intel.com>
12035
12036 * testsuite/lib/libgomp.exp
12037 (check_effective_target_offload_device): New.
12038 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
12039 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
12040 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
12041 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
12042 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
12043 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
12044 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
12045 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
12046 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
12047 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
12048 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
12049 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
12050 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
12051 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
12052 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
12053 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
12054 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
12055 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
12056 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
12057 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
12058 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
12059 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
12060 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
12061 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
12062 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
12063 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
12064 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
12065 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
12066 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
12067 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
12068 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
12069 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
12070 * testsuite/libgomp.c/target-7.c: Fix test.
12071 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
12072 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
12073 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
12074 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
12075 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
12076 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
12077 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
12078 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
12079 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
12080 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
12081 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
12082 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
12083 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
12084 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
12085 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
12086 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
12087 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
12088 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
12089 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12090 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
12091 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
12092 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
12093 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
12094 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
12095 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
12096 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
12097 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
12098 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
12099 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
12100 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
12101 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
12102
12103 2014-11-13 Jakub Jelinek <jakub@redhat.com>
12104 Ilya Verbin <ilya.verbin@intel.com>
12105 Thomas Schwinge <thomas@codesourcery.com>
12106 Andrey Turetskiy <andrey.turetskiy@intel.com>
12107
12108 * libgomp.map (GOMP_4.0.1): New symbol version.
12109 Add GOMP_offload_register.
12110 * libgomp_target.h: New file.
12111 * splay-tree.h: New file.
12112 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
12113 (gomp_target_init): New forward declaration.
12114 (gomp_is_initialized): New static variable.
12115 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
12116 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
12117 New structures.
12118 (offload_images, num_offload_images, devices, num_devices): New static
12119 variables.
12120 (splay_compare): New static function.
12121 (struct gomp_device_descr): New structure.
12122 (gomp_get_num_devices): Call gomp_target_init.
12123 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
12124 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
12125 (GOMP_offload_register): New function.
12126 (GOMP_target): Arrange for host callback to be performed in a separate
12127 initial thread and contention group, inheriting ICVs from
12128 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
12129 Add device initialization and lookup for target function in splay tree.
12130 (GOMP_target_data): Add device initialization and call gomp_map_vars.
12131 (GOMP_target_end_data): Call gomp_unmap_vars.
12132 (GOMP_target_update): Add device initialization and call gomp_update.
12133 (gomp_load_plugin_for_device, gomp_register_images_for_device)
12134 (gomp_target_init): New static functions.
12135
12136 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
12137 Thomas Schwinge <thomas@codesourcery.com>
12138 Ilya Verbin <ilya.verbin@intel.com>
12139 Andrey Turetskiy <andrey.turetskiy@intel.com>
12140
12141 * config.h.in: Regenerate.
12142 * configure: Regenerate.
12143 * configure.ac: Check for libdl, required for plugin support.
12144 (PLUGIN_SUPPORT): Define if plugins are supported.
12145 (enable_offload_targets): Support Intel MIC targets.
12146 (OFFLOAD_TARGETS): List of target names suitable for offloading.
12147
12148 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12149
12150 PR target/63610
12151 * configure: Regenerate.
12152
12153 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12154
12155 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
12156
12157 2014-10-06 Marek Polacek <polacek@redhat.com>
12158
12159 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
12160 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
12161 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
12162 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
12163
12164 2014-10-06 Marek Polacek <polacek@redhat.com>
12165
12166 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
12167 * testsuite/libgomp.c/nqueens-1.c: Likewise.
12168 * testsuite/libgomp.c/pr26943-3.c: Likewise.
12169 * testsuite/libgomp.c/pr26943-4.c: Likewise.
12170 * testsuite/libgomp.c/pr36802-2.c: Likewise.
12171 * testsuite/libgomp.c/pr36802-3.c: Likewise.
12172 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
12173 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
12174 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
12175 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
12176 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
12177 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
12178 * testsuite/libgomp.c/omp-single-1.c: Likewise.
12179 * testsuite/libgomp.c/omp-single-2.c: Likewise.
12180 * testsuite/libgomp.c/omp_matvec.c: Likewise.
12181 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
12182 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
12183 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
12184 declarations.
12185
12186 2014-10-03 Jakub Jelinek <jakub@redhat.com>
12187
12188 PR libgomp/61200
12189 * testsuite/libgomp.c/pr61200.c: New test.
12190
12191 2014-09-18 Jakub Jelinek <jakub@redhat.com>
12192
12193 PR c++/63248
12194 * testsuite/libgomp.c++/pr63248.C: New test.
12195
12196 2014-08-04 Jakub Jelinek <jakub@redhat.com>
12197
12198 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
12199 is not zero, but taskgroup->children is NULL and there are
12200 any task->children, schedule those instead of waiting.
12201 * testsuite/libgomp.c/depend-6.c: New test.
12202 * testsuite/libgomp.c/depend-7.c: New test.
12203 * testsuite/libgomp.c/depend-8.c: New test.
12204 * testsuite/libgomp.c/depend-9.c: New test.
12205 * testsuite/libgomp.c/depend-10.c: New test.
12206
12207 2014-08-01 Jakub Jelinek <jakub@redhat.com>
12208
12209 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
12210 (struct gomp_taskwait): New type.
12211 (struct gomp_task): Add taskwait and parent_depends_on, remove
12212 in_taskwait and taskwait_sem fields.
12213 (gomp_finish_task): Don't destroy taskwait_sem.
12214 * task.c (gomp_init_task): Don't init in_taskwait, instead init
12215 taskwait and parent_depends_on.
12216 (GOMP_task): For if (0) tasks with depend clause that depend on
12217 earlier tasks don't defer them, instead call
12218 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
12219 Initialize redundant_out field, for redundant out entries just
12220 move them at the end of linked list instead of removing them
12221 completely, and set redundant_out flag instead of redundant.
12222 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
12223 that task.
12224 (gomp_task_run_post_handle_dependers): If parent is in
12225 gomp_task_maybe_wait_for_dependencies and newly runnable task
12226 is not parent_depends_on, queue it in parent->children linked
12227 list after all runnable tasks with parent_depends_on set.
12228 Adjust for addition of taskwait indirection.
12229 (gomp_task_run_post_remove_parent): If parent is in
12230 gomp_task_maybe_wait_for_dependencies and task to be removed
12231 is parent_depends_on, decrement n_depend and if needed awake
12232 parent. Adjust for addition of taskwait indirection.
12233 (GOMP_taskwait): Adjust for addition of taskwait indirection.
12234 (gomp_task_maybe_wait_for_dependencies): New function.
12235 * testsuite/libgomp.c/depend-5.c: New test.
12236
12237 2014-07-13 Tobias Burnus <burnus@net-b.de>
12238
12239 * testsuite/libgomp.fortran/pr34020.f90: Make compile
12240 with TS 18508/Fortran 2015.
12241
12242 2014-07-06 Marek Polacek <polacek@redhat.com>
12243
12244 PR c/6940
12245 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
12246
12247 2014-07-03 Jakub Jelinek <jakub@redhat.com>
12248
12249 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
12250 matches regex $lang_source_re, add $lang_include_flags to options.
12251 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
12252 * testsuite/libgomp.c++/c++.exp: Likewise.
12253 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
12254 and lang_include_flags instead of adding -fintrinsic-modules-path= to
12255 ALWAYS_CFLAGS.
12256 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
12257
12258 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
12259
12260 * testsuite/libgomp.fortran/fortran.exp: Explain
12261 gfortran-dg-runtest usage.
12262
12263 2014-06-25 Jakub Jelinek <jakub@redhat.com>
12264
12265 * testsuite/libgomp.fortran/simd5.f90: New test.
12266 * testsuite/libgomp.fortran/simd6.f90: New test.
12267 * testsuite/libgomp.fortran/simd7.f90: New test.
12268
12269 2014-06-24 Jakub Jelinek <jakub@redhat.com>
12270
12271 * testsuite/libgomp.c/for-2.c: Define SC to static for
12272 #pragma omp for simd testing.
12273 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
12274 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
12275 SC macro.
12276 * testsuite/libgomp.c/simd-14.c: New test.
12277 * testsuite/libgomp.c/simd-15.c: New test.
12278 * testsuite/libgomp.c/simd-16.c: New test.
12279 * testsuite/libgomp.c/simd-17.c: New test.
12280 * testsuite/libgomp.c++/for-10.C: Define SC to static for
12281 #pragma omp for simd testing.
12282 * testsuite/libgomp.c++/simd10.C: New test.
12283 * testsuite/libgomp.c++/simd11.C: New test.
12284 * testsuite/libgomp.c++/simd12.C: New test.
12285 * testsuite/libgomp.c++/simd13.C: New test.
12286
12287 * testsuite/libgomp.fortran/aligned1.f03: New test.
12288 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
12289 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
12290 tasks with !$omp parallel !$omp single.
12291 * testsuite/libgomp.fortran/target8.f90: New test.
12292 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
12293 not to use trim in the combiner, instead call elemental function.
12294 (fn): New elemental function.
12295 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
12296 Make elemental.
12297 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
12298 omp_in): Likewise.
12299 * testsuite/libgomp.fortran/udr12.f90: New test.
12300 * testsuite/libgomp.fortran/udr13.f90: New test.
12301 * testsuite/libgomp.fortran/udr14.f90: New test.
12302 * testsuite/libgomp.fortran/udr15.f90: New test.
12303
12304 2014-06-18 Jakub Jelinek <jakub@redhat.com>
12305
12306 * omp_lib.f90.in (openmp_version): Set to 201307.
12307 * omp_lib.h.in (openmp_version): Likewise.
12308 * testsuite/libgomp.c/target-8.c: New test.
12309 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
12310 and inbranch clauses.
12311 * testsuite/libgomp.fortran/depend-3.f90: New test.
12312 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
12313 openmp_version.
12314 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12315 * testsuite/libgomp.fortran/target1.f90: New test.
12316 * testsuite/libgomp.fortran/target2.f90: New test.
12317 * testsuite/libgomp.fortran/target3.f90: New test.
12318 * testsuite/libgomp.fortran/target4.f90: New test.
12319 * testsuite/libgomp.fortran/target5.f90: New test.
12320 * testsuite/libgomp.fortran/target6.f90: New test.
12321 * testsuite/libgomp.fortran/target7.f90: New test.
12322
12323 2014-06-10 Jakub Jelinek <jakub@redhat.com>
12324
12325 PR fortran/60928
12326 * testsuite/libgomp.fortran/allocatable9.f90: New test.
12327 * testsuite/libgomp.fortran/allocatable10.f90: New test.
12328 * testsuite/libgomp.fortran/allocatable11.f90: New test.
12329 * testsuite/libgomp.fortran/allocatable12.f90: New test.
12330 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
12331 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
12332 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
12333 * testsuite/libgomp.fortran/associate1.f90: New test.
12334 * testsuite/libgomp.fortran/associate2.f90: New test.
12335 * testsuite/libgomp.fortran/procptr1.f90: New test.
12336
12337 2014-06-06 Jakub Jelinek <jakub@redhat.com>
12338
12339 * testsuite/libgomp.fortran/simd1.f90: New test.
12340 * testsuite/libgomp.fortran/udr1.f90: New test.
12341 * testsuite/libgomp.fortran/udr2.f90: New test.
12342 * testsuite/libgomp.fortran/udr3.f90: New test.
12343 * testsuite/libgomp.fortran/udr4.f90: New test.
12344 * testsuite/libgomp.fortran/udr5.f90: New test.
12345 * testsuite/libgomp.fortran/udr6.f90: New test.
12346 * testsuite/libgomp.fortran/udr7.f90: New test.
12347 * testsuite/libgomp.fortran/udr8.f90: New test.
12348 * testsuite/libgomp.fortran/udr9.f90: New test.
12349 * testsuite/libgomp.fortran/udr10.f90: New test.
12350 * testsuite/libgomp.fortran/udr11.f90: New test.
12351
12352 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
12353
12354 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
12355 vect_simd_clones effective target.
12356 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
12357
12358 2014-05-21 Jakub Jelinek <jakub@redhat.com>
12359
12360 PR middle-end/61252
12361 * testsuite/libgomp.c++/simd-9.C: New test.
12362
12363 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
12364
12365 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
12366 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
12367 texts according to their @menu entry positions.
12368
12369 2014-05-11 Jakub Jelinek <jakub@redhat.com>
12370
12371 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
12372 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
12373 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
12374 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
12375 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
12376 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
12377 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
12378 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
12379 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
12380 * testsuite/libgomp.fortran/depend-1.f90: New test.
12381 * testsuite/libgomp.fortran/depend-2.f90: New test.
12382 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
12383 * testsuite/libgomp.fortran/simd1.f90: New test.
12384 * testsuite/libgomp.fortran/simd2.f90: New test.
12385 * testsuite/libgomp.fortran/simd3.f90: New test.
12386 * testsuite/libgomp.fortran/simd4.f90: New test.
12387 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
12388
12389 2014-05-02 Jakub Jelinek <jakub@redhat.com>
12390
12391 * testsuite/libgomp.c/simd-10.c: New test.
12392 * testsuite/libgomp.c/simd-11.c: New test.
12393 * testsuite/libgomp.c/simd-12.c: New test.
12394 * testsuite/libgomp.c/simd-13.c: New test.
12395
12396 2014-04-24 Jakub Jelinek <jakub@redhat.com>
12397
12398 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
12399 atomic type clauses in any order and optional comma in between.
12400 * testsuite/libgomp.c++/atomic-15.C: Likewise.
12401 * testsuite/libgomp.c/atomic-17.c: Likewise.
12402
12403 * testsuite/libgomp.c/simd-7.c: New test.
12404 * testsuite/libgomp.c/simd-8.c: New test.
12405 * testsuite/libgomp.c/simd-9.c: New test.
12406 * testsuite/libgomp.c/loop-16.c: New test.
12407
12408 2014-04-02 Richard Henderson <rth@redhat.com>
12409
12410 * config/linux/futex.h (futex_wait): Get error value from errno.
12411 (futex_wake): Likewise.
12412
12413 2014-03-25 Jakub Jelinek <jakub@redhat.com>
12414
12415 PR c++/60331
12416 * testsuite/libgomp.c++/udr-11.C: New test.
12417 * testsuite/libgomp.c++/udr-12.C: New test.
12418 * testsuite/libgomp.c++/udr-13.C: New test.
12419 * testsuite/libgomp.c++/udr-14.C: New test.
12420 * testsuite/libgomp.c++/udr-15.C: New test.
12421 * testsuite/libgomp.c++/udr-16.C: New test.
12422 * testsuite/libgomp.c++/udr-17.C: New test.
12423 * testsuite/libgomp.c++/udr-18.C: New test.
12424 * testsuite/libgomp.c++/udr-19.C: New test.
12425
12426 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
12427
12428 Update copyright years
12429
12430 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
12431
12432 * hashtab.h: Use the standard form for the copyright notice.
12433
12434 2014-01-02 Tobias Burnus <burnus@net-b.de>
12435
12436 * libgomp.texi: Bump @copying's copyright year.
12437
12438 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
12439
12440 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
12441 alloca () with __builtin_alloca ().
12442 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
12443 * testsuite/libgomp.c/lock-3.c: Likewise.
12444 * testsuite/libgomp.c/pr48591.c: Likewise.
12445
12446 2013-12-17 Jakub Jelinek <jakub@redhat.com>
12447
12448 PR testsuite/59534
12449 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
12450 comparisons.
12451
12452 2013-12-16 Jakub Jelinek <jakub@redhat.com>
12453
12454 PR libgomp/58756
12455 * testsuite/libgomp.c/pr58756.c: New test.
12456
12457 2013-12-12 Jakub Jelinek <jakub@redhat.com>
12458
12459 PR libgomp/59467
12460 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
12461 !$omp parallel.
12462
12463 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
12464
12465 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
12466 ALWAYS_CFLAGS.
12467 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
12468 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
12469 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
12470 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
12471 Likewise.
12472
12473 * libgomp_g.h: Include <stddef.h> for size_t.
12474
12475 * libgomp.spec.in: Update comment about libgomp's dependencies.
12476 * configure.ac: Likewise.
12477 * configure: Regenerate.
12478
12479 2013-10-16 Tobias Burnus <burnus@net-b.de>
12480
12481 * libgomp.texi: (Runtime Library Routines): Update references for
12482 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
12483 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
12484 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
12485 (Environment Variables): Update references for OpenMP 4.0. Add
12486 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
12487 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
12488 order.
12489
12490 2013-10-14 Jakub Jelinek <jakub@redhat.com>
12491
12492 * env.c (parse_bind_var): Initialize value to avoid
12493 (false positive) warning.
12494
12495 2013-10-12 Jakub Jelinek <jakub@redhat.com>
12496
12497 PR libgomp/58691
12498 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
12499 to check variable.
12500 (gomp_init_num_threads): Move i variable declaration into
12501 #ifdef CPU_ALLOC_SIZE block.
12502 * config/linux/affinity.c (gomp_affinity_init_level): Test
12503 gomp_places_list_len == 0 rather than gomp_places_list == 0
12504 when checking for topology reading error.
12505 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
12506 * env.c (parse_affinity): Add ignore argument, if true, don't populate
12507 gomp_places_list, only parse env var and always return false.
12508 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
12509 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
12510 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
12511 and either of these variables were parsed correctly into a places
12512 list.
12513
12514 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
12515 Jakub Jelinek <jakub@redhat.com>
12516
12517 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
12518 of 5 loopfn matches.
12519 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12520 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12521 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12522 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12523 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12524 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12525 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12526 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12527
12528 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
12529
12530 * Makefile.am (omp_lib.mod): Streamline rule.
12531 * Makefile.in: Regenerate.
12532
12533 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
12534 exceptions.
12535
12536 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
12537 * testsuite/libgomp.fortran/lib1.f90: Likewise.
12538 * testsuite/libgomp.fortran/lib2.f: Likewise.
12539 * testsuite/libgomp.fortran/lib3.f: Likewise.
12540
12541 * configure.ac: Typo fix.
12542 * configure: Regenerate.
12543
12544 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
12545 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12546
12547 * omp.h.in: Don't touch the user's namespace.
12548
12549 2013-10-11 Jakub Jelinek <jakub@redhat.com>
12550 Tobias Burnus <burnus@net-b.de>
12551 Richard Henderson <rth@redhat.com>
12552
12553 * target.c: New file.
12554 * Makefile.am (libgomp_la_SOURCES): Add target.c.
12555 * Makefile.in: Regenerated.
12556 * libgomp_g.h (GOMP_task): Add depend argument.
12557 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
12558 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
12559 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
12560 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
12561 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
12562 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
12563 GOMP_taskgroup_start, GOMP_taskgroup_end,
12564 GOMP_parallel_sections): New prototypes.
12565 * fortran.c (omp_is_initial_device): Add ialias_redirect.
12566 (omp_is_initial_device_): New function.
12567 (ULP, STR1, STR2, ialias_redirect): Removed.
12568 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
12569 omp_set_default_device_8_, omp_get_default_device_,
12570 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
12571 functions.
12572 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
12573 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
12574 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
12575 @@GOMP_4.0.
12576 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
12577 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
12578 omp_set_default_device, omp_set_default_device_,
12579 omp_set_default_device_8_, omp_get_default_device,
12580 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
12581 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
12582 omp_get_team_num_): Export @@OMP_4.0.
12583 * team.c (struct gomp_thread_start_data): Add place field.
12584 (gomp_thread_start): Clear thr->thread_pool and
12585 thr->task before returning. Use gomp_team_barrier_wait_final
12586 instead of gomp_team_barrier_wait. Initialize thr->place.
12587 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
12588 team_cancelled and task_queued_count fields.
12589 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
12590 before calling pthread_exit.
12591 (gomp_free_thread): No longer static. Use
12592 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
12593 (gomp_team_start): Add flags argument. Set
12594 thr->thread_pool->threads_busy to nthreads immediately after creating
12595 new pool. Use gomp_managed_threads_lock instead of
12596 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
12597 (gomp_team_end): Use gomp_managed_threads_lock instead of
12598 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
12599 of gomp_team_barrier_wait. If team->team_cancelled, call
12600 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
12601 rather than thr->ts.work_share.
12602 (initialize_team): Don't call gomp_sem_init here.
12603 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
12604 caller.
12605 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
12606 * env.c (gomp_global_icv): Add default_device_var, target_data and
12607 bind_var initializers.
12608 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
12609 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
12610 gomp_places_list_len): New variables.
12611 (parse_bind_var, parse_one_place, parse_places_var): New functions.
12612 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
12613 sized places.
12614 (gomp_cancel_var): New global variable.
12615 (parse_int): New function.
12616 (handle_omp_display_env): New function.
12617 (initialize_env): Use it. Initialize default_device_var.
12618 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
12619 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
12620 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
12621 been successfully parsed (and call gomp_init_affinity in that case).
12622 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12623 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12624 omp_get_team_num, omp_is_initial_device): New functions.
12625 * libgomp.h: Include stdlib.h.
12626 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
12627 Define.
12628 (struct target_mem_desc): Forward declare.
12629 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
12630 and thread_limit_var fields.
12631 (gomp_get_num_devices): New prototype.
12632 (gomp_cancel_var): New extern decl.
12633 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
12634 team_cancelled and task_queued_count fields. Add comments about
12635 task_{,queued_,running_}count.
12636 (gomp_cancel_kind): New enum.
12637 (gomp_work_share_end_cancel): New prototype.
12638 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
12639 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
12640 and depend fields.
12641 (struct gomp_taskgroup): New type.
12642 (struct gomp_task_depend_entry,
12643 struct gomp_dependers_vec): New types.
12644 (gomp_finish_task): Free depend_hash if non-NULL.
12645 (struct gomp_team_state): Add place_partition_off
12646 and place_partition_len fields.
12647 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
12648 gomp_places_list_len): New extern decls.
12649 (struct gomp_thread): Add place field.
12650 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
12651 (gomp_init_thread_affinity): Add place argument.
12652 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12653 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12654 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12655 gomp_affinity_init_level, gomp_affinity_print_place): New
12656 prototypes.
12657 (gomp_team_start): Add flags argument.
12658 (gomp_thread_limit_var, gomp_remaining_threads_count,
12659 gomp_remaining_threads_lock): Remove.
12660 (gomp_managed_threads_lock): New variable.
12661 (struct gomp_thread_pool): Add threads_busy field.
12662 (gomp_free_thread): New prototype.
12663 * task.c: Include hashtab.h.
12664 (hash_entry_type): New typedef.
12665 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
12666 (gomp_init_task): Clear dependers, depend_hash, depend_count,
12667 copy_ctors_done and taskgroup fields.
12668 (GOMP_task): Add depend argument, handle depend clauses. If
12669 gomp_team_barrier_cancelled or if it's taskgroup has been
12670 cancelled, don't queue or start new tasks. Set copy_ctors_done
12671 field if needed. Initialize taskgroup field. If copy_ctors_done
12672 and already cancelled, don't discard the task. If taskgroup is
12673 non-NULL, enqueue the task into taskgroup queue. Increment
12674 num_children field in taskgroup. Increment task_queued_count.
12675 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
12676 gomp_task_run_post_remove_taskgroup): New inline functions.
12677 (gomp_task_run_post_handle_depend_hash,
12678 gomp_task_run_post_handle_dependers,
12679 gomp_task_run_post_handle_depend): New functions.
12680 (GOMP_taskwait): Use them. If more than one new tasks
12681 have been queued, wake other threads if needed.
12682 (gomp_barrier_handle_tasks): Likewise. If
12683 gomp_team_barrier_cancelled, don't start any new tasks, just free
12684 all tasks.
12685 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
12686 * omp_lib.f90.in
12687 (omp_proc_bind_kind, omp_proc_bind_false,
12688 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
12689 omp_proc_bind_spread): New params.
12690 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12691 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12692 omp_get_team_num, omp_is_initial_device): New interfaces.
12693 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
12694 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
12695 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
12696 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
12697 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
12698 useless use omp_lib_kinds.
12699 * omp.h.in (omp_proc_bind_t): New typedef.
12700 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12701 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12702 omp_get_team_num, omp_is_initial_device): New prototypes.
12703 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
12704 through to gomp_team_start.
12705 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
12706 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
12707 Adjust gomp_parallel_loop_start callers.
12708 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
12709 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
12710 GOMP_loop_end_cancel): New functions.
12711 (GOMP_parallel_end): Add ialias_redirect.
12712 * hashtab.h: New file.
12713 * libgomp.texi (Environment Variables): Minor cleanup,
12714 update section refs to OpenMP 4.0rc2.
12715 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
12716 environment variables.
12717 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
12718 team->work_shares_to_free to thr->ts.work_share before calling
12719 free_work_share.
12720 (gomp_work_share_end_cancel): New function.
12721 * config/linux/proc.c: Include errno.h.
12722 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
12723 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
12724 sizeof (cpu_set_t) to determine number of iterations. Fix up check
12725 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
12726 gomp_cpuset_size is sizeof (cpu_set_t).
12727 (gomp_init_num_threads): Initialize gomp_cpuset_size,
12728 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
12729 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
12730 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
12731 contain any logical CPUs.
12732 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
12733 is NULL. Use gomp_cpusetp instead of &cpuset and pass
12734 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
12735 pthread_getaffinity_np. Check gomp_places_list instead of
12736 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
12737 * config/linux/bar.c (gomp_barrier_wait_end,
12738 gomp_barrier_wait_last): Use BAR_* defines.
12739 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
12740 from state where needed. Set work_share_cancelled to 0 on last
12741 thread.
12742 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
12743 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
12744 functions.
12745 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
12746 Add cpusetsize argument.
12747 (gomp_cpuset_size, gomp_cpusetp): Declare.
12748 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
12749 (affinity_counter): Remove.
12750 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
12751 if CPU_ALLOC_SIZE isn't defined.
12752 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
12753 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
12754 bind current thread to the first place.
12755 (gomp_init_thread_affinity): Rewritten. Add place argument, just
12756 pthread_setaffinity_np to gomp_places_list[place].
12757 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12758 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12759 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12760 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
12761 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
12762 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
12763 (gomp_barrier_t): Add awaited_final field.
12764 (gomp_barrier_init): Initialize awaited_final field.
12765 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
12766 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
12767 prototypes.
12768 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
12769 defines.
12770 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
12771 gomp_team_barrier_cancelled): New inline functions.
12772 (gomp_barrier_last_thread,
12773 gomp_team_barrier_set_task_pending,
12774 gomp_team_barrier_clear_task_pending,
12775 gomp_team_barrier_set_waiting_for_tasks,
12776 gomp_team_barrier_waiting_for_tasks,
12777 gomp_team_barrier_done): Use BAR_* defines.
12778 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
12779 (gomp_barrier_wait_end): Use BAR_* defines.
12780 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
12781 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
12782 Use BAR_* defines.
12783 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
12784 gomp_team_barrier_cancel): New functions.
12785 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
12786 argument.
12787 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12788 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12789 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12790 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
12791 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
12792 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
12793 (gomp_barrier_t): Add cancellable field.
12794 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
12795 gomp_team_barrier_cancel): New prototypes.
12796 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
12797 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
12798 gomp_team_barrier_cancelled): New inline functions.
12799 (gomp_barrier_wait_start, gomp_barrier_last_thread,
12800 gomp_team_barrier_set_task_pending,
12801 gomp_team_barrier_clear_task_pending,
12802 gomp_team_barrier_set_waiting_for_tasks,
12803 gomp_team_barrier_waiting_for_tasks,
12804 gomp_team_barrier_done): Use BAR_* defines.
12805 * barrier.c (GOMP_barrier_cancel): New function.
12806 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
12807 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
12808 omp_proc_bind_spread): New params.
12809 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12810 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12811 omp_get_team_num, omp_is_initial_device): New externals.
12812 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
12813 New functions.
12814 (gomp_resolve_num_threads): Adjust for thread_limit now being in
12815 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
12816 infinity. If not nested, just return minimum of max_num_threads
12817 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
12818 to the returned value. Otherwise, don't update atomically
12819 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
12820 (GOMP_parallel_end): Adjust for thread_limit now being in
12821 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
12822 infinity. Adjust threads_busy in the pool rather than
12823 gomp_remaining_threads_count. Remember team->nthreads and call
12824 gomp_team_end before adjusting threads_busy, if not nested
12825 afterwards, just set it to 1 non-atomically. Add ialias.
12826 (GOMP_parallel_start): Adjust gomp_team_start caller.
12827 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
12828 * testsuite/libgomp.c/affinity-1.c: New test.
12829 * testsuite/libgomp.c/atomic-15.c: New test.
12830 * testsuite/libgomp.c/atomic-16.c: New test.
12831 * testsuite/libgomp.c/atomic-17.c: New test.
12832 * testsuite/libgomp.c/cancel-for-1.c: New test.
12833 * testsuite/libgomp.c/cancel-for-2.c: New test.
12834 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
12835 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
12836 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
12837 * testsuite/libgomp.c/cancel-sections-1.c: New test.
12838 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
12839 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
12840 * testsuite/libgomp.c/depend-1.c: New test.
12841 * testsuite/libgomp.c/depend-2.c: New test.
12842 * testsuite/libgomp.c/depend-3.c: New test.
12843 * testsuite/libgomp.c/depend-4.c: New test.
12844 * testsuite/libgomp.c/for-1.c: New test.
12845 * testsuite/libgomp.c/for-1.h: New file.
12846 * testsuite/libgomp.c/for-2.c: New test.
12847 * testsuite/libgomp.c/for-2.h: New file.
12848 * testsuite/libgomp.c/for-3.c: New test.
12849 * testsuite/libgomp.c/pr58392.c: New test.
12850 * testsuite/libgomp.c/simd-1.c: New test.
12851 * testsuite/libgomp.c/simd-2.c: New test.
12852 * testsuite/libgomp.c/simd-3.c: New test.
12853 * testsuite/libgomp.c/simd-4.c: New test.
12854 * testsuite/libgomp.c/simd-5.c: New test.
12855 * testsuite/libgomp.c/simd-6.c: New test.
12856 * testsuite/libgomp.c/target-1.c: New test.
12857 * testsuite/libgomp.c/target-2.c: New test.
12858 * testsuite/libgomp.c/target-3.c: New test.
12859 * testsuite/libgomp.c/target-4.c: New test.
12860 * testsuite/libgomp.c/target-5.c: New test.
12861 * testsuite/libgomp.c/target-6.c: New test.
12862 * testsuite/libgomp.c/target-7.c: New test.
12863 * testsuite/libgomp.c/taskgroup-1.c: New test.
12864 * testsuite/libgomp.c/thread-limit-1.c: New test.
12865 * testsuite/libgomp.c/thread-limit-2.c: New test.
12866 * testsuite/libgomp.c/thread-limit-3.c: New test.
12867 * testsuite/libgomp.c/udr-1.c: New test.
12868 * testsuite/libgomp.c/udr-2.c: New test.
12869 * testsuite/libgomp.c/udr-3.c: New test.
12870 * testsuite/libgomp.c++/affinity-1.C: New test.
12871 * testsuite/libgomp.c++/atomic-10.C: New test.
12872 * testsuite/libgomp.c++/atomic-11.C: New test.
12873 * testsuite/libgomp.c++/atomic-12.C: New test.
12874 * testsuite/libgomp.c++/atomic-13.C: New test.
12875 * testsuite/libgomp.c++/atomic-14.C: New test.
12876 * testsuite/libgomp.c++/atomic-15.C: New test.
12877 * testsuite/libgomp.c++/cancel-for-1.C: New test.
12878 * testsuite/libgomp.c++/cancel-for-2.C: New test.
12879 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
12880 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
12881 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
12882 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
12883 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
12884 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
12885 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
12886 * testsuite/libgomp.c++/cancel-test.h: New file.
12887 * testsuite/libgomp.c++/for-9.C: New test.
12888 * testsuite/libgomp.c++/for-10.C: New test.
12889 * testsuite/libgomp.c++/for-11.C: New test.
12890 * testsuite/libgomp.c++/simd-1.C: New test.
12891 * testsuite/libgomp.c++/simd-2.C: New test.
12892 * testsuite/libgomp.c++/simd-3.C: New test.
12893 * testsuite/libgomp.c++/simd-4.C: New test.
12894 * testsuite/libgomp.c++/simd-5.C: New test.
12895 * testsuite/libgomp.c++/simd-6.C: New test.
12896 * testsuite/libgomp.c++/simd-7.C: New test.
12897 * testsuite/libgomp.c++/simd-8.C: New test.
12898 * testsuite/libgomp.c++/target-1.C: New test.
12899 * testsuite/libgomp.c++/target-2.C: New test.
12900 * testsuite/libgomp.c++/target-2-aux.cc: New file.
12901 * testsuite/libgomp.c++/target-3.C: New test.
12902 * testsuite/libgomp.c++/taskgroup-1.C: New test.
12903 * testsuite/libgomp.c++/udr-1.C: New test.
12904 * testsuite/libgomp.c++/udr-2.C: New test.
12905 * testsuite/libgomp.c++/udr-3.C: New test.
12906 * testsuite/libgomp.c++/udr-4.C: New test.
12907 * testsuite/libgomp.c++/udr-5.C: New test.
12908 * testsuite/libgomp.c++/udr-6.C: New test.
12909 * testsuite/libgomp.c++/udr-7.C: New test.
12910 * testsuite/libgomp.c++/udr-8.C: New test.
12911 * testsuite/libgomp.c++/udr-9.C: New test.
12912
12913 2013-09-20 Jakub Jelinek <jakub@redhat.com>
12914
12915 PR testsuite/57605
12916 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
12917 ALWAYS_CFLAGS.
12918
12919 2013-09-20 Alan Modra <amodra@gmail.com>
12920
12921 * configure: Regenerate.
12922
12923 2013-09-19 Jakub Jelinek <jakub@redhat.com>
12924
12925 * testsuite/libgomp.c/sections-2.c: New test.
12926
12927 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
12928
12929 * testsuite/libgomp.fortran/strassen.f90:
12930 Add dg-skip-if aarch64_tiny.
12931
12932 2013-06-20 Iain Sandoe <iain@codesourcery.com>
12933 Cesar Philippidis <cesar@codesourcery.com>
12934
12935 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
12936 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
12937 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
12938 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12939 * testsuite/libgomp.graphite/graphite.exp: Likewise.
12940 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
12941 Use dg-runtest rather than gfortran-dg-runtest.
12942
12943 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
12944
12945 * testsuite/libgomp.c/icv-2.c: Extend current handling of
12946 Linux-based x86 systems to cover all GNU systems.
12947 * testsuite/libgomp.c/lock-3.c: Likewise.
12948 * testsuite/libgomp.c/pr48591.c: Likewise.
12949
12950 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
12951
12952 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
12953 GNU/Hurd, as done for Linux-based systems.
12954
12955 * config/posix/ptrlock.h: Fix comment.
12956
12957 2013-05-27 Tobias Burnus <burnus@net-b.de>
12958
12959 PR fortran/57423
12960 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
12961 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
12962 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
12963 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
12964 omp_destroy_nest_lock): Correct arguments to match the one in
12965 the OpenMP spec.
12966 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
12967 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
12968 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
12969 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
12970
12971 2013-05-16 Jakub Jelinek <jakub@redhat.com>
12972
12973 * testsuite/libgomp.c/loop-13.c: New test.
12974 * testsuite/libgomp.c/loop-14.c: New test.
12975 * testsuite/libgomp.c/loop-15.c: New test.
12976 * testsuite/libgomp.c++/loop-13.C: New test.
12977 * testsuite/libgomp.c++/loop-14.C: New test.
12978 * testsuite/libgomp.c++/loop-15.C: New test.
12979
12980 2013-02-06 Jakub Jelinek <jakub@redhat.com>
12981
12982 PR middle-end/56217
12983 * testsuite/libgomp.c++/pr56217.C: New test.
12984
12985 2013-02-01 Alan Modra <amodra@gmail.com>
12986
12987 * task.c (GOMP_task, GOMP_taskwait): Comment.
12988
12989 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
12990 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
12991
12992 PR libgomp/55561
12993 * config/linux/wait.h (do_spin): Use atomic load for addr.
12994 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
12995 for intptr and ptrlock.
12996 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
12997 for ptrlock.
12998
12999 2013-01-22 Alan Modra <amodra@gmail.com>
13000
13001 PR libgomp/51376
13002 PR libgomp/56073
13003 * task.c (GOMP_task): Revert 2011-12-09 change.
13004 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
13005 barrier to read task->children..
13006 (gomp_barrier_handle_tasks): ..and matching atomic store with
13007 release barrier here when setting parent->children to NULL.
13008
13009 2013-01-16 Jakub Jelinek <jakub@redhat.com>
13010 Tobias Burnus <burnus@net-b.de>
13011
13012 PR driver/55884
13013 * testsuite/libgomp.fortran/fortran.exp: Use
13014 -fintrinsic-modules-path= instead of
13015 -fintrinsic-modules-path.
13016
13017 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
13018
13019 Update copyright years.
13020
13021 2012-12-19 Tobias Burnus <burnus@net-b.de>
13022
13023 * testsuite/libgomp.fortran/fortran.exp: Set
13024 -fintrinsic-modules-path.
13025
13026 2012-12-19 Tobias Burnus <burnus@net-b.de>
13027
13028 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
13029 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
13030
13031 2012-11-21 Jakub Jelinek <jakub@redhat.com>
13032
13033 PR libgomp/55411
13034 * team.c (gomp_free_thread): Decrease gomp_managed_threads
13035 if pool had any threads_used.
13036
13037 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
13038
13039 * testsuite/libgomp.c++/pr24455.C: Use
13040 -Wl,-undefined,dynamic_lookup on darwin.
13041
13042 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
13043
13044 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
13045
13046 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
13047
13048 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
13049
13050 2012-10-23 Ian Bolton <ian.bolton@arm.com>
13051 Jim MacArthur <jim.macarthur@arm.com>
13052 Marcus Shawcroft <marcus.shawcroft@arm.com>
13053 Nigel Stephens <nigel.stephens@arm.com>
13054 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13055 Richard Earnshaw <rearnsha@arm.com>
13056 Sofiane Naci <sofiane.naci@arm.com>
13057 Stephen Thomas <stephen.thomas@arm.com>
13058 Tejas Belagod <tejas.belagod@arm.com>
13059 Yufeng Zhang <yufeng.zhang@arm.com>
13060
13061 * configure.tgt: Add AArch64.
13062
13063 2012-10-04 Jason Merrill <jason@redhat.com>
13064
13065 * testsuite/libgomp.c++/tls-init1.C: New.
13066
13067 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
13068
13069 * configure: Regenerated.
13070
13071 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
13072
13073 * config/linux/mips/futex.h (sys_futex0): Change to static
13074 function with noinline, nomips16 attributes under MIPS16. Adjust
13075 asm statement to place 'li v0,SYS_futex' immediately before
13076 syscall insn.
13077
13078 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
13079
13080 * libgomp.texi (Library Index): Renamed from "Index" to prevent
13081 conflict with index.html on case-insensitive file systems.
13082
13083 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
13084
13085 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
13086 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
13087
13088 2012-07-02 Richard Guenther <rguenther@suse.de>
13089 Michael Matz <matz@suse.de>
13090 Tobias Grosser <tobias@grosser.es>
13091 Sebastian Pop <sebpop@gmail.com>
13092
13093 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
13094 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13095 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13096 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13097
13098 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
13099
13100 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
13101
13102 2012-06-22 Richard Guenther <rguenther@suse.de>
13103
13104 Merge from graphite branch
13105 2012-01-13 Tobias Grosser <tobias@grosser.es>
13106
13107 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13108 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13109
13110 2012-06-07 Jakub Jelinek <jakub@redhat.com>
13111
13112 PR middle-end/53580
13113 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
13114 use GOMP_barrier () call instead.
13115 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13116 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13117 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
13118 call GOMP_barrier instead.
13119 * testsuite/libgomp.fortran/vla5.f90: Likewise.
13120
13121 2012-06-06 Jakub Jelinek <jakub@redhat.com>
13122
13123 PR libgomp/52993
13124 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
13125 argument to memset call.
13126
13127 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
13128
13129 * configure: Regenerated.
13130
13131 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13132
13133 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
13134
13135 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
13136
13137 PR bootstrap/52812
13138 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
13139
13140 2012-03-22 Jakub Jelinek <jakub@redhat.com>
13141
13142 PR middle-end/52547
13143 * testsuite/libgomp.c/pr52547.c: New test.
13144
13145 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13146
13147 * testsuite/lib/libgomp.exp: load fortran-modules.exp
13148
13149 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13150
13151 * configure.tgt (mips-sgi-irix6*): Remove.
13152
13153 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13154
13155 * configure.tgt (alpha*-dec-osf*): Remove.
13156
13157 * config/osf/sem.h: Remove.
13158 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
13159
13160 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
13161
13162 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
13163
13164 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13165
13166 PR libstdc++/52188
13167 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
13168 Remove ENABLE_SYMVERS_SOL2.
13169 * configure: Regenerate.
13170 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
13171 (PREPROCESS): New variable.
13172 (libgomp.ver): New target.
13173 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
13174 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
13175 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
13176 Use libgomp.ver.
13177 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
13178 * Makefile.in: Regenerate.
13179
13180 2012-02-14 Walter Lee <walt@tilera.com>
13181
13182 * configure.tgt: Handle tilegx and tilepro.
13183 * config/linux/tile/futex.h: New file.
13184
13185 2012-02-08 Richard Guenther <rguenther@suse.de>
13186
13187 PR tree-optimization/46886
13188 * testsuite/libgomp.c/pr46886.c: New testcase.
13189
13190 2012-01-25 Matthias Klose <doko@ubuntu.com>
13191
13192 * config/linux/arm: Remove empty directory.
13193 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
13194
13195 2011-12-09 Alan Modra <amodra@gmail.com>
13196
13197 PR libgomp/51376
13198 * task.c (GOMP_taskwait): Don't access task->children outside of
13199 task_lock mutex region.
13200 (GOMP_task): Likewise.
13201
13202 2011-12-06 Jakub Jelinek <jakub@redhat.com>
13203
13204 PR libgomp/51132
13205 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
13206 to file scope.
13207 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13208 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13209 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13210 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13211 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13212
13213 2011-12-02 Alan Modra <amodra@gmail.com>
13214
13215 * config/linux/affinity.c: Use atomic rather than sync builtin.
13216 * config/linux/lock.c: Likewise.
13217 * config/linux/ptrlock.h: Likewise.
13218 * config/linux/ptrlock.c: Likewise.
13219 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
13220 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
13221 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
13222 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
13223 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
13224 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
13225 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
13226 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
13227 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
13228 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
13229
13230 2011-11-30 Alan Modra <amodra@gmail.com>
13231
13232 PR libgomp/51298
13233 * config/linux/bar.h: Use atomic rather than sync builtins.
13234 * config/linux/bar.c: Likewise. Add missing acquire
13235 synchronisation on generation field.
13236 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
13237 double unlock.
13238
13239 2011-11-30 Alan Modra <amodra@gmail.com>
13240
13241 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
13242 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
13243 * config/linux/mutex.h: Use atomic rather than sync builtins.
13244 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
13245 * config/linux/omp-lock.h: Comment fix.
13246 * config/linux/arm/mutex.h: Delete.
13247 * config/linux/powerpc/mutex.h: Delete.
13248 * config/linux/ia64/mutex.h: Delete.
13249 * config/linux/mips/mutex.h: Delete.
13250
13251 2011-11-30 Alan Modra <amodra@gmail.com>
13252
13253 PR libgomp/51249
13254 * config/linux/sem.h: Rewrite.
13255 * config/linux/sem.c: Rewrite.
13256
13257 2011-11-28 Richard Henderson <rth@redhat.com>
13258
13259 * libgomp.h (enum memmodel): New.
13260
13261 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
13262
13263 * configure: Regenerate.
13264
13265 2011-10-10 Matthias Klose <doko@ubuntu.com>
13266
13267 * config/posix95: Remove empty directory.
13268
13269 2011-08-26 Jakub Jelinek <jakub@redhat.com>
13270
13271 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
13272
13273 2011-08-19 Jakub Jelinek <jakub@redhat.com>
13274
13275 PR fortran/49792
13276 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
13277 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
13278
13279 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13280
13281 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
13282
13283 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13284
13285 PR libgomp/49965
13286 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
13287
13288 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
13289
13290 * config/linux/proc.h: New.
13291 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
13292 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
13293 (gomp_init_num_threads): Update call to cpuset_popcount.
13294 (get_num_procs): Ditto.
13295 * config/linux/affinity.c (gomp_init_affinity): Call
13296 gomp_cpuset_popcount.
13297
13298 2011-08-02 Jakub Jelinek <jakub@redhat.com>
13299
13300 PR fortran/42041
13301 PR fortran/46752
13302 * omp.h.in (omp_in_final): New prototype.
13303 * omp_lib.f90.in (omp_in_final): New interface.
13304 (omp_integer_kind, omp_logical_kind): Remove
13305 and replace all its uses in the module with 4.
13306 (openmp_version): Change to 201107.
13307 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
13308 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
13309 kind for the parameters.
13310 (omp_in_final): New external.
13311 (openmp_version): Change to 201107.
13312 * task.c (omp_in_final): New function.
13313 (gomp_init_task): Initialize final_task.
13314 (GOMP_task): Remove unused attribute from flags. Handle final
13315 tasks.
13316 (GOMP_taskyield): New function.
13317 (omp_in_final): Return true if if (false) or final (true) task
13318 or descendant of final (true).
13319 * fortran.c (omp_in_final_): New function.
13320 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
13321 (GOMP_3.0): Export GOMP_taskyield.
13322 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
13323 variables.
13324 (parse_unsigned_long_list): New function.
13325 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
13326 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
13327 even if parse_affinity returned false.
13328 * config/linux/affinity.c (gomp_init_affinity): Handle
13329 gomp_cpu_affinity_len == 0.
13330 * libgomp_g.h (GOMP_taskyield): New prototype.
13331 * libgomp.h (struct gomp_task): Add final_task field.
13332 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
13333 * team.c (gomp_team_start): Override new task's nthreads_var icv
13334 if list form OMP_NUM_THREADS has been used and it has value for
13335 the new nesting level.
13336
13337 * testsuite/libgomp.c/atomic-11.c: New test.
13338 * testsuite/libgomp.c/atomic-12.c: New test.
13339 * testsuite/libgomp.c/atomic-13.c: New test.
13340 * testsuite/libgomp.c/atomic-14.c: New test.
13341 * testsuite/libgomp.c/reduction-6.c: New test.
13342 * testsuite/libgomp.c/task-5.c: New test.
13343 * testsuite/libgomp.c++/atomic-2.C: New test.
13344 * testsuite/libgomp.c++/atomic-3.C: New test.
13345 * testsuite/libgomp.c++/atomic-4.C: New test.
13346 * testsuite/libgomp.c++/atomic-5.C: New test.
13347 * testsuite/libgomp.c++/atomic-6.C: New test.
13348 * testsuite/libgomp.c++/atomic-7.C: New test.
13349 * testsuite/libgomp.c++/atomic-8.C: New test.
13350 * testsuite/libgomp.c++/atomic-9.C: New test.
13351 * testsuite/libgomp.c++/task-8.C: New test.
13352 * testsuite/libgomp.c++/reduction-4.C: New test.
13353 * testsuite/libgomp.fortran/allocatable7.f90: New test.
13354 * testsuite/libgomp.fortran/allocatable8.f90: New test.
13355 * testsuite/libgomp.fortran/crayptr3.f90: New test.
13356 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
13357 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
13358 * testsuite/libgomp.fortran/pointer1.f90: New test.
13359 * testsuite/libgomp.fortran/pointer2.f90: New test.
13360 * testsuite/libgomp.fortran/task4.f90: New test.
13361
13362 2011-08-02 Tobias Burnus <burnus@net-b.de>
13363
13364 * libgomp.texi: Update OpenMP spec references to 3.1.
13365 (omp_in_final,OMP_PROC_BIND): New sections.
13366 (OMP_NUM_THREADS): Document that the value can be now a list.
13367 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
13368
13369 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
13370
13371 * config/linux/x86/futex.h: Check __x86_64__ instead of
13372 __LP64__.
13373
13374 2011-07-29 Jakub Jelinek <jakub@redhat.com>
13375
13376 PR middle-end/49897
13377 PR middle-end/49898
13378 * testsuite/libgomp.c/pr49897-1.c: New test.
13379 * testsuite/libgomp.c/pr49897-2.c: New test.
13380 * testsuite/libgomp.c/pr49898-1.c: New test.
13381 * testsuite/libgomp.c/pr49898-2.c: New test.
13382
13383 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
13384
13385 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
13386 for ia32 instead of ilp32.
13387
13388 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
13389 * testsuite/libgomp.c/atomic-6.c: Likewise.
13390
13391 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
13392
13393 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
13394 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
13395
13396 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13397
13398 PR libgomp/45351
13399 * config/osf/sem.h: New file.
13400 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
13401
13402 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13403
13404 PR target/49541
13405 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
13406 ldflags.
13407
13408 2011-07-15 Jakub Jelinek <jakub@redhat.com>
13409
13410 * config/linux/wait.h (do_spin): New inline, largely copied
13411 from do_wait, just don't do futex_wait here, instead return true if
13412 it should be done.
13413 (do_wait): Implement using do_spin.
13414 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
13415 to prototype.
13416 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
13417 __sync_bool_compare_and_swap, pass the oldval to
13418 gomp_mutex_lock_slow.
13419 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
13420 If all mutex contenders are just spinning and not sleeping, don't
13421 change state to 2 unnecessarily. Optimize the loop when state has
13422 already become 2 to use just one atomic operation per loop instead
13423 of two.
13424 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
13425 to prototype.
13426 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
13427 __sync_bool_compare_and_swap, pass the oldval to
13428 gomp_mutex_lock_slow.
13429
13430 2011-06-22 Jakub Jelinek <jakub@redhat.com>
13431
13432 PR libgomp/49490
13433 * iter.c (gomp_iter_static_next): For chunk size 0
13434 only use n ceil/ nthreads size for the first
13435 n % nthreads threads in the team instead of
13436 all threads except for the last few ones which
13437 get less work or none at all.
13438 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
13439 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
13440 chunk argument, set run_sched_modifier to 0 for static
13441 resp. 1 for other kinds. If chunk argument is 0
13442 and not static, set value to 1.
13443
13444 2011-05-19 Jakub Jelinek <jakub@redhat.com>
13445
13446 PR c++/49043
13447 * testsuite/libgomp.c++/pr49043.C: New test.
13448
13449 PR c++/48869
13450 * testsuite/libgomp.c++/pr48869.C: New test.
13451
13452 2011-05-06 Jakub Jelinek <jakub@redhat.com>
13453
13454 PR fortran/48894
13455 * fortran.c: Include limits.h.
13456 (TO_INT): Define.
13457 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
13458 *set.
13459 (omp_set_num_threads_8_, omp_set_schedule_8_,
13460 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
13461 omp_get_team_size_8_): Use TO_INT macro.
13462 * testsuite/libgomp.fortran/pr48894.f90: New test.
13463
13464 2011-04-13 Jakub Jelinek <jakub@redhat.com>
13465
13466 PR middle-end/48591
13467 * testsuite/libgomp.c/pr48591.c: New test.
13468
13469 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13470
13471 PR bootstrap/48135
13472 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
13473 * configure: Regenerate.
13474
13475 2011-02-27 Jakub Jelinek <jakub@redhat.com>
13476
13477 PR fortran/47886
13478 * testsuite/libgomp.fortran/task3.f90: New test.
13479
13480 2011-02-24 Tobias Burnus <burnus@net-b.de>
13481
13482 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
13483
13484 2011-02-23 Jakub Jelinek <jakub@redhat.com>
13485
13486 PR libgomp/47854
13487 * libgomp.texi (omp_get_wtime): Don't say time in the past
13488 must be Unix Epoch.
13489
13490 2011-02-18 Jakub Jelinek <jakub@redhat.com>
13491
13492 PR libgomp/47804
13493 * testsuite/libgomp.fortran/fortran.exp: Check for both
13494 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
13495 but $blddir != "", still append ${blddir}/${lang_library_path}
13496 to ld_library_path.
13497
13498 2011-02-16 Tobias Burnus <burnus@net-b.de>
13499
13500 PR libgomp/47758
13501 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
13502 of libquadmath.a before adding its libpath to ldflags.
13503
13504 2011-02-14 Jakub Jelinek <jakub@redhat.com>
13505
13506 PR libgomp/47731
13507 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
13508 to FUTEX_WAIT futex syscall.
13509 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
13510
13511 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13512
13513 * configure: Regenerate.
13514
13515 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
13516
13517 PR libstdc++/36104
13518 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
13519
13520 2011-01-16 Gerald Pfeifer
13521
13522 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
13523
13524 2010-12-14 Jakub Jelinek <jakub@redhat.com>
13525
13526 PR fortran/46874
13527 * libgomp.fortran/allocatable6.f90: New test.
13528
13529 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13530
13531 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
13532 * configure: Regenerate.
13533
13534 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
13535
13536 PR target/40125
13537 PR lto/46695
13538 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
13539 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
13540 * aclocal.m4: Regenerate.
13541 * configure: Regenerate.
13542 * Makefile.in: Regenerate.
13543 * testsuite/Makefile.in: Regenerate.
13544
13545 2010-12-02 Jakub Jelinek <jakub@redhat.com>
13546
13547 PR fortran/46753
13548 * libgomp.fortran/pr46753.f90: New test.
13549
13550 PR libgomp/43706
13551 * env.c (initialize_env): Default to spin count 300000
13552 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
13553 is specified.
13554
13555 PR libgomp/45240
13556 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
13557 at the end if sync builtins aren't supported.
13558
13559 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13560
13561 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
13562
13563 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13564
13565 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
13566
13567 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
13568
13569 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
13570
13571 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13572 Tobias Burnus <burnus@net-b.de>
13573
13574 PR fortran/32049
13575 * configure.ac:
13576 * configure: Regenerate.
13577
13578 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
13579
13580 * config/linux/futex.h: New.
13581 * config/linux/arm/mutex.h: New.
13582 * configure.tgt (arm*-*-linux*): Add config path.
13583
13584 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
13585
13586 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13587
13588 2010-09-23 Tobias Burnus <burnus@net-b.de>
13589
13590 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
13591 Change Fortran datatype to LOGICAL.
13592 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
13593 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
13594
13595 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13596
13597 * configure: Regenerate.
13598
13599 2010-07-26 Jakub Jelinek <jakub@redhat.com>
13600
13601 * libgomp.texi: Add function keyword to a couple of Fortran
13602 interfaces, use integer instead of int for Fortran.
13603
13604 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
13605
13606 * libgomp.texi: Fix spelling and pasto problems throughout.
13607 Adjust prototypes to match code.
13608
13609 2010-07-24 Tobias Burnus <burnus@net-b.de>
13610
13611 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
13612 silence -fwhole-file warning.
13613
13614 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13615
13616 * configure.tgt (*-*-solaris2.[56]*): Removed.
13617
13618 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13619
13620 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
13621 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
13622 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
13623 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
13624 targetting solaris2*.
13625 * configure: Regenerate.
13626 * config.h.in: Regenerate.
13627
13628 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
13629 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
13630 Add libgomp_version_dep.
13631 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
13632 versioning.
13633 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
13634 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
13635 * Makefile.in: Regenerate.
13636
13637 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
13638 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
13639 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
13640 to common block, protected by
13641 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
13642
13643 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
13644
13645 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
13646
13647 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
13648
13649 PR bootstrap/43170
13650 * configure: Regenerate.
13651
13652 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13653
13654 PR other/43620
13655 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
13656 * configure: Regenerate.
13657 * Makefile.in: Regenerate.
13658 * testsuite/Makefile.in: Regenerate.
13659
13660 2010-04-26 Jakub Jelinek <jakub@redhat.com>
13661
13662 PR c/43893
13663 * testsuite/libgomp.c/pr43893.c: New test.
13664 * testsuite/libgomp.c++/pr43893.C: New test.
13665
13666 2010-04-21 Jakub Jelinek <jakub@redhat.com>
13667
13668 PR middle-end/43570
13669 * testsuite/libgomp.fortran/vla8.f90: New test.
13670
13671 2010-04-20 Jakub Jelinek <jakub@redhat.com>
13672
13673 PR libgomp/43706
13674 * config/linux/affinity.c (gomp_init_affinity): Decrease
13675 gomp_available_cpus if affinity mask confines the process to fewer
13676 CPUs.
13677 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
13678 non-NULL, just return gomp_available_cpus.
13679
13680 PR libgomp/43569
13681 * sections.c (gomp_sections_init): Initialize ws->mode.
13682
13683 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
13684
13685 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
13686 not unused bar variable.
13687 * configure: Regenerate.
13688
13689 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13690
13691 * Makefile.in: Regenerate.
13692 * aclocal.m4: Regenerate.
13693 * testsuite/Makefile.in: Regenerate.
13694
13695 2010-03-22 Jakub Jelinek <jakub@redhat.com>
13696
13697 PR libgomp/42942
13698 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
13699 (initialize_env): Adjust callers.
13700 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
13701 when the argument is 0.
13702
13703 * testsuite/libgomp.c/pr42942.c: New test.
13704
13705 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
13706
13707 PR middle-end/42644
13708 PR middle-end/42130
13709 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13710 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
13711
13712 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13713
13714 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
13715 * testsuite/libgomp.c++/task-6.C: Likewise.
13716
13717 2010-01-28 Steve Ellcey <sje@cup.hp.com>
13718
13719 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
13720
13721 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
13722
13723 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
13724 * configure: Regenerate.
13725
13726 2010-01-26 Jakub Jelinek <jakub@redhat.com>
13727
13728 PR fortran/42866
13729 * testsuite/libgomp.fortran/allocatable5.f90: New test.
13730
13731 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
13732
13733 * configure.ac: Test for executability of GFORTRAN.
13734 * configure: Regenerate.
13735
13736 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13737
13738 * configure: Regenerate.
13739
13740 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
13741
13742 PR libgomp/42602
13743 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
13744
13745 2010-01-03 Richard Guenther <rguenther@suse.de>
13746
13747 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
13748
13749 2009-12-23 Sebastian Pop <sebpop@gmail.com>
13750
13751 * testsuite/libgomp.graphite/pr4118.c: New.
13752
13753 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
13754
13755 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
13756 for darwin, protect the test with require-effective-target tls_runtime.
13757 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
13758
13759 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
13760
13761 PR target/41605
13762 * testsuite/lib/libgomp.exp: Provide -B options to allow for
13763 link spec %s substitutions for static libraries.
13764
13765 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
13766
13767 PR testsuite/42135
13768 * libgomp.graphite/force-parallel-2.c: Reduce array size.
13769
13770 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13771
13772 * Makefile.in: Regenerate.
13773 * configure: Regenerate.
13774 * testsuite/Makefile.in: Regenerate.
13775
13776 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
13777
13778 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
13779 settings for LC_ALL and LANG.
13780
13781 2009-11-25 Jakub Jelinek <jakub@redhat.com>
13782
13783 PR fortran/42162
13784 * testsuite/libgomp.fortran/pr42162.f90: New test.
13785
13786 2009-11-13 Jakub Jelinek <jakub@redhat.com>
13787
13788 PR middle-end/42029
13789 * testsuite/libgomp.c/pr42029.c: New test.
13790
13791 2009-10-26 Jakub Jelinek <jakub@redhat.com>
13792
13793 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
13794 *s. Accept ld version without text in ()s.
13795 * configure: Regenerated.
13796
13797 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
13798
13799 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
13800
13801 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13802
13803 PR libgomp/41418
13804 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
13805 or a hyphen (happens with fortran language disabled).
13806 * configure: Regenerate.
13807
13808 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13809
13810 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
13811 use sed script portable to Solaris /bin/sed for extracting ld
13812 version.
13813 * configure: Regenerate.
13814
13815 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
13816
13817 * testsuite/libgomp.graphite/bounds.c: New test.
13818
13819 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13820
13821 * Makefile.am (libgomp_la_LINK): New.
13822 * Makefile.in: Regenerate.
13823
13824 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13825
13826 * configure.ac (AC_PREREQ): Bump to 2.64.
13827
13828 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13829
13830 * Makefile.am (install-html, install-pdf): Remove.
13831 * Makefile.in: Regenerate.
13832
13833 * Makefile.in: Regenerate.
13834 * aclocal.m4: Regenerate.
13835 * config.h.in: Regenerate.
13836 * configure: Regenerate.
13837 * testsuite/Makefile.in: Regenerate.
13838
13839 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13840
13841 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
13842 * Makefile.in: Regenerate.
13843
13844 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
13845
13846 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
13847 * Makefile.in: Regenerate.
13848
13849 2009-08-19 Tobias Burnus <burnus@net-b.de>
13850
13851 PR fortran/41102
13852 omp_lib.h.in: Fix -std=f95 errors.
13853
13854 2009-08-14 David Edelsohn <edelsohn@gnu.org>
13855
13856 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
13857 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
13858 * testsuite/libgomp.graphite/graphite.exp: New.
13859
13860 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
13861
13862 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
13863 only build.
13864
13865 2009-08-04 David Daney <ddaney@caviumnetworks.com>
13866
13867 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
13868 needed memory barrier semantics.
13869 * config/linux/mips/mutex.h: New file.
13870
13871 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13872
13873 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
13874
13875 2009-07-16 Joseph Myers <joseph@codesourcery.com>
13876
13877 * configure: Regenerate.
13878
13879 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
13880
13881 PR testsuite/40699
13882 PR testsuite/40707
13883 PR testsuite/40709
13884 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
13885 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
13886 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
13887
13888 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
13889
13890 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
13891 options when choosing a multilib.
13892
13893 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
13894
13895 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
13896 ld_library_path. Use add_path. Add just find_libgcc_s to
13897 ld_library_path, not every libgcc multilib directory.
13898 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
13899 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
13900 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
13901 Use add_path.
13902 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
13903
13904 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
13905
13906 * Makefile.am (LTLDFLAGS): Define.
13907 (LINK): Define.
13908 * Makefile.in: Regenerate.
13909
13910 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
13911
13912 PR fortran/39718
13913 * testsuite/libgomp.fortran/fortran.exp: Don't link with
13914 libgfortranbegin, check existence of libgfortran.a instead of
13915 libgfortranbegin.a.
13916
13917 2009-05-20 Jakub Jelinek <jakub@redhat.com>
13918
13919 PR libgomp/40174
13920 * team.c (gomp_thread_start): Destroy thr->release semaphore.
13921 (gomp_free_pool_helper): Likewise.
13922
13923 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
13924 Jakub Jelinek <jakub@redhat.com>
13925
13926 PR fortran/35423
13927 * testsuite/libgomp.fortran/workshare2.f90: New test.
13928
13929 2009-04-09 Nick Clifton <nickc@redhat.com>
13930
13931 * iter.c: Change copyright header to refer to version 3 of the
13932 GNU General Public License with version 3.1 of the GCC Runtime
13933 Library Exception and to point readers at the COPYING3 and
13934 COPYING3.RUNTIME files and the FSF's license web page.
13935 * alloc.c: Likewise.
13936 * barrier.c: Likewise.
13937 * config/bsd/proc.c: Likewise.
13938 * config/linux/affinity.c: Likewise.
13939 * config/linux/alpha/futex.h: Likewise.
13940 * config/linux/bar.c: Likewise.
13941 * config/linux/bar.h: Likewise.
13942 * config/linux/ia64/futex.h: Likewise.
13943 * config/linux/ia64/mutex.h: Likewise.
13944 * config/linux/lock.c: Likewise.
13945 * config/linux/mips/futex.h: Likewise.
13946 * config/linux/mutex.c: Likewise.
13947 * config/linux/mutex.h: Likewise.
13948 * config/linux/powerpc/futex.h: Likewise.
13949 * config/linux/proc.c: Likewise.
13950 * config/linux/ptrlock.c: Likewise.
13951 * config/linux/ptrlock.h: Likewise.
13952 * config/linux/s390/futex.h: Likewise.
13953 * config/linux/sem.c: Likewise.
13954 * config/linux/sem.h: Likewise.
13955 * config/linux/sparc/futex.h: Likewise.
13956 * config/linux/wait.h: Likewise.
13957 * config/linux/x86/futex.h: Likewise.
13958 * config/mingw32/proc.c: Likewise.
13959 * config/mingw32/time.c: Likewise.
13960 * config/posix/affinity.c: Likewise.
13961 * config/posix/bar.c: Likewise.
13962 * config/posix/bar.h: Likewise.
13963 * config/posix/lock.c: Likewise.
13964 * config/posix/mutex.h: Likewise.
13965 * config/posix/proc.c: Likewise.
13966 * config/posix/ptrlock.h: Likewise.
13967 * config/posix/sem.c: Likewise.
13968 * config/posix/sem.h: Likewise.
13969 * config/posix/time.c: Likewise.
13970 * config/posix95/lock.c: Likewise.
13971 * critical.c: Likewise.
13972 * env.c: Likewise.
13973 * error.c: Likewise.
13974 * fortran.c: Likewise.
13975 * iter_ull.c: Likewise.
13976 * libgomp.h: Likewise.
13977 * libgomp_f.h.in: Likewise.
13978 * libgomp_g.h: Likewise.
13979 * loop.c: Likewise.
13980 * loop_ull.c: Likewise.
13981 * omp.h.in: Likewise.
13982 * omp_lib.f90.in: Likewise.
13983 * omp_lib.h.in: Likewise.
13984 * ordered.c: Likewise.
13985 * parallel.c: Likewise.
13986 * sections.c: Likewise.
13987 * single.c: Likewise.
13988 * task.c: Likewise.
13989 * team.c: Likewise.
13990 * work.c: Likewise.
13991
13992 2009-04-09 Jakub Jelinek <jakub@redhat.com>
13993
13994 * testsuite/config/default.exp: Change copyright header to refer to
13995 version 3 of the GNU General Public License and to point readers
13996 at the COPYING3 file and the FSF's license web page.
13997
13998 2009-04-08 Jakub Jelinek <jakub@redhat.com>
13999
14000 PR middle-end/39573
14001 * libgomp.c++/pr39573.C: New test.
14002
14003 2009-04-01 Jakub Jelinek <jakub@redhat.com>
14004
14005 PR other/39591
14006 * testsuite/libgomp.c/pr39591-1.c: New test.
14007 * testsuite/libgomp.c/pr39591-2.c: New test.
14008 * testsuite/libgomp.c/pr39591-3.c: New test.
14009
14010 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
14011
14012 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
14013 * testsuite/libgomp.c/atomic-6.c: Ditto.
14014
14015 2009-03-23 Jakub Jelinek <jakub@redhat.com>
14016
14017 PR c/39495
14018 * testsuite/libgomp.c/loop-12.c: New test.
14019 * testsuite/libgomp.c/loop-11.c: New test.
14020 * testsuite/libgomp.c++/loop-11.C: New test.
14021 * testsuite/libgomp.c++/loop-12.C: New test.
14022 * testsuite/libgomp.c++/for-8.C: New test.
14023
14024 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14025
14026 * configure: Regenerate.
14027
14028 2009-02-11 Jakub Jelinek <jakub@redhat.com>
14029
14030 PR middle-end/39154
14031 * testsuite/libgomp.c/pr39154.c: New test.
14032
14033 2009-01-30 Ian Lance Taylor <iant@google.com>
14034
14035 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
14036 libgomp_ld_is_gold. Get gold version number.
14037 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
14038 * configure: Rebuild.
14039
14040 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14041
14042 * testsuite/lib/libgomp.exp: Add -B option for targets that
14043 use libgfortran.a%s in their specs.
14044
14045 2009-01-07 Jakub Jelinek <jakub@redhat.com>
14046
14047 PR libgomp/38086
14048 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
14049 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
14050 HAVE_AS_SYMVER_DIRECTIVE is not defined.
14051 * configure: Regenerated.
14052 * config.h.in: Likewise.
14053
14054 2008-12-28 Jakub Jelinek <jakub@redhat.com>
14055
14056 PR c++/38650
14057 * testsuite/libgomp.c/pr38650.c: New test.
14058 * testsuite/libgomp.c++/pr38650.C: New test.
14059
14060 2008-12-27 Jakub Jelinek <jakub@redhat.com>
14061
14062 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
14063
14064 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
14065
14066 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
14067
14068 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14069
14070 * configure: Regenerate.
14071
14072 2008-12-08 Jakub Jelinek <jakub@redhat.com>
14073
14074 PR middle-end/36802
14075 * testsuite/libgomp.c/pr36802-1.c: New test.
14076 * testsuite/libgomp.c/pr36802-2.c: New test.
14077 * testsuite/libgomp.c/pr36802-3.c: New test.
14078
14079 2008-12-01 Janis Johnson <janis187@us.ibm.com>
14080
14081 PR libgomp/38270
14082 * config/linux/powerpc/mutex.h: New.
14083
14084 2008-12-01 Jakub Jelinek <jakub@redhat.com>
14085
14086 PR c++/38257
14087 * testsuite/libgomp.c++/for-7.C: New test.
14088
14089 PR c++/38348
14090 * testsuite/libgomp.c++/for-6.C: New test.
14091
14092 2008-11-26 Janis Johnson <janis187@us.ibm.com>
14093
14094 PR testsuite/28870
14095 * testsuite/lib/libgomp.exp: Include new timeout library files.
14096 (libgomp_target_compile): Set timeout value from new proc.
14097
14098 2008-11-13 Steve Ellcey <sje@cup.hp.com>
14099
14100 PR libgomp/37938
14101 * config/linux/ia64/mutex.h: New.
14102
14103 2008-11-04 Tobias Burnus <burnus@net-b.de>
14104
14105 PR libgomp/37935
14106 * libgomp.texi (Runtime library routines, environment variables):
14107 Update for OpenMP version 3.0.
14108
14109 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
14110 Steve Ellcey <sje@cup.hp.com>
14111
14112 * configure: Regenerate for new libtool.
14113 * Makefile.in: Ditto.
14114 * testsuite/Makefile.in: Ditto.
14115
14116 2008-09-19 Jakub Jelinek <jakub@redhat.com>
14117 Andreas Tobler <a.tobler@schweiz.org>
14118
14119 * config/bsd/proc.c: New file.
14120 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
14121 * configure.ac: Check for header <sys/sysctl.h>
14122 * configure: Regenerate.
14123 * config.h.in: Likewise.
14124
14125 2008-09-05 Janis Johnson <janis187@us.ibm.com>
14126
14127 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
14128
14129 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
14130
14131 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
14132 * Makefile.in: Regenerated.
14133 * testsuite/Makefile.in: Regenerated.
14134
14135 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
14136
14137 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
14138 depend on blddir if blddir exists.
14139 (libgomp_target_compile): Likewise.
14140 * testsuite/libgomp.c++/c++.exp: Likewise.
14141 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14142
14143 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14144
14145 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
14146 Do not list GPL as Invariant Section.
14147
14148 2008-07-28 Ilie Garbacea <ilie@mips.com>
14149 Chao-ying Fu <fu@mips.com>
14150
14151 * configure.tgt: Enable futex for MIPS.
14152 * config/linux/mips/futex.h: New file.
14153
14154 2008-07-16 Jakub Jelinek <jakub@redhat.com>
14155
14156 * team.c (gomp_team_end): Free team immediately if it has
14157 just one thread.
14158
14159 2008-07-08 David Edelsohn <edelsohn@gnu.org>
14160
14161 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
14162 * testsuite/libgomp.fortran/fortran.exp: Same.
14163 * testsuite/libgomp.c/c.exp: Same.
14164 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
14165 directory to library path first.
14166
14167 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
14168
14169 * env.c (parse_stacksize): Add cast to avoid warning.
14170 (parse_spincount): Likewise.
14171
14172 2008-06-27 Jakub Jelinek <jakub@redhat.com>
14173
14174 * testsuite/libgomp.c/loop-10.c: New test.
14175 * libgomp.c/loop-3.c (main): Add lastprivate clause.
14176 * libgomp.c++/loop-6.C (main): Likewise.
14177
14178 PR debug/36617
14179 * testsuite/libgomp.c/debug-1.c: New test.
14180
14181 2008-06-19 Jakub Jelinek <jakub@redhat.com>
14182
14183 * testsuite/libgomp.c/nqueens-1.c: New test.
14184
14185 PR c++/36523
14186 * testsuite/libgomp.c++/task-7.C: New function.
14187
14188 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14189
14190 * configure: Regenerate.
14191
14192 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14193
14194 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
14195 mutex when HAVE_SYNC_BUILTINS isn't defined.
14196
14197 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14198
14199 * libgomp.texi (omp_test_lock): Fix typo.
14200
14201 2008-06-12 Tobias Burnus <burnus@net-b.de>
14202
14203 * omp_lib.f90.in: Add "implicit none".
14204
14205 2008-06-12 Jakub Jelinek <jakub@redhat.com>
14206
14207 PR middle-end/36506
14208 * testsuite/libgomp.c/reduction-5.c: New test.
14209
14210 2008-06-11 Jakub Jelinek <jakub@redhat.com>
14211
14212 * libgomp.h (struct gomp_task): Add in_tied_task field.
14213 * task.c (gomp_init_task): Initialize it.
14214 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
14215 unconditionally. Don't call gomp_team_barrier_wake if
14216 current task is implicit or if(0) from implicit and number of
14217 running tasks is equal to nthreads - 1.
14218
14219 PR libgomp/36471
14220 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
14221 omp_get_team_size_8): Fix pastos.
14222
14223 PR libgomp/36469
14224 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
14225 * configure: Regenerated.
14226 * config.h.in: Regenerated.
14227 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
14228 defined.
14229
14230 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
14231
14232 PR bootstrap/36452
14233 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
14234 (GOMP_loop_ull_dynamic_start): Likewise.
14235 (GOMP_loop_ull_guided_start): Likewise.
14236 (GOMP_loop_ull_ordered_static_start): Likewise.
14237 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
14238 (GOMP_loop_ull_ordered_guided_start): Likewise.
14239
14240 2008-06-06 Jakub Jelinek <jakub@redhat.com>
14241 Richard Henderson <rth@redhat.com>
14242 Ulrich Drepper <drepper@redhat.com>
14243 Jakob Blomer <jakob.blomer@ira.uka.de>
14244
14245 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
14246 Substitute also OMP_*LOCK_25*.
14247 * configure: Regenerated.
14248 * config.h.in: Regenerated.
14249 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
14250 ptrlock.c and task.c.
14251 * Makefile.in: Regenerated.
14252 * testsuite/Makefile.in: Regenerated.
14253 * task.c: New file.
14254 * loop_ull.c: New file.
14255 * iter_ull.c: New file.
14256 * libgomp.h: Include ptrlock.h.
14257 (enum gomp_task_kind): New type.
14258 (struct gomp_team): Add task_lock, task_queue, task_count,
14259 task_running_count, single_count fields. Add
14260 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
14261 Remove work_share_lock, generation_mask,
14262 oldest_live_gen, num_live_gen and init_work_shares fields, add
14263 work work_share_list_alloc, work_share_list_free and work_share_chunk
14264 fields. Change work_shares from pointer to pointers into an array.
14265 Change ordered_release field into gomp_sem_t ** from flexible array
14266 member. Add implicit_task and initial_work_shares fields.
14267 Move close to the end of the struct.
14268 (struct gomp_team_state): Add single_count, last_work_share,
14269 active_level and level fields, remove work_share_generation.
14270 (gomp_barrier_handle_tasks): New prototype.
14271 (gomp_finish_task): New inline function.
14272 (struct gomp_work_share): Move chunk_size, end, incr into
14273 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
14274 next_ll fields. Reshuffle fields. Add next_alloc,
14275 next_ws, next_free and inline_ordered_team_ids fields, change
14276 ordered_team_ids into pointer from flexible array member.
14277 Add mode field. Put lock and next into a different cache line
14278 from most of the write-once fields.
14279 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
14280 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
14281 gomp_iter_ull_guided_next): New prototypes.
14282 (gomp_new_icv): New prototype.
14283 (struct gomp_thread): Add thread_pool and task fields.
14284 (struct gomp_thread_pool): New type.
14285 (gomp_new_team): New prototype.
14286 (gomp_team_start): Change type of last argument.
14287 (gomp_new_work_share): Removed.
14288 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
14289 (gomp_work_share_init_done): New static inline.
14290 (gomp_throttled_spin_count_var, gomp_available_cpus,
14291 gomp_managed_threads): New extern decls.
14292 (gomp_init_task): New prototype.
14293 (gomp_spin_count_var): New extern var decl.
14294 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
14295 or no alias support, or if not PIC.
14296 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
14297 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
14298 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
14299 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
14300 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
14301 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
14302 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
14303 gomp_test_nest_lock_25): New prototypes.
14304 (omp_lock_symver, strong_alias): Define.
14305 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
14306 decls.
14307 (gomp_end_task): New.
14308 (struct gomp_task_icv, gomp_global_icv): New.
14309 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
14310 (struct gomp_task): New.
14311 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
14312 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
14313 (gomp_icv): New.
14314 (gomp_schedule_type): Reorder enum to match
14315 omp_sched_t.
14316 * team.c (struct gomp_thread_start_data): Add thread_pool and task
14317 fields.
14318 (gomp_thread_start): Add gomp_team_barrier_wait call.
14319 For non-nested case remove clearing of docked thread thr fields.
14320 Use pool fields instead of global gomp_* variables. Use
14321 gomp_barrier_wait_last when needed. Initialize ts.active_level.
14322 Create tasks for each member thread.
14323 (free_team): Only destroy team barrier, task_lock here and free it.
14324 (gomp_free_thread): Free last_team if non-NULL.
14325 (gomp_team_end): Call gomp_team_barrier_wait instead of
14326 gomp_barrier_wait. For nested case call one extra
14327 gomp_barrier_wait. Move here some destruction from free_team.
14328 Call free_team on pool->last_team if any, rather than freeing
14329 current team. Destroy work_share_list_free_lock ifndef
14330 HAVE_SYNC_BUILTINS.
14331 (gomp_new_icv): New function.
14332 (gomp_threads, gomp_threads_size, gomp_threads_used,
14333 gomp_threads_dock): Removed.
14334 (gomp_thread_destructor): New variable.
14335 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
14336 functions.
14337 (gomp_team_start): Create new pool if current thread doesn't have
14338 one. Use pool fields instead of global gomp_* variables.
14339 Initialize thread_pool field for new threads. Clear single_count.
14340 Change last argument from ws to team, don't create
14341 new team, set ts.work_share to &team->work_shares[0] and clear
14342 ts.last_work_share. Don't clear ts.work_share_generation.
14343 If number of threads changed, adjust atomically gomp_managed_threads.
14344 Use gomp_init_task instead of gomp_new_task,
14345 set thr->task to the corresponding implicit_task array entry.
14346 Create tasks for each member thread. Initialize ts.level.
14347 (initialize_team): Call pthread_key_create on
14348 gomp_thread_destructor.
14349 (team_destructor): New function.
14350 (new_team): Removed.
14351 (gomp_new_team): New function.
14352 (free_team): Free gomp_work_share blocks chained through next_alloc,
14353 instead of freeing work_shares and destroying work_share_lock.
14354 (gomp_team_end): Call gomp_fini_work_share. If number of threads
14355 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
14356 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
14357 of gomp_barrier_wait.
14358 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
14359 instead of gomp_barrier_wait. Call gomp_work_share_init_done
14360 if gomp_work_share_start returned true. Don't unlock ws->lock.
14361 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
14362 of gomp_barrier_wait.
14363 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
14364 gomp_work_share_init_done if gomp_work_share_start returned true.
14365 Don't unlock ws->lock.
14366 * work.c: Include stddef.h.
14367 (free_work_share): Use work_share_list_free_lock instead
14368 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
14369 Call gomp_fini_work_share and then either free ws if orphaned, or
14370 put it into work_share_list_free list of the current team.
14371 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
14372 functions.
14373 (gomp_work_share_start, gomp_work_share_end,
14374 gomp_work_share_end_nowait): Rewritten.
14375 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
14376 (openmp_version): Set to 200805.
14377 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
14378 omp_sched_guided, omp_sched_auto): New parameters.
14379 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14380 omp_set_max_active_levels, omp_get_max_active_levels,
14381 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14382 omp_get_active_level): New interfaces.
14383 * omp_lib.h.in (openmp_version): Set to 200805.
14384 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
14385 omp_sched_guided, omp_sched_auto): New parameters.
14386 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14387 omp_set_max_active_levels, omp_get_max_active_levels,
14388 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14389 omp_get_active_level): New externals.
14390 * loop.c: Include limits.h.
14391 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
14392 GFS_AUTO.
14393 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
14394 Likewise. Use gomp_icv.
14395 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
14396 ts.static_trip here.
14397 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
14398 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
14399 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
14400 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
14401 don't unlock ws->lock, otherwise lock it.
14402 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
14403 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
14404 (gomp_parallel_loop_start): Call gomp_new_team instead of
14405 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
14406 Adjust gomp_team_start caller. Pass 0 as second argument to
14407 gomp_resolve_num_threads.
14408 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
14409 If adding ws->chunk_size nthreads + 1 times after end won't
14410 overflow, set ws->mode to 1.
14411 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
14412 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
14413 GOMP_loop_ull_ordered_static_start,
14414 GOMP_loop_ull_ordered_dynamic_start,
14415 GOMP_loop_ull_ordered_guided_start,
14416 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
14417 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
14418 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
14419 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
14420 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
14421 prototypes.
14422 * libgomp.map: Export lock routines also @@OMP_2.0.
14423 (GOMP_loop_ordered_dynamic_first,
14424 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
14425 GOMP_loop_ordered_static_first): Remove.
14426 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
14427 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
14428 GOMP_loop_ull_ordered_dynamic_next,
14429 GOMP_loop_ull_ordered_dynamic_start,
14430 GOMP_loop_ull_ordered_guided_next,
14431 GOMP_loop_ull_ordered_guided_start,
14432 GOMP_loop_ull_ordered_runtime_next,
14433 GOMP_loop_ull_ordered_runtime_start,
14434 GOMP_loop_ull_ordered_static_next,
14435 GOMP_loop_ull_ordered_static_start,
14436 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
14437 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
14438 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
14439 (omp_set_schedule, omp_get_schedule,
14440 omp_get_thread_limit, omp_set_max_active_levels,
14441 omp_get_max_active_levels, omp_get_level,
14442 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
14443 omp_set_schedule_, omp_set_schedule_8_,
14444 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
14445 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
14446 omp_get_max_active_levels_, omp_get_level_,
14447 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
14448 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
14449 New exports @@OMP_3.0.
14450 * omp.h.in (omp_sched_t): New type.
14451 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14452 omp_set_max_active_levels, omp_get_max_active_levels,
14453 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14454 omp_get_active_level): New prototypes.
14455 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
14456 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
14457 gomp_thread_limit_var, gomp_remaining_threads_count,
14458 gomp_remaining_threads_lock): New variables.
14459 (parse_spincount): New function.
14460 (initialize_env): Call gomp_init_num_threads unconditionally.
14461 Initialize gomp_available_cpus. Call parse_spincount,
14462 initialize gomp_{,throttled_}spin_count_var
14463 depending on presence and value of OMP_WAIT_POLICY and
14464 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
14465 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
14466 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
14467 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
14468 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
14469 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
14470 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
14471 (gomp_global_icv): New.
14472 (parse_schedule): Use it. Parse "auto".
14473 (omp_set_num_threads): Use gomp_icv.
14474 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
14475 Likewise.
14476 (omp_get_max_threads): Move from parallel.c.
14477 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14478 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
14479 add ialias.
14480 (parse_stacksize, parse_wait_policy): New functions.
14481 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
14482 both wrappers for compatibility and new locks.
14483 (omp_set_schedule, omp_get_schedule,
14484 omp_get_thread_limit, omp_set_max_active_levels,
14485 omp_get_max_active_levels, omp_get_level,
14486 omp_get_ancestor_thread_num, omp_get_team_size,
14487 omp_get_active_level): New ialias_redirect.
14488 (omp_set_schedule_, omp_set_schedule_8_,
14489 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
14490 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
14491 omp_get_max_active_levels_, omp_get_level_,
14492 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
14493 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
14494 New functions.
14495 * parallel.c: Include limits.h.
14496 (gomp_resolve_num_threads): Add count argument. Rewritten.
14497 (GOMP_parallel_start): Call gomp_new_team and pass that as last
14498 argument to gomp_team_start. Pass 0 as second argument to
14499 gomp_resolve_num_threads.
14500 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
14501 if gomp_thread_limit_var != ULONG_MAX.
14502 (omp_in_parallel): Implement using ts.active_level.
14503 (omp_get_max_threads): Move to env.c.
14504 (omp_get_level, omp_get_ancestor_thread_num,
14505 omp_get_team_size, omp_get_active_level): New functions,
14506 add ialias.
14507 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
14508 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
14509 gomp_iter_dynamic_next instead of the _locked variant and don't take
14510 lock around it, otherwise acquire it before calling
14511 gomp_iter_dynamic_next_locked.
14512 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
14513 gomp_iter_dynamic_next instead of the _locked variant and don't take
14514 lock around it.
14515 (GOMP_parallel_sections_start): Call gomp_new_team instead of
14516 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
14517 Adjust gomp_team_start caller. Pass count as second argument to
14518 gomp_resolve_num_threads, don't adjust num_threads after the call.
14519 Use gomp_icv.
14520 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
14521 ws->chunk_size by incr.
14522 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
14523 code.
14524 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
14525 types.
14526 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
14527 (omp_check_defines): Check even the compat defines.
14528 * config/linux/ptrlock.c: New file.
14529 * config/linux/ptrlock.h: New file.
14530 * config/linux/wait.h: New file.
14531 * config/posix/ptrlock.c: New file.
14532 * config/posix/ptrlock.h: New file.
14533 * config/linux/bar.h (gomp_team_barrier_wait,
14534 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
14535 (gomp_team_barrier_set_task_pending,
14536 gomp_team_barrier_clear_task_pending,
14537 gomp_team_barrier_set_waiting_for_tasks,
14538 gomp_team_barrier_waiting_for_tasks,
14539 gomp_team_barrier_done): New inlines.
14540 (gomp_barrier_t): Rewritten.
14541 (gomp_barrier_state_t): New typedef.
14542 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
14543 gomp_barrier_wait_start): Rewritten.
14544 (gomp_barrier_wait_end): Change second argument to
14545 gomp_barrier_state_t.
14546 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
14547 inlines.
14548 * config/linux/bar.c: Include wait.h instead of libgomp.h and
14549 futex.h.
14550 (gomp_barrier_wait_end): Rewritten.
14551 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
14552 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
14553 * config/posix/bar.h (gomp_barrier_t): Add generation field.
14554 (gomp_barrier_state_t): New typedef.
14555 (gomp_team_barrier_wait,
14556 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
14557 (gomp_barrier_wait_start): Or all but low 2 bits from generation
14558 into the return value. Return gomp_barrier_state_t.
14559 (gomp_team_barrier_set_task_pending,
14560 gomp_team_barrier_clear_task_pending,
14561 gomp_team_barrier_set_waiting_for_tasks,
14562 gomp_team_barrier_waiting_for_tasks,
14563 gomp_team_barrier_done): New inlines.
14564 (gomp_barrier_wait_end): Change second argument to
14565 gomp_barrier_state_t.
14566 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
14567 inlines.
14568 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
14569 (gomp_barrier_wait_end): Change second argument to
14570 gomp_barrier_state_t.
14571 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
14572 gomp_team_barrier_wake): New functions.
14573 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
14574 futex.h.
14575 (gomp_futex_wake, gomp_futex_wait): New variables.
14576 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
14577 * config/linux/lock.c: Rewrite to make locks task owned,
14578 for backwards compatibility provide the old entrypoints
14579 if symbol versioning. Include wait.h instead of libgomp.h and
14580 futex.h.
14581 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
14582 * config/posix95/lock.c: Rewrite to make locks task owned,
14583 for backwards compatibility provide the old entrypoints
14584 if symbol versioning.
14585 * config/posix/lock.c: Rewrite to make locks task owned,
14586 for backwards compatibility provide the old entrypoints
14587 if symbol versioning.
14588 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
14589 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
14590 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
14591 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14592 (sys_futex0): Return error code.
14593 (futex_wake, futex_wait): If ENOSYS was returned, clear
14594 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14595 (cpu_relax, atomic_write_barrier): New static inlines.
14596 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14597 (futex_wake, futex_wait): If ENOSYS was returned, clear
14598 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14599 (cpu_relax, atomic_write_barrier): New static inlines.
14600 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14601 (sys_futex0): Return error code.
14602 (futex_wake, futex_wait): If ENOSYS was returned, clear
14603 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14604 (cpu_relax, atomic_write_barrier): New static inlines.
14605 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14606 (sys_futex0): Return error code.
14607 (futex_wake, futex_wait): If ENOSYS was returned, clear
14608 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14609 (cpu_relax, atomic_write_barrier): New static inlines.
14610 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14611 (sys_futex0): Return error code.
14612 (futex_wake, futex_wait): If ENOSYS was returned, clear
14613 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14614 (cpu_relax, atomic_write_barrier): New static inlines.
14615 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14616 (sys_futex0): Return error code.
14617 (futex_wake, futex_wait): If ENOSYS was returned, clear
14618 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14619 (cpu_relax, atomic_write_barrier): New static inlines.
14620 * config/linux/sem.c: Include wait.h instead of libgomp.h and
14621 futex.h.
14622 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
14623 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
14624 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
14625 types.
14626 (omp_nest_lock_t): Change owner into void *, add lock field.
14627 * config/posix95/omp-lock.h: Include semaphore.h.
14628 (omp_lock_25_t, omp_nest_lock_25_t): New types.
14629 (omp_lock_t): Use sem_t instead of mutex if semaphores
14630 aren't broken.
14631 (omp_nest_lock_t): Likewise. Change owner to void *.
14632 * config/posix/omp-lock.h: Include semaphore.h.
14633 (omp_lock_25_t, omp_nest_lock_25_t): New types.
14634 (omp_lock_t): Use sem_t instead of mutex if semaphores
14635 aren't broken.
14636 (omp_nest_lock_t): Likewise. Add owner field.
14637
14638 2008-06-06 Jakub Jelinek <jakub@redhat.com>
14639
14640 * testsuite/libgomp.c/collapse-1.c: New test.
14641 * testsuite/libgomp.c/collapse-2.c: New test.
14642 * testsuite/libgomp.c/collapse-3.c: New test.
14643 * testsuite/libgomp.c/icv-1.c: New test.
14644 * testsuite/libgomp.c/icv-2.c: New test.
14645 * testsuite/libgomp.c/lib-2.c: New test.
14646 * testsuite/libgomp.c/lock-1.c: New test.
14647 * testsuite/libgomp.c/lock-2.c: New test.
14648 * testsuite/libgomp.c/lock-3.c: New test.
14649 * testsuite/libgomp.c/loop-4.c: New test.
14650 * testsuite/libgomp.c/loop-5.c: New test.
14651 * testsuite/libgomp.c/loop-6.c: New test.
14652 * testsuite/libgomp.c/loop-7.c: New test.
14653 * testsuite/libgomp.c/loop-8.c: New test.
14654 * testsuite/libgomp.c/loop-9.c: New test.
14655 * testsuite/libgomp.c/nested-3.c: New test.
14656 * testsuite/libgomp.c/nestedfn-6.c: New test.
14657 * testsuite/libgomp.c/sort-1.c: New test.
14658 * testsuite/libgomp.c/task-1.c: New test.
14659 * testsuite/libgomp.c/task-2.c: New test.
14660 * testsuite/libgomp.c/task-3.c: New test.
14661 * testsuite/libgomp.c/task-4.c: New test.
14662 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
14663 to C++ testsuite default compiler options.
14664 * testsuite/libgomp.c++/collapse-1.C: New test.
14665 * testsuite/libgomp.c++/collapse-2.C: New test.
14666 * testsuite/libgomp.c++/ctor-10.C: New test.
14667 * testsuite/libgomp.c++/for-1.C: New test.
14668 * testsuite/libgomp.c++/for-2.C: New test.
14669 * testsuite/libgomp.c++/for-3.C: New test.
14670 * testsuite/libgomp.c++/for-4.C: New test.
14671 * testsuite/libgomp.c++/for-5.C: New test.
14672 * testsuite/libgomp.c++/loop-8.C: New test.
14673 * testsuite/libgomp.c++/loop-9.C: New test.
14674 * testsuite/libgomp.c++/loop-10.C: New test.
14675 * testsuite/libgomp.c++/task-1.C: New test.
14676 * testsuite/libgomp.c++/task-2.C: New test.
14677 * testsuite/libgomp.c++/task-3.C: New test.
14678 * testsuite/libgomp.c++/task-4.C: New test.
14679 * testsuite/libgomp.c++/task-5.C: New test.
14680 * testsuite/libgomp.c++/task-6.C: New test.
14681 * testsuite/libgomp.fortran/allocatable1.f90: New test.
14682 * testsuite/libgomp.fortran/allocatable2.f90: New test.
14683 * testsuite/libgomp.fortran/allocatable3.f90: New test.
14684 * testsuite/libgomp.fortran/allocatable4.f90: New test.
14685 * testsuite/libgomp.fortran/collapse1.f90: New test.
14686 * testsuite/libgomp.fortran/collapse2.f90: New test.
14687 * testsuite/libgomp.fortran/collapse3.f90: New test.
14688 * testsuite/libgomp.fortran/collapse4.f90: New test.
14689 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
14690 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
14691 * testsuite/libgomp.fortran/lib4.f90: New test.
14692 * testsuite/libgomp.fortran/lock-1.f90: New test.
14693 * testsuite/libgomp.fortran/lock-2.f90: New test.
14694 * testsuite/libgomp.fortran/nested1.f90: New test.
14695 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
14696 * testsuite/libgomp.fortran/strassen.f90: New test.
14697 * testsuite/libgomp.fortran/tabs1.f90: New test.
14698 * testsuite/libgomp.fortran/tabs2.f: New test.
14699 * testsuite/libgomp.fortran/task1.f90: New test.
14700 * testsuite/libgomp.fortran/task2.f90: New test.
14701 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
14702 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14703 * testsuite/libgomp.c/pr26943-2.c: Likewise.
14704 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14705 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14706
14707 2008-05-23 Jakub Jelinek <jakub@redhat.com>
14708
14709 PR c++/36308
14710 * testsuite/libgomp.c++/ctor-11.C: New test.
14711 * testsuite/libgomp.c++/ctor-12.C: New test.
14712
14713 2008-05-15 Janis Johnson <janis187@us.ibm.com>
14714
14715 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
14716
14717 2008-05-07 Jakub Jelinek <jakub@redhat.com>
14718
14719 PR middle-end/36106
14720 * testsuite/libgomp.c/atomic-5.c: New test.
14721 * testsuite/libgomp.c/atomic-6.c: New test.
14722 * testsuite/libgomp.c/autopar-1.c: New test.
14723
14724 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14725
14726 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
14727 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
14728 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
14729 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
14730 * configure: Regenerate.
14731 * Makefile.in, testsuite/Makefile.in: Likewise.
14732
14733 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
14734
14735 PR bootstrap/35457
14736 * aclocal.m4: Regenerate.
14737 * configure: Regenerate.
14738
14739 2008-03-18 Jakub Jelinek <jakub@redhat.com>
14740
14741 PR middle-end/35611
14742 * testsuite/libgomp.c/atomic-4.c: New test.
14743
14744 PR libgomp/35625
14745 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
14746 (gomp_iter_guided_next): Likewise.
14747 * testsuite/libgomp.c/pr35625.c: New test.
14748
14749 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14750
14751 * aclocal.m4: Regenerate.
14752 * configure: Likewise.
14753 * Makefile.in: Likewise.
14754 * testsuite/Makefile.in: Likewise.
14755
14756 2008-03-13 Jakub Jelinek <jakub@redhat.com>
14757
14758 PR middle-end/35185
14759 * testsuite/libgomp.c++/pr35185.C: New test.
14760
14761 2008-03-12 Jakub Jelinek <jakub@redhat.com>
14762
14763 PR middle-end/35549
14764 * testsuite/libgomp.c/pr35549.c: New test.
14765
14766 2008-03-06 Jakub Jelinek <jakub@redhat.com>
14767
14768 * testsuite/libgomp.c/atomic-3.c: New test.
14769
14770 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14771
14772 PR fortran/33197
14773 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
14774 .F08 file suffixes.
14775
14776 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
14777
14778 PR libgomp/33131
14779 * configure.ac: Add ACX_HEADER_STRING.
14780 * env.c: Include strings.h.
14781 * aclocal.m4: Regenerate.
14782 * config.h.in: Regenerate.
14783 * configure: Regenerate.
14784 * Makefile.in: Regenerate.
14785 * testsuite/Makefile.in: Regenerate.
14786
14787 2008-02-15 Jakub Jelinek <jakub@redhat.com>
14788
14789 PR middle-end/35196
14790 * testsuite/libgomp.c/pr35196.c: New test.
14791
14792 PR middle-end/35130
14793 * testsuite/libgomp.fortran/pr35130.f90: New test.
14794 * testsuite/libgomp.c/pr35130.c: New test.
14795
14796 2008-01-25 Jakub Jelinek <jakub@redhat.com>
14797
14798 PR middle-end/33880
14799 * testsuite/libgomp.c/pr33880.c: New test.
14800 * testsuite/libgomp.fortran/pr33880.f90: New test.
14801
14802 2008-01-24 David Edelsohn <edelsohn@gnu.org>
14803
14804 * configure: Regenerate.
14805
14806 2008-01-08 Jakub Jelinek <jakub@redhat.com>
14807
14808 * configure.ac: Move futex checking into ../config/futex.m4.
14809 * configure: Rebuilt.
14810 * aclocal.m4: Rebuilt.
14811 * Makefile.in: Rebuilt.
14812
14813 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
14814 2007-10-15 ../config/tls.m4 change.
14815
14816 2007-12-19 Jakub Jelinek <jakub@redhat.com>
14817
14818 PR c++/34513
14819 * testsuite/libgomp.c/pr34513.c: New test.
14820 * testsuite/libgomp.c++/pr34513.C: New test.
14821
14822 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
14823
14824 PR target/32765
14825 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
14826
14827 2007-12-04 Jakub Jelinek <jakub@redhat.com>
14828
14829 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
14830
14831 2007-12-03 Jakub Jelinek <jakub@redhat.com>
14832
14833 * testsuite/libgomp.c/private-1.c: New test.
14834
14835 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
14836 Paolo Bonzini <bonzini@gnu.org>
14837
14838 * Makefile.am: Use space as vpath separator. Use 'vpath %'
14839 instead of 'VPATH ='.
14840 * Makefile.in: Regenerate.
14841
14842 2007-11-23 Matthias Klose <doko@ubuntu.com>
14843
14844 * configure.ac: Adjust makeinfo version check.
14845 * configure: Regenerate.
14846
14847 2007-11-10 Jakub Jelinek <jakub@redhat.com>
14848
14849 PR fortran/34020
14850 * testsuite/libgomp.fortran/pr34020.f90: New test.
14851
14852 2007-11-06 Jakub Jelinek <jakub@redhat.com>
14853
14854 PR c++/33894
14855 * testsuite/libgomp.c++/atomic-1.C: New test.
14856
14857 2007-10-25 Jakub Jelinek <jakub@redhat.com>
14858
14859 PR libgomp/33275
14860 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
14861 Make x and y integers rather than (implicit) reals. Add private (j)
14862 clause to the last omp parallel.
14863
14864 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
14865
14866 * configure: Regenerate following changes to ../config/tls.m4.
14867
14868 2007-09-28 Jakub Jelinek <jakub@redhat.com>
14869
14870 * testsuite/libgomp.fortran/stack.f90: New test.
14871
14872 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
14873
14874 * config/mingw32/proc.c: New file.
14875
14876 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
14877
14878 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
14879 (main): Use __get_cpuid to get i386 target fetaures.
14880 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
14881 (main): Use __get_cpuid to get x86_64 target fetaures.
14882
14883 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
14884
14885 PR target/32765
14886 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
14887 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
14888
14889 2007-07-12 Jakub Jelinek <jakub@redhat.com>
14890
14891 PR fortran/32550
14892 * testsuite/libgomp.fortran/pr32550.f90: New test.
14893 * testsuite/libgomp.fortran/crayptr2.f90: New test.
14894
14895 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
14896
14897 * aclocal.m4: Regenerated.
14898
14899 2007-07-05 Tobias Burnus <burnus@net-b.de>
14900
14901 PR fortran/32359
14902 * testsuite/libgomp.fortran/pr32359.f90: New.
14903
14904 2007-07-02 Jakub Jelinek <jakub@redhat.com>
14905
14906 PR libgomp/32468
14907 * sections.c (GOMP_parallel_sections_start): Only decrease
14908 number of threads to COUNT if dyn_var is true.
14909 * testsuite/libgomp.c/pr32468.c: New test.
14910
14911 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14912
14913 PR libgomp/26308
14914 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
14915
14916 2007-06-21 Jakub Jelinek <jakub@redhat.com>
14917
14918 PR middle-end/32362
14919 * testsuite/libgomp.c/pr32362-1.c: New test.
14920 * testsuite/libgomp.c/pr32362-2.c: New test.
14921 * testsuite/libgomp.c/pr32362-3.c: New test.
14922
14923 2007-06-07 Jakub Jelinek <jakub@redhat.com>
14924
14925 * team.c (gomp_team_start): Fix setting up thread_attr
14926 stack size.
14927
14928 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
14929
14930 * configure: Regenerate.
14931
14932 2007-05-23 Steve Ellcey <sje@cup.hp.com>
14933
14934 * Makefile.in: Regenerate.
14935 * configure: Regenerate.
14936 * aclocal.m4: Regenerate.
14937 * testsuite/Makefile.in: Regenerate.
14938
14939 2007-05-04 Jakub Jelinek <jakub@redhat.com>
14940
14941 * config/linux/proc.c: New file.
14942
14943 PR libgomp/28482
14944 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
14945
14946 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
14947
14948 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
14949
14950 2007-04-16 Matthias Klose <doko@debian.org>
14951
14952 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
14953 flags if not building with -m64.
14954 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
14955 flag for i?86-*-* targets, if current target matches -m64.
14956
14957 2007-04-14 Steve Ellcey <sje@cup.hp.com>
14958
14959 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
14960 * Makefile.in: Regenerate.
14961
14962 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14963
14964 PR testsuite/31369
14965 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
14966 ld_library_path.
14967 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14968
14969 2007-04-04 Jakub Jelinek <jakub@redhat.com>
14970
14971 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
14972 decls.
14973 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
14974 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
14975 (parse_affinity): New function.
14976 (initialize_env): Call it and gomp_init_affinity.
14977 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
14978 create new pthread_attr_t and call gomp_init_thread_affinity
14979 on it for each thread before passing the attribute to pthread_create.
14980 * config/linux/affinity.c: New file.
14981 * config/posix/affinity.c: New file.
14982 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
14983 * configure: Rebuilt.
14984 * config.h.in: Rebuilt.
14985 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
14986 * Makefile.in: Rebuilt.
14987
14988 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
14989
14990 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
14991 *-*-darwin*.
14992 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
14993 and use it if found.
14994
14995 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
14996
14997 * testsuite/config/default.exp: New file.
14998 * testsuite/lib/libgomp.exp: New file.
14999 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
15000 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
15001 load_lib *, load_gcc_lib *): Move to libgomp.exp.
15002 (libgomp_load): Remove.
15003 * testsuite/lib/libgomp.exp (libgomp_init): Compute
15004 always_ld_library_path, not ld_library_path. Set additional_flags
15005 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
15006 (target_compile): Do not call libgomp_init. Append lang_library_path
15007 and lang_link_flags to options.
15008 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
15009 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
15010 here.
15011 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
15012 always_ld_library_path. Set LD_LIBRARY_PATH here.
15013 * testsuite/libgomp.fortran/fortran.exp: Ditto.
15014 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
15015 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
15016 CX8 flag.
15017 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
15018 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
15019 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
15020 * testsuite/libgomp.c/pr29947-1.c: Ditto.
15021 * testsuite/libgomp.c/atomic-10.c: Ditto.
15022
15023 2007-03-21 Jakub Jelinek <jakub@redhat.com>
15024
15025 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
15026 dg-final cleanup-modules line.
15027 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
15028 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
15029 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
15030 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
15031 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
15032 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
15033 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
15034
15035 2007-03-18 Andreas Schwab <schwab@suse.de>
15036
15037 * acinclude.m4: Adjust regular expression for ld version
15038 extraction.
15039 * configure: Regenerate.
15040
15041 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
15042
15043 * Makefile.am: Add install-pdf target as copied from
15044 automake v1.10 rules.
15045 * Makefile.in: Regenerate
15046
15047 2007-02-07 Jakub Jelinek <jakub@redhat.com>
15048
15049 PR libgomp/28486
15050 * configure: Regenerate.
15051
15052 PR c++/30703
15053 * testsuite/libgomp.c++/pr30703.C: New test.
15054
15055 2007-02-02 Jakub Jelinek <jakub@redhat.com>
15056
15057 Revert:
15058 2006-07-05 Eric Christopher <echristo@apple.com>
15059 * configure.ac: Depend addition of -pthread on host OS.
15060 * configure: Regenerate.
15061
15062 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15063
15064 * libgomp.texi: Fix spacing after abbreviations.
15065
15066 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
15067
15068 PR libgomp/30546
15069 * configure.ac: Add check for makeinfo
15070 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
15071 if an appropriate version of makeinfo is found.
15072 * aclocal.m4: Regenerated.
15073 * configure: Regenerated.
15074 * Makefile.in: Regenerated.
15075 * testsuite/Makefile.in: Regenerated.
15076
15077 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
15078
15079 PR libgomp/30540
15080 * libgomp.texi: More about implementation-dependent settings.
15081
15082 2007-01-26 Tobias Burnus <burnus@net-b.de>
15083
15084 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
15085
15086 2007-01-24 Jakub Jelinek <jakub@redhat.com>
15087
15088 PR middle-end/30494
15089 * testsuite/libgomp.c/pr30494.c: New test.
15090
15091 2007-01-15 Tom Tromey <tromey@redhat.com>
15092
15093 * configure: Rebuilt.
15094 * configure.ac: Fixed comment.
15095
15096 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
15097
15098 * libgomp.texi: Document implementation specific default values of
15099 environment variables.
15100
15101 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
15102
15103 PR libgomp/28209
15104 * libgomp.texi: New file.
15105 * configure.ac: Add --enable-generated-files-in-srcdir option.
15106 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
15107 files to srcdir.
15108 * Makefile.in: Regenerated.
15109 * config.h.in: Regenerated.
15110 * testsuite/Makefile.in: Regenerated.
15111 * NOTES: Removed.
15112
15113 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
15114
15115 PR libgomp/29949
15116 * env.c (omp_set_num_threads): Set illegal thread count to 1.
15117
15118 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
15119
15120 * configure: Regenerate.
15121
15122 2006-12-04 Jakub Jelinek <jakub@redhat.com>
15123
15124 PR libgomp/29947
15125 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
15126 start if there shouldn't be any loop iterations.
15127 (gomp_loop_ordered_static_start): Remove start == end test.
15128 * testsuite/libgomp.c/pr29947-1.c: New test.
15129 * testsuite/libgomp.c/pr29947-2.c: New test.
15130
15131 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
15132
15133 * configure.tgt: Force initial-exec TLS model on Linux only.
15134
15135 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
15136
15137 * configure: Regenerated.
15138
15139 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
15140
15141 * env.c (parse_schedule): Reject out of range values.
15142 (parse_unsigned_long): Reject out of range, negative or zero values.
15143
15144 2006-10-29 Jakub Jelinek <jakub@redhat.com>
15145
15146 PR fortran/29629
15147 * testsuite/libgomp.fortran/pr29629.f90: New test.
15148
15149 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
15150
15151 PR libgomp/29494
15152 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
15153 * config/posix95: New directory.
15154 * config/posix95/omp-lock.h: New file.
15155 * config/posix95/lock.c: Likewise.
15156
15157 2006-10-14 Geoffrey Keating <geoffk@apple.com>
15158
15159 * aclocal.m4: Regenerate.
15160 * configure: Regenerate.
15161
15162 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
15163
15164 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
15165 '<' to '<='.
15166
15167 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
15168
15169 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
15170 test.
15171 * configure: Regenerate.
15172 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
15173
15174 2006-09-26 Jakub Jelinek <jakub@redhat.com>
15175
15176 PR middle-end/25261
15177 PR middle-end/28790
15178 * testsuite/libgomp.c/nestedfn-4.c: New test.
15179 * testsuite/libgomp.c/nestedfn-5.c: New test.
15180 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
15181
15182 PR fortran/29097
15183 * testsuite/libgomp.fortran/condinc1.f: New test.
15184 * testsuite/libgomp.fortran/condinc2.f: New test.
15185 * testsuite/libgomp.fortran/condinc3.f90: New test.
15186 * testsuite/libgomp.fortran/condinc4.f90: New test.
15187 * testsuite/libgomp.fortran/condinc1.inc: New file.
15188
15189 2006-09-18 Tom Tromey <tromey@redhat.com>
15190
15191 * configure: Rebuilt.
15192
15193 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
15194
15195 PR c/28768
15196 PR preprocessor/14634
15197 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
15198 to AC_DEFINE.
15199 * configure: Regenerate.
15200
15201 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
15202
15203 * testsuite/libgomp.fortran/reduction3.f90: Change
15204 -2147483648 to -huge(i)-1 to avoid overflow.
15205 * testsuite/libgomp.fortran/reduction4.f90: Change
15206 Z'ffffffff' to not(0) to avoid overflow.
15207
15208 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
15209
15210 PR libgomp/25938
15211 * Makefile.am (libsubincludedir): New.
15212 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
15213 * Makefile.in: Regenerate.
15214
15215 2006-08-17 Jakub Jelinek <jakub@redhat.com>
15216
15217 PR libgomp/28725
15218 * env.c: Include ctype.h.
15219 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
15220 leading and/or trailing whitespace and compare strings case
15221 insensitively.
15222
15223 2006-07-16 Jakub Jelinek <jakub@redhat.com>
15224
15225 PR fortran/28390
15226 * testsuite/libgomp.fortran/pr28390.f: New test.
15227
15228 2006-07-05 Eric Christopher <echristo@apple.com>
15229
15230 * configure.ac: Depend addition of -pthread on host OS.
15231 * configure: Regenerate.
15232
15233 2006-06-21 Jakub Jelinek <jakub@redhat.com>
15234
15235 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
15236 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
15237 defined.
15238
15239 2006-06-20 Jakub Jelinek <jakub@redhat.com>
15240
15241 PR libgomp/26175
15242 PR libgomp/26477
15243 * configure.ac: If neither --enable-linux-futex nor
15244 --disable-linux-futex is passed, determine the default by checking
15245 for compiling and/or running against NPTL. With --enable-linux-futex,
15246 check if SYS_gettid and SYS_futex are defined.
15247 * configure: Rebuilt.
15248
15249 2006-06-14 Richard Henderson <rth@redhat.com>
15250
15251 PR libgomp/28008
15252 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
15253 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
15254
15255 2006-06-09 Richard Henderson <rth@redhat.com>
15256
15257 * env.c (gomp_nthreads_var): Change to unsigned long.
15258 (gomp_run_sched_chunk): Likewise.
15259 (parse_unsigned_long): Rename from parse_num_threads and generalize.
15260 (initialize_env): Initialize gomp_thread_attr.
15261 * libgomp.h (gomp_nthreads_var): Update decl.
15262 (gomp_run_sched_chunk): Likewise.
15263 (gomp_thread_attr): Declare.
15264 * team.c (gomp_thread_attr): Export.
15265 (initialize_team): Don't initialize it.
15266
15267 2006-06-09 Jakub Jelinek <jakub@redhat.com>
15268
15269 PR fortran/27916
15270 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
15271 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
15272
15273 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
15274
15275 * config/mingw32/time.c: New file.
15276 * configure.tgt: Use it.
15277
15278 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
15279
15280 * Makefile.am: Add install-html target. Add install-html to .PHONY
15281 * Makefile.in: Regenerate.
15282
15283 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15284
15285 PR libgomp/27612
15286 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
15287 * testsuite/libgomp.c/critical-1.c: Likewise.
15288 * testsuite/libgomp.c/loop-1.c: Likewise.
15289 * testsuite/libgomp.c/loop-2.c: Likewise.
15290 * testsuite/libgomp.c/single-1.c: Likewise.
15291 * testsuite/libgomp.c/ordered-1.c: Likewise.
15292 * testsuite/libgomp.c/ordered-2.c: Likewise.
15293
15294 2006-05-15 Jakub Jelinek <jakub@redhat.com>
15295
15296 PR middle-end/27416
15297 * libgomp.fortran/pr27416-1.f90: New test.
15298
15299 2006-05-03 Jakub Jelinek <jakub@redhat.com>
15300
15301 PR fortran/27395
15302 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
15303 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
15304
15305 2006-05-02 Jakub Jelinek <jakub@redhat.com>
15306
15307 PR c++/26943
15308 * testsuite/libgomp.c/pr26943-1.c: New test.
15309 * testsuite/libgomp.c/pr26943-2.c: New test.
15310 * testsuite/libgomp.c/pr26943-3.c: New test.
15311 * testsuite/libgomp.c/pr26943-4.c: New test.
15312 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
15313 * testsuite/libgomp.c++/pr26943.C: New test.
15314
15315 2006-05-02 Jakub Jelinek <jakub@redhat.com>
15316
15317 PR middle-end/27337
15318 * testsuite/libgomp.c++/pr27337.C: New test.
15319
15320 2006-04-26 Jakub Jelinek <jakub@redhat.com>
15321
15322 PR c/26171
15323 * testsuite/libgomp.c/pr26171.c: New test.
15324
15325 2006-04-25 Richard Henderson <rth@redhat.com>
15326
15327 PR libgomp/25865
15328 * configure.ac: Use GCC_CHECK_TLS.
15329 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
15330 * Makefile.in, aclocal.m4, configure: Regenerate.
15331
15332 2006-04-10 Matthias Klose <doko@debian.org>
15333
15334 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
15335 directory names containing underscores.
15336
15337 2006-03-21 Jakub Jelinek <jakub@redhat.com>
15338
15339 PR c++/26691
15340 * testsuite/libgomp.c++/pr26691.C: New test.
15341
15342 2006-03-13 Jakub Jelinek <jakub@redhat.com>
15343
15344 * testsuite/libgomp.fortran/retval2.f90: New test.
15345
15346 2006-03-09 Diego Novillo <dnovillo@redhat.com>
15347
15348 * testsuite/libgomp.c++: New directory.
15349
15350 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
15351
15352 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
15353 * config/posix/sem.c: Implement the above.
15354
15355 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
15356
15357 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
15358 define HAVE_BROKEN_POSIX_SEMAPHORES.
15359 * configure: Rebuilt.
15360 * config.h.in: Rebuilt.
15361
15362 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
15363
15364 PR bootstrap/26161
15365 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
15366 for the other pthread check.
15367 * configure: Regenerate.
15368 * config.h.in: Regenerate.
15369
15370 2006-02-15 Jakub Jelinek <jakub@redhat.com>
15371
15372 PR libgomp/25938
15373 PR libgomp/25984
15374 * Makefile.am (fincludedir): New variable.
15375 (nodist_include_HEADERS): Remove Fortran files.
15376 (nodist_finclude_HEADERS): New variable.
15377 * Makefile.in: Regenerated.
15378
15379 2006-02-13 Jakub Jelinek <jakub@redhat.com>
15380
15381 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
15382 Remove tests for returning assumed character length arrays.
15383
15384 2006-02-12 Roger Sayle <roger@eyesopen.com>
15385 John David Anglin <dave@hiauly1.hia.nrc.ca>
15386
15387 PR libgomp/25936
15388 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
15389
15390 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
15391
15392 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
15393
15394 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
15395
15396 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
15397 part of LD_LIBRARY_PATH manually.
15398
15399 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
15400
15401 PR libgomp/25852
15402 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
15403 libgomp_init.
15404
15405 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
15406
15407 PR libgomp/25884
15408 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
15409 * configure.ac (PERL): Don't set.
15410 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
15411 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
15412 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
15413 * omp.h.in: Wrap the new configure substitutions with @ characters.
15414 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
15415 * aclocal.m4, configure, Makefile.in: Regenerate.
15416 * mkomp_h.pl: Delete.
15417
15418 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
15419
15420 PR libgomp/25259
15421 * configure.ac: Use GCC_HEADER_STDINT.
15422 * libgomp.h: Include gstdint.h.
15423 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
15424 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
15425
15426 2006-01-24 Richard Henderson <rth@redhat.com>
15427
15428 PR libgomp/25942
15429 * configure.ac: Add AM_MAINTAINER_MODE.
15430 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
15431
15432 2006-01-24 Diego Novillo <dnovillo@redhat.com>
15433
15434 * Makefile.in: Regenerate.
15435 * testsuite/Makefile.in: Regenerate.
15436 * aclocal.m4: Regenerate.
15437
15438 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
15439
15440 * config/posix/proc.c: Conditional include of sys/loadavg.h for
15441 Solaris.
15442 * configure.ac: Add check for loadavg.h.
15443 (link_gomp): Adjust comment.
15444 * configure: Regenerate.
15445 * config.h.in: Regenerate.
15446
15447 2006-01-21 Steve Ellcey <sje@cup.hp.com>
15448
15449 PR libgomp/25877
15450 * configure.ac: Remove check for alloca.h.
15451 * configure: Regenerate.
15452 * config.h.in: Regenerate.
15453 * libgomp.h: define gomp_alloca to be __builtin_alloca.
15454 * team.c: Remove use of alloca.h.
15455 Call gomp_alloca instead of alloca.
15456
15457 2006-01-20 Steve Ellcey <sje@cup.hp.com>
15458
15459 PR libgomp/25877
15460 * team.c: Add include of alloca.h.
15461 * configure.ac: Add check for alloca.h.
15462 * configure: Regenerate.
15463 * config.h.in: Regenerate.
15464
15465 2006-01-17 Jakub Jelinek <jakub@redhat.com>
15466
15467 PR fortran/25219
15468 * testsuite/libgomp.fortran/pr25219.f90: New test.
15469
15470 2005-12-05 Uros Bizjak <uros@kss-loka.si>
15471
15472 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
15473 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
15474 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
15475 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
15476 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
15477 testsuite/libgomp.fortran/threadprivate1.f90,
15478 testsuite/libgomp.fortran/threadprivate2.f90,
15479 testsuite/libgomp.fortran/threadprivate3.f90,
15480 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
15481 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
15482 testsuite/libgomp.fortran/omp_parse3.f90: Change required
15483 effective-target to TLS runtime.
15484
15485 * testsuite/libgomp.fortran/pr25162.f: Require
15486 effective-target TLS runtime.
15487
15488 2005-12-01 Jakub Jelinek <jakub@redhat.com>
15489
15490 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
15491 * testsuite/libgomp.c/nestedfn-3.c: New test.
15492
15493 2005-11-30 Jakub Jelinek <jakub@redhat.com>
15494
15495 PR fortran/25162
15496 * testsuite/libgomp.fortran/pr25162.f: New test.
15497
15498 2005-11-28 Jakub Jelinek <jakub@redhat.com>
15499
15500 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
15501 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
15502
15503 2005-11-25 Jakub Jelinek <jakub@redhat.com>
15504
15505 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
15506 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
15507 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
15508 single.c, team.c, work.c, config/linux/alpha/futex.h,
15509 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
15510 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
15511 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
15512 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
15513 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
15514 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
15515 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
15516 FSF address.
15517
15518 2005-11-18 Jakub Jelinek <jakub@redhat.com>
15519
15520 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
15521 to nodist_noinst_HEADERS.
15522 * Makefile.in: Rebuilt.
15523
15524 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
15525 add integer count field.
15526 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
15527 omp_nest_lock_t type change.
15528 (omp_init_nest_lock): Likewise. Initialize count to 0.
15529 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
15530 Increment count.
15531 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
15532 Decrement count.
15533 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
15534 Increment count if successful and return the new nesting level.
15535 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
15536 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
15537 * testsuite/libgomp.c/lib-1.c: New test.
15538 * testsuite/libgomp.fortran/lib1.f90: New test.
15539 * testsuite/libgomp.fortran/lib2.f: New test.
15540 * testsuite/libgomp.fortran/lib3.f: New test.
15541
15542 2005-11-17 Richard Henderson <rth@redhat.com>
15543
15544 PR 24845
15545 * Makefile.am (nodist_toolexeclib_HEADERS): New.
15546 * configure.ac (link_gomp): New. Substitute it.
15547 (AC_CONFIG_FILES): Add libgomp.spec.
15548 * libgomp.spec.in: New file.
15549 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
15550 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
15551
15552 2005-11-18 Jakub Jelinek <jakub@redhat.com>
15553
15554 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
15555 reduction(-:var) behaving the same as reduction(+:var).
15556 * testsuite/libgomp.c/reduction-4.c: New test.
15557
15558 2005-11-15 Uros Bizjak <uros@kss-loka.si>
15559
15560 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
15561 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
15562 testsuite/libgomp.c/copyin-3.c,
15563 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
15564 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
15565 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
15566 testsuite/libgomp.c++/pr24455.C,
15567 testsuite/libgomp.fortran/threadprivate1.f90,
15568 testsuite/libgomp.fortran/threadprivate2.f90,
15569 testsuite/libgomp.fortran/threadprivate3.f90,
15570 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
15571 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
15572 testsuite/libgomp.fortran/omp_parse3.f90: Require
15573 effective-target TLS.
15574
15575 2005-11-14 Diego Novillo <dnovillo@redhat.com>
15576
15577 * HEADER: Remove.
15578
15579 2005-11-13 Jakub Jelinek <jakub@redhat.com>
15580
15581 PR libgomp/24797
15582 * team.c (initialize_team): Pass NULL rather than free as
15583 pthread_key_create destructor. Initialize thread specific data
15584 pointer in initial thread to a static local variable rather than
15585 malloced memory.
15586
15587 2005-11-11 Uros Bizjak <uros@kss-loka.si>
15588
15589 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
15590 its location to ld_library_path.
15591
15592 2005-11-10 Diego Novillo <dnovillo@redhat.com>
15593
15594 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
15595
15596 2005-11-10 Diego Novillo <dnovillo@redhat.com>
15597
15598 * testsuite/libgomp.c: Rename from libgomp.dg.
15599
15600 2005-11-09 Diego Novillo <dnovillo@redhat.com>
15601
15602 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
15603 threadprivate variable 'i'.
15604
15605 2005-11-09 Jakub Jelinek <jakub@redhat.com>
15606
15607 * config/linux/s390/futex.h: New file.
15608 * configure.tgt: Use it.
15609
15610 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
15611 before the parallel.
15612
15613 2005-11-08 Jakub Jelinek <jakub@redhat.com>
15614
15615 PR c++/24734
15616 * testsuite/libgomp.c++/master-1.C: New test.
15617
15618 2005-11-07 Jakub Jelinek <jakub@redhat.com>
15619
15620 * testsuite/libgomp.dg/copyin-3.c: New test.
15621
15622 2005-11-07 Jakub Jelinek <jakub@redhat.com>
15623
15624 * testsuite/libgomp.fortran/retval1.f90: New test.
15625 * testsuite/libgomp.fortran/vla7.f90: New test.
15626
15627 2005-11-06 Jakub Jelinek <jakub@redhat.com>
15628
15629 * testsuite/libgomp.fortran/vla2.f90: New test.
15630 * testsuite/libgomp.fortran/vla3.f90: New test.
15631 * testsuite/libgomp.fortran/vla4.f90: New test.
15632 * testsuite/libgomp.fortran/vla5.f90: New test.
15633 * testsuite/libgomp.fortran/vla6.f90: New test.
15634
15635 2005-11-01 Jakub Jelinek <jakub@redhat.com>
15636
15637 * config/linux/sparc/futex.h: New file.
15638 * configure.tgt: Use it.
15639 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
15640
15641 * critical.c: Include stdlib.h.
15642 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
15643 ignoring return value.
15644 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
15645 LIBGOMP_CHECK_SYNC_BUILTINS check.
15646 * configure: Rebuilt.
15647
15648 2005-10-31 Jakub Jelinek <jakub@redhat.com>
15649
15650 * testsuite/libgomp.fortran/vla1.f90: New test.
15651
15652 2005-10-31 Richard Henderson <rth@redhat.com>
15653
15654 * testsuite/libgomp.fortran/character2.f90: Fix race condition
15655 setting 's' in different threads.
15656
15657 2005-10-31 Jakub Jelinek <jakub@redhat.com>
15658
15659 * libgomp.h (attribute_hidden, ialias): Define.
15660 * config/posix/proc.c (omp_get_num_procs): Add ialias.
15661 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
15662 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
15663 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
15664 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
15665 omp_test_lock, omp_test_nest_lock): Likewise.
15666 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
15667 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
15668 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
15669 omp_test_lock, omp_test_nest_lock): Likewise.
15670 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
15671 omp_get_dynamic, omp_get_nested): Likewise.
15672 * parallel.c (omp_get_num_threads, omp_get_max_threads,
15673 omp_get_thread_num, omp_in_parallel): Likewise.
15674 * fortran.c (ialias_redirect): Define.
15675 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
15676 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
15677 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
15678 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
15679 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
15680 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
15681 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
15682 omp_get_wtime): Add ialias_redirect.
15683
15684 2005-10-30 Jakub Jelinek <jakub@redhat.com>
15685
15686 * fortran.c: Include stdlib.h.
15687
15688 2005-10-29 Jakub Jelinek <jakub@redhat.com>
15689
15690 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
15691 * Makefile.in: Regenerated.
15692
15693 2005-10-28 Jakub Jelinek <jakub@redhat.com>
15694
15695 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
15696 * libgomp_f.h.in (omp_check_defines): New function.
15697 * env.c: Include libgomp_f.h.
15698 (initialize_env): Call omp_check_defines.
15699
15700 * testsuite/libgomp.dg/copyin-2.c: New test.
15701 * testsuite/libgomp.c++/copyin-2.C: New test.
15702 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
15703
15704 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
15705 * testsuite/libgomp.fortran/sharing2.f90: New test.
15706
15707 * testsuite/libgomp.dg/copyin-1.c: New test.
15708 * testsuite/libgomp.c++/copyin-1.C: New test.
15709
15710 2005-10-26 Jakub Jelinek <jakub@redhat.com>
15711
15712 * testsuite/libgomp.fortran/crayptr1.f90: New test.
15713
15714 * testsuite/libgomp.fortran/workshare1.f90: New test.
15715
15716 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
15717 only test.
15718 * libgomp.fortran/sharing1.f90: New test.
15719
15720 2005-10-24 Jakub Jelinek <jakub@redhat.com>
15721
15722 PR c++/24502
15723 * testsuite/libgomp.c++/loop-7.C: New test.
15724
15725 * testsuite/libgomp.dg/nestedfn-2.c: New test.
15726
15727 * testsuite/libgomp.dg/nestedfn-1.c: New test.
15728 * testsuite/libgomp.fortran/reduction6.f90: New test.
15729 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
15730
15731 2005-10-23 Richard Henderson <rth@redhat.com>
15732
15733 * testsuite/libgomp.c++/ctor-1.C: New.
15734 * testsuite/libgomp.c++/ctor-2.C: New.
15735 * testsuite/libgomp.c++/ctor-3.C: New.
15736 * testsuite/libgomp.c++/ctor-4.C: New.
15737 * testsuite/libgomp.c++/ctor-5.C: New.
15738 * testsuite/libgomp.c++/ctor-6.C: New.
15739 * testsuite/libgomp.c++/ctor-7.C: New.
15740 * testsuite/libgomp.c++/ctor-8.C: New.
15741 * testsuite/libgomp.c++/ctor-9.C: New.
15742
15743 2005-10-21 Diego Novillo <dnovillo@redhat.com>
15744
15745 PR 24455
15746 * testsuite/libgomp.c++/pr24455-1.C: New test.
15747 * testsuite/libgomp.c++/pr24455.C: New test.
15748 * testsuite/libgomp.dg/pr24455-1.c: New test.
15749 * testsuite/libgomp.dg/pr24455.c: New test.
15750
15751 2005-10-20 Richard Henderson <rth@redhat.com>
15752
15753 * testsuite/libgomp.c++/loop-6.C: New.
15754 * testsuite/libgomp.dg/loop-3.c: New.
15755
15756 2005-10-20 Jakub Jelinek <jakub@redhat.com>
15757
15758 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
15759 explicitly private.
15760 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
15761 explicitly shared.
15762
15763 2005-10-19 Diego Novillo <dnovillo@redhat.com>
15764
15765 * testsuite/libgomp.fortran/jacobi.f: New test.
15766
15767 2005-10-19 Richard Henderson <rth@redhat.com>
15768
15769 * configure.tgt (i?86-linux): Default to with_arch instead of
15770 CFLAGS. Add -mtune to match target_cpu.
15771 (x86_64-linux): Tune to i686.
15772
15773 * fortran.c (omp_test_nest_lock_): Fix typo.
15774
15775 2005-10-19 Jakub Jelinek <jakub@redhat.com>
15776
15777 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
15778 gomp_ordered_sync): Do nothing if team->nthreads == 1.
15779 * testsuite/libgomp.dg/ordered-3.c: New test.
15780
15781 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
15782 Remove volatile keyword.
15783
15784 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
15785 in COMMON block to avoid warnings on 64-bit targets.
15786
15787 2005-10-18 Diego Novillo <dnovillo@redhat.com>
15788
15789 * testsuite/libgomp.dg/shared-3.c: New test.
15790
15791 2005-10-18 Jakub Jelinek <jakub@redhat.com>
15792
15793 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
15794 * testsuite/libgomp.fortran/reduction5.f90: New test.
15795
15796 2005-10-18 Jakub Jelinek <jakub@redhat.com>
15797
15798 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
15799 dg-options.
15800 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
15801 flush loop now that __sync_synchronize has proper memory barrier.
15802 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
15803 Add -ffixed-form to dg-options.
15804
15805 2005-10-17 Diego Novillo <dnovillo@redhat.com>
15806
15807 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
15808 from subdirectories.
15809 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
15810 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
15811 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
15812 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
15813 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
15814 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
15815 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
15816 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
15817 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
15818 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
15819 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
15820 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
15821 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
15822 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
15823 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
15824 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
15825 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
15826 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
15827 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
15828 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
15829 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
15830 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
15831 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
15832 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
15833 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
15834
15835 2005-10-17 Jakub Jelinek <jakub@redhat.com>
15836
15837 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
15838 lang_library_path exists. Use find instead of glob to gather tests.
15839 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
15840
15841 2005-10-17 Diego Novillo <dnovillo@redhat.com>
15842
15843 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
15844 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
15845 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
15846 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
15847 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
15848 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
15849 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
15850 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
15851 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
15852 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
15853 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
15854 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
15855 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
15856
15857 2005-10-15 Jakub Jelinek <jakub@redhat.com>
15858
15859 * testsuite/libgomp.dg/vla-1.c: New test.
15860
15861 * testsuite/libgomp.fortran/reference2.f90: New test.
15862
15863 * testsuite/libgomp.fortran/character2.f90: Remove explicit
15864 declaration of omp_get_thread_num.
15865 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
15866 use omp_lib.
15867
15868 * testsuite/libgomp.fortran/reduction1.f90: New test.
15869 * testsuite/libgomp.fortran/reduction2.f90: New test.
15870 * testsuite/libgomp.fortran/reduction3.f90: New test.
15871 * testsuite/libgomp.fortran/reduction4.f90: New test.
15872
15873 2005-10-13 Richard Henderson <rth@redhat.com>
15874
15875 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
15876 * Makefile.in: Regenerate.
15877 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
15878 * libgomp.h: Include bar.h.
15879 (struct gomp_barrier): Remove.
15880 (struct gomp_team): Add barrier. Replace master_barrier with
15881 master_release. Replace threads with ordered_release.
15882 (struct gomp_thread): Replace barrier with release.
15883 * ordered.c (gomp_ordered_first): Update for ordered_release change.
15884 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
15885 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
15886 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
15887 (GOMP_single_copy_end): Likewise.
15888 * team.c (gomp_threads_dock): New.
15889 (gomp_barrier_init, gomp_barrier_destroy): Remove.
15890 (gomp_thread_start): Use gomp_barrier_wait.
15891 (new_team, free_team): Update for gomp_team changes.
15892 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
15893 (gomp_team_end): Use gomp_barrier_wait.
15894 (initialize_team): Update for gomp_thread changes.
15895 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
15896 (gomp_work_share_end_nowait): Use atomic ops when available.
15897 * config/linux/bar.c, config/linux/bar.h: New files.
15898 * config/posix/bar.c, config/posix/bar.h: New files.
15899
15900 2005-10-13 Jakub Jelinek <jakub@redhat.com>
15901
15902 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
15903 * testsuite/libgomp.dg/single-2.c: New test.
15904
15905 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
15906 lang_link_flags): Unset, so that they aren't inherited from previously
15907 sourced *.exp.
15908
15909 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
15910
15911 2005-10-12 Richard Henderson <rth@redhat.com>
15912
15913 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
15914 (libgomp_init): Use lang_test_file, lang_library_path, and
15915 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
15916
15917 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
15918 (lang_test_file, lang_link_flags): New.
15919 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
15920
15921 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
15922 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
15923 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
15924 testsuite/libgomp.c++/parallel-1.C,
15925 testsuite/libgomp.c++/reduction-1.C,
15926 testsuite/libgomp.c++/reduction-2.C,
15927 testsuite/libgomp.c++/reduction-3.C,
15928 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
15929 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
15930 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
15931 New files, largely cribbed from the C testsuite.
15932
15933 2005-10-12 Jakub Jelinek <jakub@redhat.com>
15934
15935 * testsuite/libgomp.fortran/character1.f90: New test.
15936 * testsuite/libgomp.fortran/character2.f90: New test.
15937
15938 * testsuite/libgomp.dg/nested-1.c: New test.
15939 * testsuite/libgomp.dg/nested-2.c: New test.
15940 * testsuite/libgomp.fortran/do1.f90: New test.
15941 * testsuite/libgomp.fortran/do2.f90: New test.
15942
15943 * testsuite/libgomp.fortran/reference1.f90: New test.
15944
15945 2005-10-11 Jakub Jelinek <jakub@redhat.com>
15946
15947 * testsuite/libgomp.dg/reduction-1.c: New test.
15948 * testsuite/libgomp.dg/reduction-2.c: New test.
15949 * testsuite/libgomp.dg/reduction-3.c: New test.
15950
15951 2005-10-10 Jakub Jelinek <jakub@redhat.com>
15952
15953 * testsuite/libgomp.dg/atomic-1.c: New test.
15954 * testsuite/libgomp.dg/atomic-2.c: New test.
15955
15956 2005-10-09 Richard Henderson <rth@redhat.com>
15957
15958 * critical.c (atomic_lock): New.
15959 (initialize_critical): Initialize it.
15960 (GOMP_atomic_start, GOMP_atomic_end): New.
15961 * libgomp.map: Export them.
15962 * libgomp_g.h: Declare them.
15963
15964 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
15965
15966 2005-10-02 Richard Henderson <rth@redhat.com>
15967
15968 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
15969 to XCFLAGS instead of CFLAGS.
15970
15971 2005-09-30 Richard Henderson <rth@redhat.com>
15972
15973 * configure.ac: Determine whether -pthread or -lpthread is needed.
15974 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
15975 * Makefile.in, configure: Rebuild.
15976
15977 2005-09-28 Richard Henderson <rth@redhat.com>
15978
15979 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
15980 * testsuite/libgomp.dg/omp-single-3.c: New test.
15981
15982 2005-09-28 Diego Novillo <dnovillo@redhat.com>
15983
15984 * testsuite/libgomp.dg/omp-single-2.c: New test.
15985 * testsuite/libgomp.dg/shared-2.c: Fix return code.
15986
15987 2005-09-27 Richard Henderson <rth@redhat.com>
15988
15989 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
15990 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
15991
15992 2005-09-27 Jakub Jelinek <jakub@redhat.com>
15993
15994 * testsuite/libgomp.dg/omp-loop03.c: New test.
15995
15996 2005-09-27 Diego Novillo <dnovillo@redhat.com>
15997
15998 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
15999
16000 2005-09-27 Diego Novillo <dnovillo@redhat.com>
16001
16002 * testsuite/libgomp.dg/omp-single-1.c: New test.
16003 * testsuite/libgomp.dg/shared-1.c: Return 0.
16004 Add prototype for abort.
16005 * testsuite/libgomp.dg/shared-2.c: Likewise.
16006
16007 2005-09-26 Jakub Jelinek <jakub@redhat.com>
16008
16009 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
16010 constructs.
16011
16012 2005-09-26 Diego Novillo <dnovillo@redhat.com>
16013
16014 * testsuite/libgomp.dg/shared-1.c: New test.
16015 * testsuite/libgomp.dg/shared-2.c: New test.
16016
16017 2005-09-24 Richard Henderson <rth@redhat.com>
16018
16019 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
16020
16021 2005-09-24 Richard Henderson <rth@redhat.com>
16022
16023 * iter.c (gomp_iter_static_next): Round up when computing number
16024 of iterations. Don't bother distributing a remainder equally.
16025
16026 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
16027 Don't call srand. Zero b before testing.
16028 (main): New.
16029
16030 2005-09-24 Jakub Jelinek <jakub@redhat.com>
16031
16032 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
16033 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
16034
16035 2005-09-23 Jakub Jelinek <jakub@redhat.com>
16036
16037 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
16038 without !$omp end do, followed immediately by subroutine end.
16039
16040 2005-09-23 Diego Novillo <dnovillo@redhat.com>
16041
16042 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
16043
16044 2005-09-22 Richard Henderson <rth@redhat.com>
16045
16046 * critical.c (GOMP_critical_name_start): Change argument to void**.
16047 Reuse the pointer space if the mutex fits.
16048 (GOMP_critical_name_end): Likewise.
16049 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
16050 * libgomp_g.h (GOMP_critical_name_start): Update decl.
16051 (GOMP_critical_name_end): Likewise.
16052 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
16053 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
16054
16055 2005-09-20 Richard Henderson <rth@redhat.com>
16056
16057 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
16058 (create_lock_lock): New.
16059 (initialize_critical): Initialize it.
16060 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
16061 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
16062
16063 2005-09-20 Diego Novillo <dnovillo@redhat.com>
16064
16065 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
16066
16067 2005-09-20 Diego Novillo <dnovillo@redhat.com>
16068
16069 * testsuite/libgomp.dg/omp-loop01.c: New test.
16070 * testsuite/libgomp.dg/omp-loop02.c: New test.
16071
16072 2005-09-20 Jakub Jelinek <jakub@redhat.com>
16073
16074 * configure.ac (AC_PROG_FC): Add.
16075 (USE_FORTRAN): New automake conditional.
16076 * configure: Rebuilt.
16077 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
16078 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
16079 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
16080 Add rules to build them.
16081 * Makefile.in: Rebuilt.
16082 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
16083 OMP_NEST_LOCK_KIND.
16084 * libgomp.map: Add Fortran wrappers.
16085 * libgomp_f.h.in: New file.
16086 * omp_lib.h.in: New file.
16087 * omp_lib.f90.in: New file.
16088 * fortran.c: New file.
16089 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
16090 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
16091 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
16092 libgfortran has been built.
16093 * testsuite/libgomp.fortran/fortran.exp: New file.
16094 * testsuite/libgomp.fortran/omp_cond1.f: New test.
16095 * testsuite/libgomp.fortran/omp_cond2.f: New test.
16096 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
16097 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
16098 * testsuite/libgomp.fortran/omp_hello.f: New test.
16099 * testsuite/libgomp.fortran/omp_orphan.f: New test.
16100 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
16101 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
16102 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
16103 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
16104 * testsuite/libgomp.fortran/omp_reduction.f: New test.
16105 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
16106 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
16107
16108 2005-08-30 Richard Henderson <rth@redhat.com>
16109
16110 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
16111 function for when aliases are not usable.
16112 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
16113 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
16114 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
16115 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
16116 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
16117 GOMP_loop_ordered_guided_next): Likewise.
16118 * ordered.c (GOMP_ordered_start): Likewise.
16119
16120 2005-08-01 Diego Novillo <dnovillo@redhat.com>
16121
16122 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
16123 * testsuite/libgomp.dg/omp_hello.c: Fix return code
16124 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
16125 * testsuite/libgomp.dg/omp_orphan.c: Likewise
16126 * testsuite/libgomp.dg/omp_reduction.c: Likewise
16127 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
16128 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
16129 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
16130 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
16131
16132 2005-07-07 Eric Christopher <echristo@redhat.com>
16133 Diego Novillo <dnovillo@redhat.com>
16134
16135 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
16136 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
16137 up code.
16138 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
16139 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
16140 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
16141 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
16142 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
16143 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
16144 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
16145
16146 2005-06-13 Diego Novillo <dnovillo@redhat.com>
16147
16148 * TOPLEVEL.patch: Remove.
16149
16150 2005-05-16 Richard Henderson <rth@redhat.com>
16151
16152 * configure.ac: Test for clock_gettime.
16153 * config.h.in, configure: Rebuild.
16154 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
16155 (omp_get_wtime): Use clock_gettime if available.
16156 (omp_get_wtick): Use clock_getres if available.
16157
16158 2005-05-11 Richard Henderson <rth@redhat.com>
16159
16160 * config/linux/ia64/futex.h: New file.
16161 * configure.tgt: Use it.
16162
16163 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
16164
16165 2005-05-07 Richard Henderson <rth@redhat.com>
16166
16167 * config/linux/powerpc/futex.h: New file.
16168 * configure.tgt: Use it.
16169
16170 * config/linux/i486/futex.h: Merge ...
16171 * config/linux/x86_64/futex.h: ... into ...
16172 * config/linux/x86/futex.h: ... here.
16173 * configure.tgt: Update to match.
16174
16175 2005-05-06 Richard Henderson <rth@redhat.com>
16176
16177 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
16178 * config/linux/i486/futex.h: Likewise.
16179 * config/linux/x86_64/futex.h: Likewise.
16180
16181 * config/linux/lock.c: New file.
16182 * config/linux/omp-lock.h: New file.
16183
16184 * critical.c, env.h: Don't include omp.h
16185 * config/posix/lock.c: Include libgomp.h instead of omp.h.
16186 * config/posix/time.c: Likewise.
16187 * config/posix/omp-lock.h: New file.
16188 * libgomp.h: Include omp-lock.h and omp.h.
16189 * Makefile.am (nodist_include_HEADERS): New.
16190 (omp.h): New rule.
16191 * configure.ac (PERL): New.
16192 * mkomp_h.pl: New file.
16193 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
16194 with templates.
16195 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
16196
16197 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
16198 build directory. Re-add -march=i486 hack.
16199
16200 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
16201 (libgomp_link_flags): Remove.
16202 (libgomp_initialized): Remove.
16203 (libgomp_init): Don't protect from reinitialization. Copy code
16204 from libstdc++ for getting the multilib set correctly.
16205
16206 2005-05-05 Richard Henderson <rth@redhat.com>
16207
16208 * config/linux/alpha/futex.h: New file.
16209 * configure.tgt (alpha*-*-linux*): Use it.
16210
16211 * config/posix/mutex.c: New file.
16212 * config/posix/sem.c: Use libgomp.h.
16213
16214 * configure.tgt (x86_64-linux): Also test CC for -m32.
16215 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
16216
16217 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
16218 after $gccpath.
16219
16220 * Makefile.am (SUBDIRS): New.
16221 (libgomp_la_LDFLAGS): Add -lpthread.
16222 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
16223 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
16224
16225 * libgomp_g.h: New file.
16226 * libgomp.h: Split out all public declarations to libgomp_g.h.
16227 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
16228 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
16229 * config/linux/sem.h: Likewise.
16230 * config/posix/sem.h: Likewise.
16231
16232 * Makefile.am (AM_LDFLAGS): New.
16233 (libgomp_version_script): Split out from ...
16234 (libgomp_la_LDFLAGS): ... here.
16235 (libgomp_version_info): New.
16236 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
16237 (LIBGOMP_ENABLE): New.
16238 (LIBGOMP_CHECK_LINKER_FEATURES): New.
16239 (LIBGOMP_ENABLE_SYMVERS): New.
16240 * configure.ac (AC_INIT): Version 1.0.
16241 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
16242 (enable-linux-futex): Likewise. Rename from enable-futex.
16243 (libtool_VERSION): New.
16244 (LIBGOMP_ENABLE_SYMVERS): Use it.
16245 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
16246 * Makefile.in, aclocal.m4, configure: Rebuild.
16247
16248 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
16249 (gomp_mutex_unlock_slow): Fix typo.
16250 * config/linux/sem.c: Similarly.
16251 (gomp_sem_post_slow): Fix typo.
16252 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
16253 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
16254 [__PIC__] (sys_futex0): Don't use tmp output in asm.
16255
16256 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
16257 (libgomp_la_LDFLAGS): Add top_srcdir to path.
16258 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
16259 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
16260 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
16261 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
16262 LDFLAGS. Pull enable_futex check to top-level.
16263 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
16264 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
16265
16266 First attempt at real configury.
16267 * Makefile, config.h: Remove file.
16268 * Makefile.am, Makefile.in: New file.
16269 * acinclude.m4 aclocal.m4: New file.
16270 * configure.ac, configure.tgt, configure: New file.
16271
16272 * config/posix/lock.c: Rename from sys-lock.c.
16273 * config/posix/mutex.h: Rename from sys-mutex.h.
16274 * config/posix/sem.c: Rename from sys-sem.c.
16275 * config/posix/sem.h: Rename from sys-sem.h.
16276 * config/posix/proc.c: Rename from sys-proc.c.
16277 * config/posix/time.c: Rename from sys-proc.c.
16278
16279 * config/linux/mutex.c: New file.
16280 * config/linux/mutex.h: New file.
16281 * config/linux/sem.c: New file.
16282 * config/linux/sem.h: New file.
16283 * config/linux/i486/futex.h: New file.
16284 * config/linux/x86_64/futex.h: New file.
16285
16286 2005-05-04 Richard Henderson <rth@redhat.com>
16287
16288 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
16289 * libgomp.h: Declare them.
16290 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
16291 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
16292
16293 2005-05-04 Richard Henderson <rth@redhat.com>
16294
16295 * libgomp-1 code drop
16296
16297 2005-05-04 Richard Henderson <rth@redhat.com>
16298
16299 * iter.c (gomp_iter_static_next): Return tri-state on 0.
16300 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
16301 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
16302 (gomp_iter_static_next): Update.
16303 (gomp_ordered_static_next): Update.
16304 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
16305 (gomp_loop_ordered_static_start): Likewise. Exit early for a
16306 totally empty range.
16307 (gomp_loop_ordered_static_next): Refine test for calling
16308 gomp_ordered_static_next.
16309 * testsuite/ordered-1.c: Add case for more threads than iterations.
16310
16311 * iter.c (gomp_iter_runtime_next_locked): Remove.
16312 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
16313 gomp_loop_guided_start, gomp_loop_ordered_static_start,
16314 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
16315 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
16316 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
16317 gomp_loop_ordered_guided_next): Downcase name, make static, add
16318 an external alias with the old name.
16319 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
16320 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
16321 switch and call one of the above static functions.
16322 * libgomp.h: Update.
16323
16324 * work.c (gomp_work_share_start): Lock the mutex for !first too.
16325 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
16326 GOMP_loop_guided_start, GOMP_loop_runtime_start,
16327 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
16328 GOMP_loop_ordered_guided_start): Update to match.
16329 * sections.c (GOMP_sections_start): Likewise.
16330 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
16331
16332 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16333 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
16334 Use bounds check instead of modulus.
16335 (gomp_ordered_sync): Split out of GOMP_ordered_start.
16336 (gomp_ordered_last): Don't sync with ordered_owner here.
16337 (gomp_ordered_next): Likewise.
16338 (gomp_ordered_static_loop_next): Likewise.
16339 * loop.c, libgomp.h: Update to match.
16340
16341 * libgomp.h (GOMP_barrier): Declare.
16342
16343 * testsuite/barrier-1.c: New file.
16344 * testsuite/critical-1.c: New file.
16345 * testsuite/ordered-2.c: New file.
16346 * testsuite/ordered-1.c: New file.
16347 * testsuite/sections-1.c: New file.
16348 * testsuite/single-1.c: New file.
16349 * testsuite/Makefile (TESTS): Add them.
16350
16351 2005-05-04 Richard Henderson <rth@redhat.com>
16352
16353 * libgomp.h (struct gomp_work_share): Add ordered_owner.
16354 * loop.c (GOMP_loop_static_start): If not the startup thread,
16355 acquire the mutex to wait for initialization complete.
16356 (GOMP_loop_ordered_static_start): Likewise.
16357 (GOMP_loop_ordered_runtime_start): Likewise.
16358 (GOMP_loop_ordered_static_first): Remove.
16359 (GOMP_loop_ordered_dynamic_first): Remove.
16360 (GOMP_loop_ordered_guided_first): Remove.
16361 (GOMP_loop_ordered_runtime_first): Remove.
16362 * ordered.c (gomp_ordered_loop_first): Post to own release when
16363 we're the first thread.
16364 (gomp_ordered_loop_last): Wait on release if not owner.
16365 (gomp_ordered_loop_next): Likewise.
16366 (gomp_ordered_static_loop_init): New.
16367 (gomp_ordered_static_loop_next): Use ordered_owner.
16368 (GOMP_ordered_start): Likewise.
16369 * work.c (gomp_new_work_share): Initialize ordered_owner.
16370
16371 2005-05-03 Richard Henderson <rth@redhat.com>
16372
16373 * Makefile (OPT): New.
16374 (CFLAGS): Use it.
16375
16376 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
16377 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
16378 * libgomp.h, libgomp.map, NOTES: Update to match.
16379
16380 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
16381 Add initialized and thr members.
16382 (gomp_thread_start): Pause when initially spawned to wait for
16383 the whole team to be created.
16384 (gomp_team_start): Release team members at the end.
16385
16386 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
16387 (f_foo_1): Use GOMP_loop_end.
16388 (f_foo_2): Use GOMP_loop_end_nowait.
16389
16390 * testsuite/loop-2.c: New file.
16391 * testsuite/Makefile (TESTS): Add it.
16392
16393 2005-05-03 Richard Henderson <rth@redhat.com>
16394
16395 * iter.c (gomp_iter_static_next): Fix overflow check typo.
16396 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
16397 * team.c (new_team): Initialize oldest_live_gen to 1 if no
16398 initial work_share.
16399
16400 * testsuite/Makefile: New file.
16401 * testsuite/loop-1.c: New file.
16402
16403 2005-05-03 Richard Henderson <rth@redhat.com>
16404
16405 Initial implementation and checkin.
16406 \f
16407 Copyright (C) 2005-2021 Free Software Foundation, Inc.
16408
16409 Copying and distribution of this file, with or without modification,
16410 are permitted in any medium without royalty provided the copyright
16411 notice and this notice are preserved.