]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
analyzer: fix ICE on va_copy [PR107349]
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
10439719
GA
12022-10-21 Thomas Schwinge <thomas@codesourcery.com>
2
3 PR tree-optimization/107195
4 PR target/107344
5 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
6 regions checking.
7
47a6ae56
GA
82022-10-20 Tobias Burnus <tobias@codesourcery.com>
9
10 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
11 New.
12 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
13 on_device_arch_gcn): New.
14 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
15 requires-4.c but using heap-allocated memory.
16
172022-10-20 Thomas Schwinge <thomas@codesourcery.com>
18
19 PR target/105421
20 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
21
6237663c
GA
222022-10-17 Thomas Schwinge <thomas@codesourcery.com>
23
24 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
25 '-foffload-options' syntax.
26
621a911d
GA
272022-10-13 Tobias Burnus <tobias@codesourcery.com>
28
29 * testsuite/libgomp.fortran/task-7.f90: New test.
30 * testsuite/libgomp.fortran/task-8.f90: New test.
31 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
32 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
33 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
34 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
35 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
36
781f477a
GA
372022-10-12 Jakub Jelinek <jakub@redhat.com>
38
39 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
40 in deprecation bullet.
41
422022-10-12 Jakub Jelinek <jakub@redhat.com>
43
44 * omp.h.in (omp_in_explicit_task): Declare.
45 * omp_lib.h.in (omp_in_explicit_task): Likewise.
46 * omp_lib.f90.in (omp_in_explicit_task): New interface.
47 * libgomp.map (OMP_5.2): New symbol version, export
48 omp_in_explicit_task and omp_in_explicit_task_.
49 * task.c (omp_in_explicit_task): New function.
50 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
51 (omp_in_explicit_task_): New function.
52 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
53 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
54 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
55 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
56
572022-10-12 Jakub Jelinek <jakub@redhat.com>
58
59 * task.c (gomp_create_artificial_team): Fix up handling of invocations
60 from within explicit task.
61 * target.c (GOMP_target_ext): Likewise.
62 * testsuite/libgomp.c/task-7.c: New test.
63 * testsuite/libgomp.c/task-8.c: New test.
64 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
65 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
66
672022-10-12 Martin Liska <mliska@suse.cz>
68
69 * configure: Regenerate.
70
ab332cd7
GA
712022-10-11 Olivier Hainque <hainque@adacore.com>
72 Olivier Hainque <hainque@adacore.com>
73
74 * configure: Regenerate.
75
966010b2
GA
762022-10-05 Tobias Burnus <tobias@codesourcery.com>
77
78 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
79
85872a69
GA
802022-10-04 Jakub Jelinek <jakub@redhat.com>
81
82 * libgomp.texi (Support begin/end declare target syntax in C/C++):
83 Mark as implemented.
84
3a221b73
GA
852022-09-30 Tobias Burnus <tobias@codesourcery.com>
86
87 PR fortran/105318
88 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
89
9e79a25b
GA
902022-09-28 Tobias Burnus <tobias@codesourcery.com>
91
92 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
93 for C/C++. Remove duplicated 'begin declare target' entry.
94
28a61ecd
GA
952022-09-24 Jakub Jelinek <jakub@redhat.com>
96
97 PR c/106981
98 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
99
ff822367
GA
1002022-09-14 Julian Brown <julian@codesourcery.com>
101
102 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
103 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
104 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
105 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
106 test to here, make "run" test.
107
1995a022
GA
1082022-09-13 Jakub Jelinek <jakub@redhat.com>
109
110 PR libgomp/106906
111 * env.c (get_icv_member_addr): Cast false to void * before assigning
112 it to icv_addr[1], and comment the whole assignment out.
113
1142022-09-13 Tobias Burnus <tobias@codesourcery.com>
115
116 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
117 (nvptx): ... here.
118
b5f09bd7
GA
1192022-09-12 Tobias Burnus <tobias@codesourcery.com>
120
121 * libgomp.texi (Offload-Target Specifics: nvptx): Document
122 that reverse offload requires >= -march=sm_35.
123 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
124 with -misa=sm_35.
125 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
126 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
127 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
128 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
129 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
130
1312022-09-12 Tobias Burnus <tobias@codesourcery.com>
132
133 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
134 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
135
1362022-09-12 Jakub Jelinek <jakub@redhat.com>
137
138 PR libgomp/106894
139 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
140 (main): Avoid tests for which corresponding non-_ALL suffixed variable
141 is in the environment, or for OMP_NUM_TEAMS on the device
142 OMP_NUM_TEAMS_DEV_?.
143
5b3496e2
GA
1442022-09-10 Iain Sandoe <iain@sandoe.co.uk>
145
146 * env.c (initialize_env): Include libiberty environ.h.
147
861d1a11
GA
1482022-09-09 Tobias Burnus <tobias@codesourcery.com>
149
150 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
151 function address table '$offload_func_table' if rev_fn_table
152 is not NULL.
153
1542022-09-09 Tobias Burnus <tobias@codesourcery.com>
155
156 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
157 .offload_func_table to populate rev_fn_table when requested.
158
1592022-09-09 Tobias Burnus <tobias@codesourcery.com>
160
161 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
162 'uint64_t **rev_fn_table' argument.
163 * oacc-host.c (host_load_image): Likewise.
164 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
165 currently unused.
166 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
167 * target.c (gomp_load_image_to_device): Update call but pass
168 NULL for now.
169
1702022-09-09 Jakub Jelinek <jakub@redhat.com>
171
172 PR libgomp/106894
173 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
174 char * for dest[1] initialization from params[1]. Formatting fixes.
175
2e7ad70c
GA
1762022-09-08 Tobias Burnus <tobias@codesourcery.com>
177
178 PR fortran/106670
179 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
180
1812022-09-08 Tobias Burnus <tobias@codesourcery.com>
182
183 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
184 section; move OpenMP Context Selectors from ...
185 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
186 'nvptx' sections.
187
1882022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
189
190 * config/gcn/icv-device.c (omp_get_default_device): Return device-
191 specific ICV.
192 (omp_get_max_teams): Added for GCN devices.
193 (omp_set_num_teams): Likewise.
194 (ialias): Likewise.
195 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
196 specific ICV.
197 (omp_get_max_teams): Added for NVPTX devices.
198 (omp_set_num_teams): Likewise.
199 (ialias): Likewise.
200 * env.c (struct gomp_icv_list): New struct to store entries of initial
201 ICV values.
202 (struct gomp_offload_icv_list): New struct to store entries of device-
203 specific ICV values that are copied to the device and back.
204 (struct gomp_default_icv_values): New struct to store default values of
205 ICVs according to the OpenMP standard.
206 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
207 (print_env_var_error): Function that prints an error for invalid values
208 for ICVs.
209 (parse_unsigned_long_1): Removed getenv. Generalized.
210 (parse_unsigned_long): Likewise.
211 (parse_int_1): Likewise.
212 (parse_int): Likewise.
213 (parse_int_secure): Likewise.
214 (parse_unsigned_long_list): Likewise.
215 (parse_target_offload): Likewise.
216 (parse_bind_var): Likewise.
217 (parse_stacksize): Likewise.
218 (parse_boolean): Likewise.
219 (parse_wait_policy): Likewise.
220 (parse_allocator): Likewise.
221 (omp_display_env): Extended to output different variants of environment
222 variables.
223 (print_schedule): New helper function for omp_display_env which prints
224 the values of run_sched_var.
225 (print_proc_bind): New helper function for omp_display_env which prints
226 the values of proc_bind_var.
227 (enum gomp_parse_type): Collection of types used for parsing environment
228 variables.
229 (ENTRY): Preprocess string lengths of environment variables.
230 (OMP_VAR_CNT): Preprocess table size.
231 (OMP_HOST_VAR_CNT): Likewise.
232 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
233 number.
234 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
235 (gomp_set_icv_flag): Sets a flag for a particular ICV.
236 (print_device_specific_icvs): New helper function for omp_display_env to
237 print device specific ICV values.
238 (get_device_num): New helper function for parse_device_specific.
239 Extracts the device number from an environment variable name.
240 (get_icv_member_addr): Gets the memory address for a particular member
241 of an ICV struct.
242 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
243 (initialize_icvs): New function to initialize a gomp_initial_icvs
244 struct.
245 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
246 (startswith): Checks if a string starts with a given prefix.
247 (initialize_env): Extended to parse the new syntax of environment
248 variables.
249 * icv-device.c (omp_get_max_teams): Added.
250 (ialias): Likewise.
251 (omp_set_num_teams): Likewise.
252 * icv.c (omp_set_num_teams): Moved to icv-device.c.
253 (omp_get_max_teams): Likewise.
254 (ialias): Likewise.
255 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
256 (GOMP_ADDITIONAL_ICVS): New target-side struct that
257 holds the designated ICVs of the target device.
258 * libgomp.h (enum gomp_icvs): Collection of ICVs.
259 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
260 no suffix.
261 (enum gomp_env_suffix): Collection of possible suffixes of environment
262 variables.
263 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
264 initial values.
265 (struct gomp_default_icv):New struct to hold ICVs for which we need
266 to store initial values.
267 (struct gomp_icv_list): Definition of a linked list that is used for
268 storing ICVs for the devices and also for _DEV, _ALL, and without
269 suffix.
270 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
271 a device.
272 (struct gomp_offload_icv_list): Definition of a linked list that holds
273 device-specific ICVs that are copied to devices.
274 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
275 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
276 * libgomp.texi: Updated.
277 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
278 further ICVs from the offload image.
279 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
280 * target.c (gomp_get_offload_icv_item): Get a list item of
281 gomp_offload_icv_list.
282 (get_gomp_offload_icvs): New. Returns the ICV values
283 depending on the device num and the variable hierarchy.
284 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
285 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
286 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
287 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
288 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
289 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
290 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
291
2922022-09-08 Jakub Jelinek <jakub@redhat.com>
293
294 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
295 fully supported.
296 * testsuite/libgomp.c/doacross-4.c: New test.
297 * testsuite/libgomp.c/doacross-5.c: New test.
298 * testsuite/libgomp.c/doacross-6.c: New test.
299 * testsuite/libgomp.c/doacross-7.c: New test.
300
47d2dcd1
GA
3012022-09-05 Tobias Burnus <tobias@codesourcery.com>
302
303 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
304
16f542d6
GA
3052022-08-26 Tobias Burnus <tobias@codesourcery.com>
306
307 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
308 refer to 'requires'.
309 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
310 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
311 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
312 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
313
0342f034
GA
3142022-08-17 Tobias Burnus <tobias@codesourcery.com>
315
316 PR middle-end/106548
317 * testsuite/libgomp.c/linear-2.c: New test.
318
3192022-08-17 Tobias Burnus <tobias@codesourcery.com>
320
321 * splay-tree.h: Fix splay_* macro unsetting if
322 splay_tree_prefix is defined.
323
b2bf0473
GA
3242022-07-29 Tobias Burnus <tobias@codesourcery.com>
325
326 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
327
3282022-07-29 Jakub Jelinek <jakub@redhat.com>
329
330 PR middle-end/106449
331 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
332
43997608
GA
3332022-07-12 Tobias Burnus <tobias@codesourcery.com>
334
335 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
336
3372022-07-12 Thomas Schwinge <thomas@codesourcery.com>
338
339 PR middle-end/101551
340 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
341 'offloading_enabled' diagnostics issue.
342
c72d4714
GA
3432022-07-11 Thomas Schwinge <thomas@codesourcery.com>
344
345 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
346 '_Pragma' diagnostics verification.
347
b53ebbc5
GA
3482022-07-10 Lewis Hyatt <lhyatt@gmail.com>
349
350 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
351 improved warning locations.
352 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
353
0fe604a2
GA
3542022-07-08 Thomas Schwinge <thomas@codesourcery.com>
355
356 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
357 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
358 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
359 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
360 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
361
6345c414
GA
3622022-07-07 Thomas Schwinge <thomas@codesourcery.com>
363
364 * target.c (GOMP_offload_register, GOMP_offload_unregister):
365 Denote as legacy entry points.
366 * testsuite/lib/libgomp.exp
367 (check_effective_target_offload_target_any): New proc.
368 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
369 'offload_target_any'.
370 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
371 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
372 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
373
3742022-07-07 Thomas Schwinge <thomas@codesourcery.com>
375
376 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
377 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
378
3792022-07-07 Thomas Schwinge <thomas@codesourcery.com>
380
381 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
382
4bc92c3b
GA
3832022-07-06 Thomas Schwinge <thomas@codesourcery.com>
384
385 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
386 'data'.
387 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
388
8467574d
GA
3892022-07-04 Tobias Burnus <tobias@codesourcery.com>
390 Jakub Jelinek <jakub@redhat.com>
391
392 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
393
3942022-07-04 Tobias Burnus <tobias@codesourcery.com>
395 Chung-Lin Tang <cltang@codesourcery.com>
396 Thomas Schwinge <thomas@codesourcery.com>
397
398 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
399 omp_requires_mask arg.
400 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
401 return -1 when device available but omp_requires_mask != 0.
402 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
403 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
404 Update call.
405 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
406 goacc_attach_host_thread_to_device, acc_get_num_devices,
407 acc_set_device_num, get_property_any): Likewise.
408 * target.c (omp_requires_mask): New global var.
409 (gomp_requires_to_name): New.
410 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
411 (gomp_target_init): Handle omp_requires_mask.
412 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
413 (OpenMP 5.1): Add a missed item.
414 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
415 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
416 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
417 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
418 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
419 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
420 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
421 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
422 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
423 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
424 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
425 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
426 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
427 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
428 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
429 * testsuite/libgomp.fortran/requires-1.f90: New test.
430
ed974488
GA
4312022-07-01 Tobias Burnus <tobias@codesourcery.com>
432
433 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
434 with fromto as implemented.
435
fb29fdea
GA
4362022-06-28 Martin Liska <mliska@suse.cz>
437
438 * acinclude.m4: Fix typo in mold linker detection.
439 * Makefile.in: Regenerate.
440 * configure: Regenerate.
441
de89b078
GA
4422022-06-21 Jakub Jelinek <jakub@redhat.com>
443 Paul Iannetta <piannetta@kalrayinc.com>
444
445 PR libgomp/106045
446 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
447
5a66d7dd
GA
4482022-06-17 Martin Liska <mliska@suse.cz>
449
450 * libgomp.texi: Add table header for new features of
451 OpenMP 5.2.
452
499b9c5f
GA
4532022-06-15 Jakub Jelinek <jakub@redhat.com>
454
455 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
456 q to ddress of an automatic variable. Use -5 instead of -1 in
457 omp_get_mapped_ptr call. Add test with omp_initial_device.
458 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
459 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
460 Renumber stop arguments afterwards.
461
c3642271
GA
4622022-06-13 Jakub Jelinek <jakub@redhat.com>
463
464 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
465 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
466 parameters.
467 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
468 * target.c (resolve_device): Add remapped argument, handle
469 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
470 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
471 if remapped, otherwise treat omp_initial_device that way. For
472 omp_invalid_device, always emit gomp_fatal, even when
473 OMP_TARGET_OFFLOAD isn't mandatory.
474 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
475 GOMP_target_update, GOMP_target_update_ext,
476 GOMP_target_enter_exit_data): Pass true as remapped argument to
477 resolve_device.
478 (omp_target_alloc, omp_target_free, omp_target_is_present,
479 omp_target_memcpy_check, omp_target_associate_ptr,
480 omp_target_disassociate_ptr, omp_get_mapped_ptr,
481 omp_target_is_accessible): Pass false as remapped argument to
482 resolve_device. Treat omp_initial_device the same as
483 gomp_get_num_devices (). Don't bypass resolve_device calls if
484 device_num is negative.
485 (omp_pause_resource): Treat omp_initial_device the same as
486 gomp_get_num_devices (). Call resolve_device.
487 * icv-device.c (omp_set_default_device): Always set to device_num
488 even when it is negative.
489 * libgomp.texi: Document that Conforming device numbers,
490 omp_initial_device and omp_invalid_device is implemented.
491 * testsuite/libgomp.c/target-41.c (main): Add test with
492 omp_initial_device.
493 * testsuite/libgomp.c/target-45.c: New test.
494 * testsuite/libgomp.c/target-46.c: New test.
495 * testsuite/libgomp.c/target-47.c: New test.
496 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
497 test with omp_initial_device. Use -5 instead of -1 for negative value
498 test.
499 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
500 Likewise. Reorder stop numbers.
501
ef1e4d80
GA
5022022-06-10 Jakub Jelinek <jakub@redhat.com>
503
504 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
505 rather than "libmemkind.so".
506
5072022-06-10 Thomas Schwinge <thomas@codesourcery.com>
508
509 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
510 * plugin/configfrag.ac (--with-cuda-driver)
511 (--with-cuda-driver-include, --with-cuda-driver-lib)
512 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
513 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
514 Remove.
515 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
516 (cuda_driver_lib): Remove.
517 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
518 * Makefile.in: Regenerate.
519 * configure: Likewise.
520 * testsuite/Makefile.in: Likewise.
521
e3bba42f
GA
5222022-06-09 Jakub Jelinek <jakub@redhat.com>
523
524 * config/linux/allocator.c: Fix up #include directive.
525
5262022-06-09 Jakub Jelinek <jakub@redhat.com>
527
528 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
529 (enum gomp_memkind_kind): New type.
530 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
531 is defined.
532 (struct gomp_memkind_data): New type.
533 (memkind_data, memkind_data_once): New variables.
534 (gomp_init_memkind, gomp_get_memkind): New functions.
535 (omp_init_allocator): Initialize data.memkind, don't fail for
536 omp_high_bw_mem_space if libmemkind supports it.
537 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
538 memkind support of LIBGOMP_USE_MEMKIND is defined.
539 * config/linux/allocator.c: New file.
540
58b67140
GA
5412022-06-03 Tobias Burnus <tobias@codesourcery.com>
542
543 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
544 * testsuite/libgomp.fortran/scope-2.f90: New test.
545
b168441c
GA
5462022-06-02 David Malcolm <dmalcolm@redhat.com>
547
548 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
549
820ead45
GA
5502022-05-31 Jakub Jelinek <jakub@redhat.com>
551
552 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
553 scope construct with allocate clause.
554 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
555 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
556
37b3b5da
GA
5572022-05-28 Tobias Burnus <tobias@codesourcery.com>
558
559 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
560 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
561 explicit 'to' and 'enter' clause.
562 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
563
5642022-05-28 Jakub Jelinek <jakub@redhat.com>
565
566 PR libgomp/105745
567 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
568 defined(HAVE__ALIGNED_MALLOC) case.
569 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
570 handling as last option before fallback instead of first.
571 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
572 _aligned_free.
573
d9176e64
GA
5742022-05-27 Jakub Jelinek <jakub@redhat.com>
575
576 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
577 clauses to enter.
578 * testsuite/libgomp.c/target-41.c: Likewise.
579
5802022-05-27 Tobias Burnus <tobias@codesourcery.com>
581
582 * libgomp.texi (Other new OpenMP 5.1 features): Add
583 'begin declare target'.
584 (Other new OpenMP 5.2 features): New.
585
3dff965c
GA
5862022-05-25 Jakub Jelinek <jakub@redhat.com>
587
588 * task.c (gomp_task_run_post_handle_dependers): If empty_task
589 is the last task taskwait depend depends on, wake it up.
590 Similarly if it is the last child of a taskgroup, use atomic
591 store instead of decrement and awak taskgroup wait if any.
592 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
593
768f49a2
GA
5942022-05-24 Andrew Stubbs <ams@codesourcery.com>
595
596 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
597 EF_AMDGPU_MACH_AMDGCN_GFX90a.
598 (gcn_gfx90a_s): New.
599 (isa_hsa_name): Support gfx90a.
600 (isa_code): Likewise.
601
6022022-05-24 Tobias Burnus <tobias@codesourcery.com>
603
604 PR c/105378
605 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
606 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
607
6082022-05-24 Jakub Jelinek <jakub@redhat.com>
609
610 PR c/105378
611 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
612 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
613 * task.c (empty_task): New function.
614 (gomp_task_run_post_handle_depend_hash): Declare earlier.
615 (gomp_task_run_post_handle_depend): Declare.
616 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
617 for.
618 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
619 (GOMP_taskwait_depend_nowait): New function.
620 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
621
168fc8bd
GA
6222022-05-23 Tobias Burnus <tobias@codesourcery.com>
623
624 PR fortran/104949
625 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
626 Support attach for GOMP_MAP_FIRSTPRIVATE.
627 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
628 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
629 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
630
57f2ce6a
GA
6312022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
632
633 * libgomp.map: Added omp_target_memcpy_async and
634 omp_target_memcpy_rect_async.
635 * libgomp.texi: Both functions are now supported.
636 * omp.h.in: Added omp_target_memcpy_async and
637 omp_target_memcpy_rect_async.
638 * omp_lib.f90.in: Added interfaces for both new functions.
639 * omp_lib.h.in: Likewise.
640 * target.c (ialias_redirect): Added for GOMP_task.
641 (omp_target_memcpy): Restructured into check and copy part.
642 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
643 omp_target_memcpy_async that checks requirements.
644 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
645 omp_target_memcpy_async that performs the memcpy.
646 (omp_target_memcpy_async_helper): New helper function that is used in
647 omp_target_memcpy_async for the asynchronous task.
648 (omp_target_memcpy_async): Added.
649 (omp_target_memcpy_rect): Restructured into check and copy part.
650 (omp_target_memcpy_rect_check): New helper function for
651 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
652 requirements.
653 (omp_target_memcpy_rect_copy): New helper function for
654 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
655 the memcpy.
656 (omp_target_memcpy_rect_async_helper): New helper function that is used
657 in omp_target_memcpy_rect_async for the asynchronous task.
658 (omp_target_memcpy_rect_async): Added.
659 * task.c (ialias): Added for GOMP_task.
660 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
661 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
662 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
663 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
664 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
665 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
666 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
667 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
668
1cda629f
GA
6692022-05-18 Tobias Burnus <tobias@codesourcery.com>
670
671 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
672 (OpenMP Context Selectors): Add missing comma.
673 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
674 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
675 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
676 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
677
3d9439b1
GA
6782022-05-17 Jakub Jelinek <jakub@redhat.com>
679
680 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
681 comment for omp_display_env feature.
682
6832022-05-17 Tobias Burnus <tobias@codesourcery.com>
684
685 * libgomp.texi (Offload-Target Specifics): New chapter; add section
686 to document OpenMP context selectors.
687
6882022-05-17 Jakub Jelinek <jakub@redhat.com>
689
690 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
691 from bool to unsigned char.
692 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
693 Ignore dependencies where
694 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
695 rather than just task->depend[i].is_in && ent->is_in. Remember
696 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
697 conditional.
698 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
699 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
700 rather than just elem.is_in && ent->is_in.
701 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
702 inoutset depend-kind.
703 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
704 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
705 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
706
7072022-05-17 Tobias Burnus <tobias@codesourcery.com>
708
709 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
710
7112022-05-17 Tobias Burnus <tobias@codesourcery.com>
712
713 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
714 * testsuite/libgomp.fortran/depend-5.f90: New test.
715 * testsuite/libgomp.fortran/depend-6.f90: New test.
716 * testsuite/libgomp.fortran/depend-7.f90: New test.
717
702bd11f
GA
7182022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
719
720 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
721 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
722 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
723
9df4ffe4
GA
7242022-05-13 Tobias Burnus <tobias@codesourcery.com>
725
726 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
727
7282022-05-13 Tobias Burnus <tobias@codesourcery.com>
729
730 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
731
7322022-05-13 Thomas Schwinge <thomas@codesourcery.com>
733
734 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
735 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
736 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
737 append '$(PLUGIN_NVPTX_LDFLAGS)'.
738 * Makefile.in: Regenerate.
739
49ace834
GA
7402022-05-12 Thomas Schwinge <thomas@codesourcery.com>
741
742 * Makefile.am (libgomp_la_LIBADD): Initialize.
743 * plugin/configfrag.ac (DL_LIBS): New.
744 (PLUGIN_GCN_LIBS): Remove.
745 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
746 * plugin/Makefrag.am (libgomp_la_LIBADD)
747 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
748 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
749 * Makefile.in: Regenerate.
750 * config.h.in: Likewise.
751 * configure: Likewise.
752 * testsuite/Makefile.in: Likewise.
753
7542022-05-12 Thomas Schwinge <thomas@codesourcery.com>
755
756 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
757 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
758 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
759 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
760 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
761 'PLUGIN_NVPTX_LINK_LIBCUDA'.
762 * Makefile.in: Regenerate.
763 * config.h.in: Likewise.
764 * configure: Likewise.
765
7662022-05-12 Thomas Schwinge <thomas@codesourcery.com>
767
768 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
769 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
770 * Makefile.in: Regenerate.
771 * config.h.in: Likewise.
772 * configure: Likewise.
773 * testsuite/Makefile.in: Likewise.
774
7752022-05-12 Jakub Jelinek <jakub@redhat.com>
776
777 * libgomp.h (struct gomp_task): Add depend_all_memory member.
778 * task.c (gomp_init_task): Initialize depend_all_memory.
779 (gomp_task_handle_depend): Handle omp_all_memory.
780 (gomp_task_run_post_handle_depend_hash): Clear
781 parent->depend_all_memory if equal to current task.
782 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
783 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
784 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
785 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
786
d0d513b5
GA
7872022-05-11 Thomas Schwinge <thomas@codesourcery.com>
788
789 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
790 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
791 * Makefile.in: Regenerate.
792 * configure: Likewise.
793 * testsuite/Makefile.in: Likewise.
794
7952022-05-11 Thomas Schwinge <thomas@codesourcery.com>
796
797 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
798 consider 'PLUGIN_GCN_CPPFLAGS'.
799 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
800 'PLUGIN_GCN_LDFLAGS'.
801 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
802 Remove.
803 * Makefile.in: Regenerate.
804 * configure: Likewise.
805 * testsuite/Makefile.in: Likewise.
806
8072022-05-11 Thomas Schwinge <thomas@codesourcery.com>
808
809 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
810 (HSA_RUNTIME_LDFLAGS): Remove.
811 * configure: Regenerate.
812
8132022-05-11 Thomas Schwinge <thomas@codesourcery.com>
814
815 * testsuite/lib/libgomp.exp (libgomp_init): Don't
816 'append always_ld_library_path ":$hsa_runtime_lib"'.
817 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
818
e8778989
GA
8192022-05-10 Thomas Schwinge <thomas@codesourcery.com>
820
821 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
822 multi-device testing.
823
ea3fbfda
GA
8242022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
825
826 * libgomp.map: Added omp_target_is_accessible.
827 * libgomp.texi: Tagged omp_target_is_accessible as supported.
828 * omp.h.in: Added omp_target_is_accessible.
829 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
830 * omp_lib.h.in: Likewise.
831 * target.c (omp_target_is_accessible): Added implementation of
832 omp_target_is_accessible.
833 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
834 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
835
ab869e7f
GA
8362022-05-05 Sandra Loosemore <sandra@codesourcery.com>
837
838 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
839
3e7db517
GA
8402022-05-04 Tobias Burnus <tobias@codesourcery.com>
841
842 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
843
8442022-05-04 Tobias Burnus <tobias@codesourcery.com>
845
846 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
847
e66af28d
GA
8482022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
849
850 * libgomp.map: Added omp_get_mapped_ptr.
851 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
852 * omp.h.in: Added omp_get_mapped_ptr.
853 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
854 * omp_lib.h.in: Likewise.
855 * target.c (omp_get_mapped_ptr): Added implementation of
856 omp_get_mapped_ptr.
857 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
858 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
859 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
860 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
861 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
862 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
863 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
864 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
865
6b6f53d8
GA
8662022-04-28 Thomas Schwinge <thomas@codesourcery.com>
867
868 PR fortran/104717
869 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
870 privatization scanning. For GCN offloading compilation, raise
871 '-mgang-private-size'.
872
01ad093b
GA
8732022-04-26 Jakub Jelinek <jakub@redhat.com>
874
875 PR libgomp/105358
876 * work.c (gomp_init_work_share): Don't mask of adjustment for
877 dynamic long long realignment if struct gomp_work_share has smaller
878 alignof than long long.
879 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
880 struct gomp_work_share has smaller alignof than long long or if
881 sizeof (struct gomp_work_share) is smaller than
882 INLINE_ORDERED_TEAM_IDS_OFF.
883 * loop_ull.c (GOMP_loop_ull_start): Likewise.
884 * sections.c (GOMP_sections2_start): Likewise.
885
98de0da6
GA
8862022-04-25 Jakub Jelinek <jakub@redhat.com>
887 Thomas Schwinge <thomas@codesourcery.com>
888
889 PR fortran/104717
890 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
891
247bbed1
GA
8922022-04-13 Jakub Jelinek <jakub@redhat.com>
893
894 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
895
80eb8ec6
GA
8962022-04-06 Thomas Schwinge <thomas@codesourcery.com>
897
898 * plugin/cuda/cuda.h: Remove file.
899 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
900 "cuda/cuda.h" instead of <cuda.h>.
901 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
902 'PLUGIN_NVPTX_CPPFLAGS'.
903 * configure: Regenerate.
904
9d84ed68
GA
9052022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
906
907 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
908
5e09bb1b
GA
9092022-04-04 Tom de Vries <tdevries@suse.de>
910
911 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
912 on_device_arch_nvptx instead of offload_target_nvptx.
913 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
914
8af4270d
GA
9152022-04-01 Tom de Vries <tdevries@suse.de>
916
917 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
918 and use REC_DEPTH.
919 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
920
9212022-04-01 Tom de Vries <tdevries@suse.de>
922
923 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
924 num_workers check.
925
9f774626
GA
9262022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
927 Lulu Cheng <chenglulu@loongson.cn>
928
929 * configure.tgt: Add LoongArch triplet.
930
aab0127d
GA
9312022-03-28 Tom de Vries <tdevries@suse.de>
932
933 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
934 instead of /libexec/.
935 * configure: Regenerate.
936
31e989a2
GA
9372022-03-25 Tom de Vries <tdevries@suse.de>
938
939 PR libgomp/105042
940 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
941 execution time.
942 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
943 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
944
d1ca63a1
GA
9452022-03-23 Tobias Burnus <tobias@codesourcery.com>
946
947 PR middle-end/104285
948 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
949 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
950 * testsuite/libgomp.c++/target-same-name-2.C: New test.
951 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
952 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
953 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
954
a2287813
GA
9552022-03-22 Tom de Vries <tdevries@suse.de>
956
957 PR target/104916
958 PR target/104783
959 * testsuite/libgomp.c/pr104783-2.c: New test.
960
8ca61ad1
GA
9612022-03-18 Tobias Burnus <tobias@codesourcery.com>
962
963 PR fortran/103039
964 * testsuite/libgomp.fortran/associate4.f90: New test.
965
9662022-03-18 Tom de Vries <tdevries@suse.de>
967
968 PR target/104952
969 * testsuite/libgomp.c/pr104952-1.c: New test.
970 * testsuite/libgomp.c/pr104952-2.c: New test.
971
9722022-03-18 Jakub Jelinek <jakub@redhat.com>
973
974 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
975 variable next to pl variable.
976
e9ea3016
GA
9772022-03-17 Thomas Schwinge <thomas@codesourcery.com>
978
979 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
980 Enhance.
981 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
982 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
983
9842022-03-17 Thomas Schwinge <thomas@codesourcery.com>
985
986 PR middle-end/90115
987 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
988 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
989
9fc8f278
GA
9902022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
991
992 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
993 omp_set_max_active_levels.
994 * testsuite/libgomp.fortran/icv-8.f90: New test.
995
9962022-03-16 Thomas Schwinge <thomas@codesourcery.com>
997
998 PR testsuite/102841
999 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
1000
b9756c08
GA
10012022-03-13 Tobias Burnus <tobias@codesourcery.com>
1002
1003 * libgomp.texi: Fix typo.
1004
57eeedda
GA
10052022-03-12 Thomas Schwinge <thomas@codesourcery.com>
1006
1007 PR middle-end/100280
1008 PR middle-end/104892
1009 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
1010 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
1011 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1012 Likewise.
1013 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
1014 Likewise.
1015 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1016 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1017 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1018 Likewise.
1019
10202022-03-12 Thomas Schwinge <thomas@codesourcery.com>
1021
1022 PR middle-end/104892
1023 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
1024 to PR104892.
1025 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
1026 enable '--param=openacc-kernels=decompose' and adjust.
1027 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
1028 Likewise.
1029 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1030 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1031 Likewise.
1032
10332022-03-12 Thomas Schwinge <thomas@codesourcery.com>
1034
1035 PR middle-end/90115
1036 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
1037 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
1038 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1039 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
1040
10412022-03-12 Thomas Schwinge <thomas@codesourcery.com>
1042
1043 PR middle-end/100280
1044 PR middle-end/104086
1045 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1046 Merge this...
1047 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1048 ..., and this...
1049 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
1050 this, and adjust.
1051 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1052 Extend.
1053
5e28be89
GA
10542022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
1055
1056 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
1057 trait. Test last index in w and v array. Remove redundant
1058 assignment to V(1). Move alignment checks at the end of
1059 parallel region.
1060
10612022-03-10 Tom de Vries <tdevries@suse.de>
1062
1063 * testsuite/libgomp.c/pr104783.c: New test.
1064
10652022-03-10 Thomas Schwinge <thomas@codesourcery.com>
1066
1067 PR middle-end/90115
1068 PR middle-end/102330
1069 PR middle-end/104774
1070 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1071 Enhance.
1072 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1073 Adjust.
1074 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1075 Likewise.
1076 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1077 Likewise.
1078 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1079 Likewise.
1080 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1081 Likewise.
1082 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1083 Likewise.
1084 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1085 Likewise.
1086 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1087 Likewise.
1088 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1089 Likewise.
1090 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1091 Likewise.
1092 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1093 Likewise.
1094 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1095 Likewise.
1096 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1097 Likewise.
1098 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1099 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1100 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1101
11022022-03-10 Thomas Schwinge <thomas@codesourcery.com>
1103
1104 PR middle-end/90115
1105 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
1106 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
1107 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
1108 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
1109
8d96e14c
GA
11102022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1111
1112 PR testsuite/104791
1113 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
1114 expected diagnostics.
1115
11162022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1117
1118 PR middle-end/104784
1119 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1120 Test with '--param=openacc-kernels=decompose'.
1121 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1122 Likewise.
1123 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1124 Likewise.
1125 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1126 Likewise.
1127 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1128 Likewise.
1129 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1130 Likewise.
1131 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1132 Likewise.
1133 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1134 Likewise.
1135 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1136 Likewise.
1137 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1138 Likewise.
1139 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1140 Likewise.
1141 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1142 Likewise.
1143 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1144 Likewise.
1145 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1146 Likewise.
1147 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1148 Likewise.
1149 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1150 Likewise.
1151 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1152 Likewise.
1153 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1154 Likewise.
1155 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1156 Likewise.
1157 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1158 Likewise.
1159 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1160 Likewise.
1161 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1162 Likewise.
1163 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1164 Likewise.
1165 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1166 Likewise.
1167 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1168 Likewise.
1169 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1170 Likewise.
1171 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1172 Likewise.
1173 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1174 Likewise.
1175 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1176 Likewise.
1177 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1178 Likewise.
1179 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1180 Likewise.
1181 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1182 Likewise.
1183 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1184 Likewise.
1185
11862022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1187
1188 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1189 Test '-fopt-info-omp-all'.
1190 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1191 Likewise.
1192 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1193 Likewise.
1194 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1195 Likewise.
1196 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1197 Likewise.
1198 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1199 Likewise.
1200 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1201 Likewise.
1202 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1203 Likewise.
1204 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1205 Likewise.
1206 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1207 Likewise.
1208 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1209 Likewise.
1210 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1211 Likewise.
1212 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1213 Likewise.
1214 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1215 Likewise.
1216 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1217 Likewise.
1218 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1219 Likewise.
1220 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1221 Likewise.
1222 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1223 Likewise.
1224 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1225 Likewise.
1226 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1227 Likewise.
1228 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1229 Likewise.
1230 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1231 Likewise.
1232 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1233 Likewise.
1234 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1235 Likewise.
1236 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1237 Likewise.
1238 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1239 Likewise.
1240 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1241 Likewise.
1242 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1243 Likewise.
1244 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1245 Likewise.
1246 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1247 Likewise.
1248 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1249 Likewise.
1250 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1251 Likewise.
1252 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1253 Likewise.
1254
12552022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1256
1257 PR middle-end/100280
1258 PR middle-end/104132
1259 PR middle-end/104133
1260 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1261 Extend.
1262
12632022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1264
1265 PR middle-end/100280
1266 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
1267 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1268 Likewise.
1269
12702022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1271
1272 PR middle-end/100280
1273 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
1274 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1275 Likewise.
1276
a35f1697
GA
12772022-02-28 Tom de Vries <tdevries@suse.de>
1278
1279 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
1280 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
1281 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
1282 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
1283 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
1284 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
1285
756a6185
GA
12862022-02-24 Tom de Vries <tdevries@suse.de>
1287
1288 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
1289 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
1290 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
1291 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
1292 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
1293 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
1294 * testsuite/libgomp.c/declare-variant-3.h: New header file.
1295
2cfb33fc
GA
12962022-02-22 Thomas Schwinge <thomas@codesourcery.com>
1297
1298 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
1299 gang-redundant execution.
1300
13012022-02-22 Tom de Vries <tdevries@suse.de>
1302
1303 PR target/99555
1304 * config/nvptx/bar.c (generation_to_barrier): New function, copied
1305 from config/rtems/bar.c.
1306 (futex_wait, futex_wake): New function.
1307 (do_spin, do_wait): New function, copied from config/linux/wait.h.
1308 (gomp_barrier_wait_end, gomp_barrier_wait_last)
1309 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
1310 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
1311 and replace with include of config/linux/bar.c.
1312 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
1313 (gomp_barrier_init): Init new fields.
1314 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
1315 workarounds.
1316 * testsuite/libgomp.c/pr99555-1.c: Same.
1317 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
1318
13192022-02-22 Tom de Vries <tdevries@suse.de>
1320
1321 PR testsuite/104146
1322 * testsuite/libgomp.c++/pr96390.C: Add additional-option
1323 -foffload=-Wa,--verify for nvptx.
1324 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
1325
875e493b
GA
13262022-02-15 Tobias Burnus <tobias@codesourcery.com>
1327
1328 * testsuite/libgomp.fortran/depend-4.f90: New test.
1329
a645583d
GA
13302022-02-10 Tobias Burnus <tobias@codesourcery.com>
1331
1332 PR c++/102204
1333 * testsuite/libgomp.c++/target-virtual-1.C: New test.
1334
13352022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
1336
1337 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
1338 * target.c (copy_firstprivate_data): Copy only if host address is not
1339 NULL.
1340 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
1341 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
1342 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
1343 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
1344 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
1345 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
1346 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
1347 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
1348 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
1349 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
1350
2a2fda2d
GA
13512022-02-08 Jakub Jelinek <jakub@redhat.com>
1352
1353 PR libgomp/104385
1354 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
1355 clear task->parent.
1356 * testsuite/libgomp.c/pr104385.c: New test.
1357
3c1cbde1
GA
13582022-02-04 Tobias Burnus <tobias@codesourcery.com>
1359
1360 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
1361 STOP of previous commit.
1362
13632022-02-04 Tobias Burnus <tobias@codesourcery.com>
1364
1365 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
1366 from is_64bit_aligned_.
1367 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
1368 and use it, more implicit none, remove unused argument.
1369
682ede39
GA
13702022-02-03 David Seifert <soap@gentoo.org>
1371 Jakub Jelinek <jakub@redhat.com>
1372
1373 * configure.ac: Support --disable-werror.
1374 * configure: Regenerate.
1375
ae7e4af9
GA
13762022-02-01 Tom de Vries <tdevries@suse.de>
1377
1378 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
1379 PR83812 workaround.
1380 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
1381 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
1382
13832022-02-01 Tom de Vries <tdevries@suse.de>
1384
1385 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
1386 num_workers for nvidia accelerator to fix libgomp error 'insufficient
1387 resources'.
1388 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1389 Same.
1390 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
1391
13922022-02-01 Tom de Vries <tdevries@suse.de>
1393
1394 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
1395 recursion depth.
1396 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
1397
1bb52662
GA
13982022-01-31 Martin Liska <mliska@suse.cz>
1399
1400 * acinclude.m4: Detect *_ld_is_mold and use it.
1401 * configure: Regenerate.
1402
99f17e99
GA
14032022-01-27 Tobias Burnus <tobias@codesourcery.com>
1404
1405 * libgomp.texi (OpenMP 5.0): Update implementation status.
1406
9dd44357
GA
14072022-01-21 Thomas Schwinge <thomas@codesourcery.com>
1408
1409 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
1410 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
1411 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1412 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1413 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1414 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1415 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1416 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1417 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1418 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1419 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1420 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1421 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
1422 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1423 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1424
fe1ad141
GA
14252022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
1426
1427 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
1428 "static") to make the device num available in the offload image.
1429
14302022-01-19 Martin Liska <mliska@suse.cz>
1431 Thomas Schwinge <thomas@codesourcery.com>
1432
1433 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
1434 patterns.
1435 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
1436 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1437 Likewise.
1438 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
1439 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1440 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1441 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
1442 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1443 Likewise.
1444 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
1445 Likewise.
1446 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
1447 Likewise.
1448 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
1449 Likewise.
1450 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
1451 Likewise.
1452 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
1453 Likewise.
1454 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
1455 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1456 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1457
7a761ae6
GA
14582022-01-18 Martin Liska <mliska@suse.cz>
1459
1460 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
1461 in dg-warning.
1462 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
1463 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1464 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
1465 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1466 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1467 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
1468 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
1469 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
1470 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
1471 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
1472 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
1473 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
1474 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
1475 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1476 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1477
fc829782
GA
14782022-01-17 Thomas Schwinge <thomas@codesourcery.com>
1479
1480 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
1481 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
1482 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1483
14842022-01-17 Julian Brown <julian@codesourcery.com>
1485 Thomas Schwinge <thomas@codesourcery.com>
1486
1487 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
1488 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
1489 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
1490
1e942d7c
GA
14912022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1492 Andrew Stubbs <ams@codesourcery.com>
1493
1494 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
1495 the number of teams and threads if necessary.
1496 (gcn_exec): Automatically set the number of gangs and workers if
1497 necessary.
1498
ad3f0d08
GA
14992022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
1500
1501 * testsuite/libgomp.fortran/allocate-1.c: New test.
1502 * testsuite/libgomp.fortran/allocate-1.f90: New test.
1503 * libgomp.texi: Remove string that says that allocate clause
1504 support is for C/C++ only.
1505
15062022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1507
1508 * testsuite/libgomp.c-c++-common/on_device_arch.h
1509 (any_device_arch, any_device_arch_intel_mic): New.
1510 * testsuite/lib/libgomp.exp
1511 (check_effective_target_offload_device_any_intel_mic): New.
1512 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
1513 * testsuite/libgomp.fortran/target10.f90: Likewise.
1514
15152022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1516
1517 PR tree-optimization/102192
1518 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
1519 '-Wuninitialized' diagnostics.
1520
15212022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1522
1523 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
1524 current '-Wuninitialized' diagnostics.
1525 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
1526 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
1527 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
1528 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
1529 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1530 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
1531 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
1532 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1533 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1534 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1535 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
1536 Likewise.
1537
15382022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1539
1540 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
1541 for 'offload_device_intel_mic'.
1542
15432022-01-13 Julian Brown <julian@codesourcery.com>
1544 Thomas Schwinge <thomas@codesourcery.com>
1545
1546 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
1547 offloading execution XFAIL.
1548
15492022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1550
1551 PR middle-end/100280
1552 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1553 Update.
1554 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
1555 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1556 Likewise.
1557
15582022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1559
1560 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1561 Enhance.
1562 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1563 Likewise.
1564 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
1565 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
1566 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
1567 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
1568 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1569 Likewise.
1570 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1571 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1572 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1573 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1574
7d11b64b
GA
15752022-01-04 Tobias Burnus <tobias@codesourcery.com>
1576
1577 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
1578 * testsuite/libgomp.fortran/target10.f90: Likewise.
1579
15802022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
1581
1582 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
1583 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
1584 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
1585
a4ae8c37
GA
15862022-01-03 Jakub Jelinek <jakub@redhat.com>
1587
1588 * libgomp.texi: Bump @copying's copyright year.
1589
7f1239cb
GA
15902021-12-13 Tobias Burnus <tobias@codesourcery.com>
1591
1592 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
1593 * testsuite/libgomp.fortran/atomic-19.f90: New test.
1594
0bceef16
GA
15952021-12-10 Andrew Stubbs <ams@codesourcery.com>
1596
1597 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
1598 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
1599 table, not individual symbols.
1600
4b4839e3
GA
16012021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
1602
1603 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
1604 "target offload_device_nonshared_as"
1605 * testsuite/libgomp.c++/target-this-3.C: Likewise.
1606 * testsuite/libgomp.c++/target-this-4.C: Likewise.
1607
641ff219
GA
16082021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
1609
1610 * target.c (gomp_map_vars_existing): Make sure attached pointer is
1611 not overwritten during cross-host/device copying.
1612 (gomp_update): Likewise.
1613 (gomp_exit_data): Likewise.
1614 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
1615 * testsuite/libgomp.c++/target-12.C: Likewise.
1616 * testsuite/libgomp.c++/target-15.C: Likewise.
1617 * testsuite/libgomp.c++/target-16.C: Likewise.
1618 * testsuite/libgomp.c++/target-17.C: Likewise.
1619 * testsuite/libgomp.c++/target-21.C: Likewise.
1620 * testsuite/libgomp.c++/target-23.C: Likewise.
1621 * testsuite/libgomp.c/target-23.c: Likewise.
1622 * testsuite/libgomp.c/target-29.c: Likewise.
1623 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
1624
16252021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
1626
1627 PR middle-end/92120
1628 * libgomp.h (gomp_attach_pointer): Add bool parameter.
1629 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
1630 (goacc_enter_data_internal): Likewise.
1631 * target.c (gomp_map_vars_existing): Update assert condition to
1632 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
1633 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
1634 parameter, add support for mapping a pointer with NULL target.
1635 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
1636 parameter, add support for attaching a pointer with NULL target.
1637 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
1638 gomp_attach_pointer, add handling for
1639 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
1640 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
1641 * testsuite/libgomp.c++/target-23.C: New testcase.
1642 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
1643 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
1644 * testsuite/libgomp.c++/target-this-1.C: New testcase.
1645 * testsuite/libgomp.c++/target-this-2.C: New testcase.
1646 * testsuite/libgomp.c++/target-this-3.C: New testcase.
1647 * testsuite/libgomp.c++/target-this-4.C: New testcase.
1648 * testsuite/libgomp.c++/target-this-5.C: New testcase.
1649
70e4cb66
GA
16502021-12-04 Tobias Burnus <tobias@codesourcery.com>
1651
1652 * libgomp.texi (OpenMP 5.1): Update status.
1653
16542021-12-04 Tobias Burnus <tobias@codesourcery.com>
1655
1656 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
1657
ea6ef320
GA
16582021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
1659
1660 PR fortran/90030
1661 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
1662 * testsuite/libgomp.fortran/pr90030.f90: New test.
1663
c177e806
GA
16642021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1665 Thomas Schwinge <thomas@codesourcery.com>
1666
1667 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
1668 temporary skip.
1669
16702021-11-30 Cesar Philippidis <cesar@codesourcery.com>
1671 Thomas Schwinge <thomas@codesourcery.com>
1672
1673 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
1674 skip.
1675
87cd82c8
GA
16762021-11-29 Richard Biener <rguenther@suse.de>
1677
1678 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
1679 return.
1680
d9ca4b45
GA
16812021-11-24 Jakub Jelinek <jakub@redhat.com>
1682
1683 PR middle-end/103384
1684 * testsuite/libgomp.c/declare-variant-2.c: New test.
1685
483092d3
GA
16862021-11-18 David Edelsohn <dje.gcc@gmail.com>
1687
1688 * alloc.c (gomp_aligned_alloc): Fix typo.
1689
16902021-11-18 Jakub Jelinek <jakub@redhat.com>
1691
1692 PR libgomp/102838
1693 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
1694 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
1695 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
1696 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1697 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
1698 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
1699 gomp_aligned_alloc instead of team_malloc.
1700
17012021-11-18 Jakub Jelinek <jakub@redhat.com>
1702
1703 PR libgomp/102838
1704 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
1705 memalign over posix_memalign over aligned_alloc over fallback
1706 with malloc instead of aligned_alloc over _aligned_alloc over
1707 posix_memalign over memalign over fallback with malloc. For
1708 aligned_alloc, round up size up to multiple of al.
1709
6b1695f4
GA
17102021-11-16 Jakub Jelinek <jakub@redhat.com>
1711
1712 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
1713 construct as implemented.
1714
e2b57363
GA
17152021-11-15 Tobias Burnus <tobias@codesourcery.com>
1716
1717 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1718
17192021-11-15 Jakub Jelinek <jakub@redhat.com>
1720
1721 * task.c (gomp_create_target_task): Copy args array as well.
1722 * target.c (gomp_target_fallback): Add args argument.
1723 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
1724 (GOMP_target): Adjust gomp_target_fallback caller.
1725 (GOMP_target_ext): Likewise.
1726 (gomp_target_task_fn): Likewise.
1727 * config/nvptx/team.c (gomp_nvptx_main): Set
1728 gomp_global_icv.thread_limit_var.
1729 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
1730
17312021-11-15 Jakub Jelinek <jakub@redhat.com>
1732
1733 * config/nvptx/team.c (__gomp_team_num): Define as
1734 __attribute__((shared)) var.
1735 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
1736 * config/nvptx/target.c (__gomp_team_num): Declare as
1737 extern __attribute__((shared)) var.
1738 (GOMP_teams4): Use __gomp_team_num as the team number instead of
1739 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
1740 is bigger than num_blocks, use num_teams_lower teams and arrange for
1741 bumping of __gomp_team_num if !first and returning false once we run
1742 out of teams.
1743 * config/nvptx/teams.c (__gomp_team_num): Declare as
1744 extern __attribute__((shared)) var.
1745 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
1746
17472021-11-15 Jakub Jelinek <jakub@redhat.com>
1748
1749 * testsuite/libgomp.c/teams-5.c: New test.
1750
af2852b9
GA
17512021-11-12 Jakub Jelinek <jakub@redhat.com>
1752
1753 PR target/103201
1754 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1755 to ...
1756 * config/gcn/teams.c: ... here. New file.
1757
17582021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
1759
1760 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
1761 implicit map handling to allow a "superset" existing map as valid case.
1762 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
1763 (get_implicit): New function to extract implicit status.
1764 (gomp_map_fields_existing): Adjust arguments in calls to
1765 gomp_map_vars_existing, and add uses of get_implicit.
1766 (gomp_map_vars_internal): Likewise.
1767 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
1768
17692021-11-12 Jakub Jelinek <jakub@redhat.com>
1770
1771 * libgomp_g.h (GOMP_teams4): Declare.
1772 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
1773 * target.c (GOMP_teams4): New function.
1774 * config/nvptx/target.c (GOMP_teams): Remove.
1775 (GOMP_teams4): New function.
1776 * config/gcn/target.c (GOMP_teams): Remove.
1777 (GOMP_teams4): New function.
1778 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
1779 teams instead of <= 2.
1780 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
1781
b39265d4
GA
17822021-11-11 Tobias Burnus <tobias@codesourcery.com>
1783
1784 * testsuite/libgomp.fortran/teams-1.f90: New test.
1785
17862021-11-11 Jakub Jelinek <jakub@redhat.com>
1787
1788 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
1789 * team.c (struct gomp_thread_start_data): Likewise.
1790 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
1791 (gomp_team_start): Initialize start_data->num_teams and
1792 start_data->team_num. Update nthr->num_teams and nthr->team_num.
1793 * teams.c (gomp_num_teams, gomp_team_num): Remove.
1794 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
1795 instead of gomp_num_teams and gomp_team_num.
1796 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
1797 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
1798 * testsuite/libgomp.c/teams-4.c: New test.
1799
18002021-11-11 Jakub Jelinek <jakub@redhat.com>
1801
1802 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
1803
c9b1334e
GA
18042021-11-09 Thomas Schwinge <thomas@codesourcery.com>
1805
1806 * env.c (parse_gomp_openacc_dim): Restore parsing.
1807
0ef94462
GA
18082021-10-30 Tobias Burnus <tobias@codesourcery.com>
1809
1810 PR middle-end/102972
1811 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
1812 parallel construct.
1813 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
1814 * testsuite/libgomp.c/target-3.c: Likewise.
1815 * testsuite/libgomp.c/target-5.c: Likewise.
1816 * testsuite/libgomp.c/target-6.c: Likewise.
1817 * testsuite/libgomp.c/target-teams-1.c: Likewise.
1818 * testsuite/libgomp.c/teams-1.c: Likewise.
1819 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1820 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
1821 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1822 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
1823 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
1824 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
1825 * testsuite/libgomp.fortran/teams1.f90: Likewise.
1826
4c61300f
GA
18272021-10-29 Aldy Hernandez <aldyh@redhat.com>
1828
1829 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1830 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1831
04a2cf3f
GA
18322021-10-27 Jakub Jelinek <jakub@redhat.com>
1833
1834 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1835 aren't implemented for Fortran yet.
1836
18372021-10-27 Jakub Jelinek <jakub@redhat.com>
1838
1839 * testsuite/libgomp.c/loop-26.c: New test.
1840 * testsuite/libgomp.c/loop-27.c: New test.
1841
b621508d
GA
18422021-10-25 Tobias Burnus <tobias@codesourcery.com>
1843
1844 PR testsuite/102910
1845 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1846 instead of #include <alloca.h> + alloca.
1847
ae5c5406
GA
18482021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
1849
1850 * libgomp.texi (Support of strictly structured blocks in Fortran):
1851 Adjust to 'Y'.
1852 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1853
674dda6b
GA
18542021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
1855
1856 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1857 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1858
18592021-10-20 Jakub Jelinek <jakub@redhat.com>
1860
1861 PR libgomp/102838
1862 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1863 (struct gomp_work_share): Only use aligned(64) attribute if
1864 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1865 add padding before lock to ensure lock is at offset 64 bytes
1866 into the structure.
1867 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1868 New poor man's static assertions.
1869 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1870 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1871
18722021-10-20 Aldy Hernandez <aldyh@redhat.com>
1873 Richard Biener <rguenther@suse.de>
1874
1875 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1876
ce4d1f63
GA
18772021-10-18 Jakub Jelinek <jakub@redhat.com>
1878
1879 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1880 && gomp_places_list_len < count after nfirst <= nlast loop condition.
1881
18822021-10-18 Tobias Burnus <tobias@codesourcery.com>
1883
1884 PR fortran/102086
1885 PR fortran/92189
1886 PR fortran/92621
1887 PR fortran/101308
1888 PR fortran/101309
1889 PR fortran/101635
1890 PR fortran/92482
1891 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1892
93d183a5
GA
18932021-10-15 Jakub Jelinek <jakub@redhat.com>
1894
1895 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1896 type from char [50] to const char *.
1897 (places_array): Add a testcase for simplified syntax place followed
1898 by length or length and stride.
1899
19002021-10-15 Jakub Jelinek <jakub@redhat.com>
1901
1902 * env.c (parse_one_place): Handle non-negative-number the same
1903 as { non-negative-number }. Reject even !number:1 and
1904 !number:1:stride or !place:1 or !place:1:stride instead of just
1905 length other than 1.
1906 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1907 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1908 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1909 as implemented.
1910 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1911 simplified syntax.
1912
19132021-10-15 Jakub Jelinek <jakub@redhat.com>
1914
1915 * env.c (parse_schedule): For strtoul or strtoull calls which don't
1916 clearly reject return value 0 as invalid handle the case where end
1917 pointer is the same as first argument as invalid.
1918 (parse_unsigned_long_1): Likewise.
1919 (parse_one_place): Likewise.
1920 (parse_places_var): Likewise.
1921 (parse_stacksize): Likewise.
1922 (parse_spincount): Likewise.
1923 (parse_affinity): Likewise.
1924 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
1925 Make code valid C89.
1926 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1927 For strtoul calls which don't clearly reject return value 0 as
1928 invalid handle the case where end pointer is the same as first
1929 argument as invalid.
1930 (gomp_affinity_init_level_1): Likewise.
1931 (gomp_affinity_init_numa_domains): Likewise.
1932 * config/rtems/proc.c (parse_thread_pools): Likewise.
1933
19342021-10-15 Jakub Jelinek <jakub@redhat.com>
1935
1936 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1937 after creating count places clean up and return immediately.
1938 * testsuite/libgomp.c/places-6.c: New test.
1939 * testsuite/libgomp.c/places-7.c: New test.
1940 * testsuite/libgomp.c/places-8.c: New test.
1941 * testsuite/libgomp.c/places-9.c: New test.
1942 * testsuite/libgomp.c/places-10.c: New test.
1943
19442021-10-15 Jakub Jelinek <jakub@redhat.com>
1945
1946 * env.c (parse_places_var): Handle numa_domains as level 5.
1947 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1948 function.
1949 (gomp_affinity_init_level): Use it instead of
1950 gomp_affinity_init_level_1 for level == 5.
1951 * testsuite/libgomp.c/places-5.c: New test.
1952
19532021-10-15 Jakub Jelinek <jakub@redhat.com>
1954
1955 * env.c (parse_places_var): Handle ll_caches as level 4.
1956 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1957 function.
1958 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
1959 last level cache.
1960 (gomp_affinity_init_level): Likewise.
1961 * testsuite/libgomp.c/places-1.c: New test.
1962 * testsuite/libgomp.c/places-2.c: New test.
1963 * testsuite/libgomp.c/places-3.c: New test.
1964 * testsuite/libgomp.c/places-4.c: New test.
1965
5d5885c9
GA
19662021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1967
1968 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
1969 directive.
1970
19712021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1972
1973 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1974
52055987
GA
19752021-10-12 Julian Brown <julian@codesourcery.com>
1976
1977 * target.c (gomp_copy_host2dev): Release device lock on cbuf
1978 error path.
1979
19802021-10-12 Tobias Burnus <tobias@codesourcery.com>
1981
1982 * testsuite/libgomp.fortran/icv-3.f90: New.
1983 * testsuite/libgomp.fortran/icv-4.f90: New.
1984
19852021-10-12 Jakub Jelinek <jakub@redhat.com>
1986
1987 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
1988 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
1989 OMP_TEAMS_THREAD_LIMIT): Document.
1990
19912021-10-12 Jakub Jelinek <jakub@redhat.com>
1992
1993 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1994 to avoid makeinfo warnings.
1995
19962021-10-12 Jakub Jelinek <jakub@redhat.com>
1997
1998 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
1999 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
2000
20012021-10-12 Jakub Jelinek <jakub@redhat.com>
2002
2003 PR libgomp/102628
2004 PR libgomp/102668
2005 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
2006 allocation sizes from 420 to 320 and from 768 to 568.
2007 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
2008 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
2009 for cr from 16 to 4.
2010
20112021-10-12 Jakub Jelinek <jakub@redhat.com>
2012
2013 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
2014 * testsuite/libgomp.c/scan-12.c: Likewise.
2015 * testsuite/libgomp.c/scan-13.c: Likewise.
2016 * testsuite/libgomp.c/scan-14.c: Likewise.
2017 * testsuite/libgomp.c/scan-15.c: Likewise.
2018 * testsuite/libgomp.c/scan-16.c: Likewise.
2019 * testsuite/libgomp.c/scan-17.c: Likewise.
2020 * testsuite/libgomp.c/scan-18.c: Likewise.
2021 * testsuite/libgomp.c/scan-19.c: Likewise.
2022 * testsuite/libgomp.c/scan-20.c: Likewise.
2023 * testsuite/libgomp.c/scan-21.c: Likewise.
2024 * testsuite/libgomp.c/scan-22.c: Likewise.
2025 * testsuite/libgomp.c++/scan-9.C: Likewise.
2026 * testsuite/libgomp.c++/scan-10.C: Likewise.
2027 * testsuite/libgomp.c++/scan-11.C: Likewise.
2028 * testsuite/libgomp.c++/scan-12.C: Likewise.
2029 * testsuite/libgomp.c++/scan-13.C: Likewise.
2030 * testsuite/libgomp.c++/scan-14.C: Likewise.
2031 * testsuite/libgomp.c++/scan-15.C: Likewise.
2032 * testsuite/libgomp.c++/scan-16.C: Likewise.
2033
20342021-10-12 Kewen Lin <linkw@linux.ibm.com>
2035
2036 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
2037
732d7638
GA
20382021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
2039
2040 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
2041 omp_atv_serialized.
2042 * omp.h.in: Add deprecated flag for omp_atv_sequential.
2043 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
2044 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
2045 * testsuite/libgomp.fortran/alloc-12.f90: New test.
2046
20472021-10-11 Jakub Jelinek <jakub@redhat.com>
2048
2049 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
2050 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
2051 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
2052 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
2053 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
2054 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
2055 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
2056 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
2057 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
2058 omp_set_teams_thread_limit{,_,_8_}.
2059 * icv.c (omp_set_num_teams, omp_get_max_teams,
2060 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
2061 functions.
2062 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
2063 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
2064 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
2065 vars.
2066 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
2067 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
2068 is not specified, use gomp_nteams_var.
2069 * fortran.c (omp_set_num_teams, omp_get_max_teams,
2070 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
2071 ialias_redirect.
2072 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
2073 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
2074 omp_get_teams_thread_limit_): New functions.
2075
c9db17b8
GA
20762021-10-09 liuhongt <hongtao.liu@intel.com>
2077
2078 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
2079 * testsuite/libgomp.c++/scan-11.C: Ditto.
2080 * testsuite/libgomp.c++/scan-12.C: Ditto.
2081 * testsuite/libgomp.c++/scan-13.C: Ditto.
2082 * testsuite/libgomp.c++/scan-14.C: Ditto.
2083 * testsuite/libgomp.c++/scan-15.C: Ditto.
2084 * testsuite/libgomp.c++/scan-16.C: Ditto.
2085 * testsuite/libgomp.c++/scan-9.C: Ditto.
2086 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
2087 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
2088 * testsuite/libgomp.c/scan-11.c: Ditto.
2089 * testsuite/libgomp.c/scan-12.c: Ditto.
2090 * testsuite/libgomp.c/scan-13.c: Ditto.
2091 * testsuite/libgomp.c/scan-14.c: Ditto.
2092 * testsuite/libgomp.c/scan-15.c: Ditto.
2093 * testsuite/libgomp.c/scan-16.c: Ditto.
2094 * testsuite/libgomp.c/scan-17.c: Ditto.
2095 * testsuite/libgomp.c/scan-18.c: Ditto.
2096 * testsuite/libgomp.c/scan-19.c: Ditto.
2097 * testsuite/libgomp.c/scan-20.c: Ditto.
2098 * testsuite/libgomp.c/scan-21.c: Ditto.
2099 * testsuite/libgomp.c/scan-22.c: Ditto.
2100
21012021-10-09 Jakub Jelinek <jakub@redhat.com>
2102
2103 * libgomp.texi (OpenMP 5.1): Mention implemented support for
2104 structured block sequences in C/C++. Mention support for
2105 unconstrained/reproducible modifiers on order clause.
2106 Mention partial (C/C++ only) support of extentensions to atomics
2107 construct. Mention partial (C/C++ on clause only) support of
2108 align/allocator modifiers on allocate clause.
2109
e3e07b89
GA
21102021-10-02 Tobias Burnus <tobias@codesourcery.com>
2111
2112 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
2113 based on libgomp.c-c++-common/order-reproducible-1.c.
2114 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
2115 * testsuite/libgomp.fortran/my-usleep.c: New test.
2116
9d116bcc
GA
21172021-10-01 Tobias Burnus <tobias@codesourcery.com>
2118
2119 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
2120 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
2121 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
2122 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
2123 based on libgomp.c-c++-common/alloc-9.c.
2124
21252021-10-01 Jakub Jelinek <jakub@redhat.com>
2126
2127 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
2128 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
2129
21302021-10-01 Jakub Jelinek <jakub@redhat.com>
2131
2132 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
2133 ialias_redirect.
2134 * env.c (handle_omp_display_env): Use ialias_call.
2135 * icv-device.c: Move ialias right below each function.
2136 (omp_get_device_num): Use ialias_call.
2137 * fortran.c (omp_fulfill_event): Add ialias_redirect.
2138 * icv.c (omp_get_active_level): Add ialias_redirect.
2139
21402021-10-01 Jakub Jelinek <jakub@redhat.com>
2141
2142 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
2143 __alloc_align__ (1) attribute.
2144 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
2145
24679983
GA
21462021-09-30 Tobias Burnus <tobias@codesourcery.com>
2147
2148 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
2149 for -fintrinsic-modules-path= warning of the C compiler.
2150 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
2151 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
2152
21532021-09-30 Tobias Burnus <tobias@codesourcery.com>
2154
2155 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
2156 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
2157 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
2158 omp_realloc): Add.
2159 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
2160 omp_realloc): Add.
2161 * testsuite/libgomp.fortran/alloc-10.f90: New test.
2162 * testsuite/libgomp.fortran/alloc-6.f90: New test.
2163 * testsuite/libgomp.fortran/alloc-7.c: New test.
2164 * testsuite/libgomp.fortran/alloc-7.f90: New test.
2165 * testsuite/libgomp.fortran/alloc-8.f90: New test.
2166 * testsuite/libgomp.fortran/alloc-9.f90: New test.
2167
21682021-09-30 Jakub Jelinek <jakub@redhat.com>
2169
2170 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
2171 omp_realloc): New prototypes.
2172 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
2173 attribute.
2174 * allocator.c: Include string.h.
2175 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
2176 variable and use it instead of alignment so that when retrying the old
2177 alignment is used again. Don't retry if new alignment is the same
2178 as old alignment, unless allocator had pool size.
2179 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
2180 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
2181 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
2182 omp_aligned_calloc and omp_realloc.
2183 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
2184 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
2185 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
2186 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
2187 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
2188 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
2189
fd133479
GA
21902021-09-28 Tobias Burnus <tobias@codesourcery.com>
2191
2192 PR libgomp/96661
2193 * configure.ac: Only check for int-type = 2*size_t support when
2194 building with Fortran support.
2195 * configure: Regenerate.
2196
21972021-09-28 Thomas Schwinge <thomas@codesourcery.com>
2198
2199 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
2200 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2201
cf966403
GA
22022021-09-27 Aldy Hernandez <aldyh@redhat.com>
2203
2204 * team.c: Initialize start_data.
2205 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
2206 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
2207
22082021-09-27 Tobias Burnus <tobias@codesourcery.com>
2209
2210 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
2211 dg-message back to dg-note.
2212
22132021-09-27 Tobias Burnus <tobias@codesourcery.com>
2214
2215 PR fortran/94070
2216 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
2217 expected dg-note output.
2218
e4777439
GA
22192021-09-22 Tobias Burnus <tobias@codesourcery.com>
2220
2221 PR fortran/55534
2222 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
2223 r12-3722 by removing -Wno-missing-include-dirs.
2224 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
2225
22262021-09-22 Jakub Jelinek <jakub@redhat.com>
2227
2228 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
2229 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
2230
2c41dd82
GA
22312021-09-21 Tobias Burnus <tobias@codesourcery.com>
2232
2233 PR fortran/55534
2234 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
2235 to ALWAYS_CFLAGS.
2236 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2237
cf74e7b5
GA
22382021-09-18 Jakub Jelinek <jakub@redhat.com>
2239
2240 * testsuite/libgomp.c++/default-1.C: New test.
2241 * testsuite/libgomp.c-c++-common/default-1.c: New test.
2242 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
2243 to default clause in C and C++" as implemented.
2244
0a4cb439
GA
22452021-09-17 Julian Brown <julian@codesourcery.com>
2246
2247 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
2248
22492021-09-17 Julian Brown <julian@codesourcery.com>
2250
2251 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
2252
22532021-09-17 Jakub Jelinek <jakub@redhat.com>
2254
2255 * libgomp.texi (OpenMP 5.1): Spelling fix,
2256 declare variante -> declare variant.
2257
22582021-09-17 Jakub Jelinek <jakub@redhat.com>
2259
2260 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
2261 Use /* */ comments instead of //.
2262 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
2263 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
2264 * testsuite/libgomp.c++/atomic-16.C: New test.
2265 * testsuite/libgomp.c++/atomic-17.C: New test.
2266
a26206ec
GA
22672021-09-10 Jakub Jelinek <jakub@redhat.com>
2268
2269 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
2270 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
2271 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
2272
b2748138
GA
22732021-09-07 Tobias Burnus <tobias@codesourcery.com>
2274
2275 * libgomp.texi (OpenMP Implementation Status): Extend
2276 OpenMP 5.0 section.
2277 (OpenACC Profiling Interface): Fix typo.
2278
22792021-09-07 Tobias Burnus <tobias@codesourcery.com>
2280
2281 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
2282 not to 4.5; link to new section.
2283 (OpenMP Implementation Status): New.
2284
9f99555f
GA
22852021-09-06 Thomas Schwinge <thomas@codesourcery.com>
2286
2287 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
2288
7b739540
GA
22892021-09-03 Tobias Burnus <tobias@codesourcery.com>
2290
2291 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
2292 dg-output.
2293 * testsuite/libgomp.fortran/error-1.f90: Likewise.
2294
38b19c5b
GA
22952021-08-23 Thomas Schwinge <thomas@codesourcery.com>
2296 Jakub Jelinek <jakub@redhat.com>
2297
2298 * testsuite/libgomp.c/address-space-1.c: New file.
2299
23002021-08-23 Thomas Schwinge <thomas@codesourcery.com>
2301
2302 * testsuite/lib/libgomp.exp
2303 (check_effective_target_offload_target_intelmic): Remove 'proc'.
2304 (check_effective_target_offload_device_intel_mic): New 'proc'.
2305 * testsuite/libgomp.c-c++-common/on_device_arch.h
2306 (device_arch_intel_mic, on_device_arch_intel_mic): New.
2307 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
2308 'dg-xfail-run-if'.
2309 * testsuite/libgomp.fortran/target10.f90: Likewise.
2310
23112021-08-23 Tobias Burnus <tobias@codesourcery.com>
2312
2313 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
2314 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
2315 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
2316 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
2317
23182021-08-23 Jakub Jelinek <jakub@redhat.com>
2319
2320 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
2321 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
2322 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
2323
5b2876f9
GA
23242021-08-22 Thomas Schwinge <thomas@codesourcery.com>
2325
2326 * config/nvptx/error.c (fwrite, exit): Override, too.
2327 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
2328 of offloading testing.
2329 * testsuite/libgomp.fortran/error-1.f90: Likewise.
2330
7c9e1645
GA
23312021-08-20 Tobias Burnus <tobias@codesourcery.com>
2332
2333 * testsuite/libgomp.fortran/error-1.f90: New test.
2334
23352021-08-20 Jakub Jelinek <jakub@redhat.com>
2336
2337 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
2338 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
2339 * error.c (GOMP_warning, GOMP_error): New functions.
2340 * testsuite/libgomp.c-c++-common/error-1.c: New test.
2341
6e529985
GA
23422021-08-18 Tobias Burnus <tobias@codesourcery.com>
2343
2344 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
2345 omp_target_free. omp_target_is_present, omp_target_memcpy,
2346 omp_target_memcpy_rect, omp_target_associate_ptr,
2347 omp_target_disassociate_ptr): Add interface.
2348 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
2349 omp_target_free. omp_target_is_present, omp_target_memcpy,
2350 omp_target_memcpy_rect, omp_target_associate_ptr,
2351 omp_target_disassociate_ptr): Add interface.
2352 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
2353 interface block for omp_alloc + omp_free.
2354 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
2355 * testsuite/libgomp.fortran/refcount-1.f90: New test.
2356 * testsuite/libgomp.fortran/target-12.f90: New test.
2357
23582021-08-18 Jakub Jelinek <jakub@redhat.com>
2359
2360 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
2361
2d14d64b
GA
23622021-08-17 Tobias Burnus <tobias@codesourcery.com>
2363
2364 * testsuite/libgomp.fortran/scope-1.f90: New test.
2365 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
2366
23672021-08-17 Jakub Jelinek <jakub@redhat.com>
2368
2369 * Makefile.am (libgomp_la_SOURCES): Add scope.c
2370 * Makefile.in: Regenerated.
2371 * libgomp_g.h (GOMP_scope_start): Declare.
2372 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
2373 * scope.c: New file.
2374 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
2375 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
2376
9d1d9fc8
GA
23772021-08-16 Thomas Schwinge <thomas@codesourcery.com>
2378
2379 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
2380 '?:' issues.
2381
23822021-08-16 Tobias Burnus <tobias@codesourcery.com>
2383
2384 * testsuite/libgomp.fortran/masked-1.f90: New test.
2385
261512fa
GA
23862021-08-13 Thomas Schwinge <thomas@codesourcery.com>
2387
2388 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
2389
72be20e2
GA
23902021-08-12 Jakub Jelinek <jakub@redhat.com>
2391
2392 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
2393
23942021-08-12 Tobias Burnus <tobias@codesourcery.com>
2395
2396 * env.c (parse_bind_var): Accept 'primary' as alias for
2397 'master'.
2398 (omp_display_env): Add TODO comment to
2399 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
2400 * libgomp.texi: Change 'master thread' to 'primary thread'
2401 in line with OpenMP 5.1.
2402 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
2403 omp_proc_bind_master is an alias of it.
2404 (OMP_PROC_BIND): Mention 'PRIMARY'.
2405 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
2406 (omp_proc_bind_primary): Add.
2407 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
2408 * omp_lib.f90.in (omp_proc_bind_primary): Add.
2409 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
2410 * omp_lib.h.in (omp_proc_bind_primary): Add.
2411 * testsuite/libgomp.c/affinity-1.c: Check that
2412 'primary' works and is identical to 'master'.
2413
37768150
GA
24142021-08-09 Julian Brown <julian@codesourcery.com>
2415 Kwok Cheung Yeung <kcy@codesourcery.com>
2416 Thomas Schwinge <thomas@codesourcery.com>
2417
2418 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
2419 16.
2420 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
2421 [acc_device_radeon]: Update.
2422 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
2423 [ACC_DEVICE_TYPE_radeon]: Likewise.
2424 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2425 [acc_device_radeon]: Likewise.
2426 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
2427 [ACC_DEVICE_TYPE_radeon]: Likewise.
2428 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
2429 'openacc_radeon_accel_selected' and '-O0'.
2430 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2431
8ebf4fb5
GA
24322021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
2433
2434 * icv-device.c (omp_get_device_num): New API function, host side.
2435 * fortran.c (omp_get_device_num_): New interface function.
2436 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
2437 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
2438 omp_get_device_num_.
2439 * libgomp.texi (omp_get_device_num): Add documentation for new API
2440 function.
2441 * omp.h.in (omp_get_device_num): Add declaration.
2442 * omp_lib.f90.in (omp_get_device_num): Likewise.
2443 * omp_lib.h.in (omp_get_device_num): Likewise.
2444 * target.c (gomp_load_image_to_device): If additional entry for device
2445 number exists at end of returned entries from 'load_image_func' hook,
2446 copy the assigned device number over to the device variable.
2447 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
2448 (omp_get_device_num): New API function, device side.
2449 * plugin/plugin-gcn.c ("symcat.h"): Add include.
2450 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
2451 at end of returned 'target_table' entries.
2452 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
2453 (omp_get_device_num): New API function, device side.
2454 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
2455 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
2456 at end of returned 'target_table' entries.
2457 * testsuite/lib/libgomp.exp
2458 (check_effective_target_offload_target_intelmic): New function for
2459 testing for intelmic offloading.
2460 * testsuite/libgomp.c-c++-common/target-45.c: New test.
2461 * testsuite/libgomp.fortran/target10.f90: New test.
2462
4d17ca1b
GA
24632021-07-30 Thomas Schwinge <thomas@codesourcery.com>
2464 Ulrich Drepper <drepper@redhat.com>
2465
2466 * fortran.c (omp_display_env_, omp_display_env_8_): Only
2467 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
2468
24692021-07-29 Thomas Schwinge <thomas@codesourcery.com>
2470 Julian Brown <julian@codesourcery.com>
2471 Kwok Cheung Yeung <kcy@codesourcery.com>
2472
2473 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
2474 's%oaccdevlow%oaccloops%g'.
2475 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
2476 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
2477 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
2478 Likewise.
2479 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
2480 Likewise.
2481 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
2482 Likewise.
2483 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
2484 Likewise.
2485 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
2486 Likewise.
2487 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
2488 Likewise.
2489 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
2490 Likewise.
2491 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
2492 Likewise.
2493 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
2494
872c1a56
ML
24952021-07-29 Aldy Hernandez <aldyh@redhat.com>
2496
2497 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
2498 threader.
2499 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
2500
af3f12e6
GA
25012021-07-27 Ulrich Drepper <drepper@gmail.com>
2502
2503 * env.c (wait_policy, stacksize): New static variables,
2504 move out of handle_omp_display_env.
2505 (omp_display_env): New function. The meat of the old
2506 handle_omp_display_env function.
2507 (handle_omp_display_env): Change to not take parameters
2508 and instead use the global variables. Only perform
2509 parsing, defer to omp_display_env for the implementation.
2510 (initialize_env): Remove local variables wait_policy and
2511 stacksize. Don't pass parameters to handle_omp_display_env.
2512 * fortran.c: Add ialias_redirect for omp_display_env.
2513 (omp_display_env_, omp_display_env_8_): New functions.
2514 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
2515 omp_display_env_, and omp_display_env_8_.
2516 * omp.h.in: Declare omp_display_env.
2517 * omp_lib.f90.in: Likewise.
2518 * omp_lib.h.in: Likewise.
2519
25202021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2521 Julian Brown <julian@codesourcery.com>
2522
2523 * target.c (gomp_coalesce_buf_add): Update comment.
2524 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
2525 'aq && cbuf'.
2526 (gomp_map_vars_internal): Only 'if (!aq)', do
2527 'gomp_coalesce_buf_add'.
2528 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
2529 XFAIL.
2530
25312021-07-27 Julian Brown <julian@codesourcery.com>
2532 Thomas Schwinge <thomas@codesourcery.com>
2533
2534 * libgomp.h (gomp_copy_host2dev): Update prototype.
2535 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
2536 argument to gomp_copy_host2dev (false).
2537 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
2538 (copy_data): Don't free src.
2539 (queue_push_copy): Remove free_src handling.
2540 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
2541 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
2542 snapshotting.
2543 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
2544 queue_push_copy.
2545 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
2546 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
2547 data when true, and set up deferred freeing of temporary buffer.
2548 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
2549 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
2550 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
2551 calls to gomp_copy_host2dev with appropriate ephemeral argument.
2552 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
2553 XFAIL.
2554
25552021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2556 Tom de Vries <tom@codesourcery.com>
2557
2558 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
2559 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
2560
25612021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2562
2563 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
2564 sequencing of 'async' data copying vs. profiling events.
2565 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
2566 Likewise.
2567
25682021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2569 Julian Brown <julian@codesourcery.com>
2570
2571 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
2572 'async'/'wait' issue.
2573 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
2574 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
2575 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
2576
419c6c68
GA
25772021-07-21 Thomas Schwinge <thomas@codesourcery.com>
2578 Joseph Myers <joseph@codesourcery.com>
2579 Cesar Philippidis <cesar@codesourcery.com>
2580
2581 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
2582 file.
2583 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
2584 Likewise.
2585 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
2586 Likewise.
2587 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
2588
92d45509
GA
25892021-07-20 Thomas Schwinge <thomas@codesourcery.com>
2590
2591 PR target/101484
2592 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
2593 '-Wno-error=array-bounds'.
2594 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
2595 * libgomp.h [__AMDGCN__]: Likewise.
2596
21ea2f93
GA
25972021-07-19 Thomas Schwinge <thomas@codesourcery.com>
2598
2599 PR target/101484
2600 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
2601 * libgomp.h [__AMDGCN__]: Likewise.
2602
0e775456
GA
26032021-07-13 Jakub Jelinek <jakub@redhat.com>
2604 Florian Weimer <fweimer@redhat.com>
2605
2606 * config/linux/sem.h: Don't include limits.h.
2607 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
2608 * config/linux/affinity.c: Include limits.h.
2609
bea7c16a
GA
26102021-07-01 Jakub Jelinek <jakub@redhat.com>
2611
2612 PR middle-end/94366
2613 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
2614
6bc18203
GA
26152021-06-29 Tobias Burnus <tobias@codesourcery.com>
2616
2617 PR other/67300
2618 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
2619 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
2620 avoid disabling other offload targets.
2621 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
2622 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2623 * testsuite/libgomp.c/target-44.c: Likewise.
2624
26252021-06-29 Tobias Burnus <tobias@codesourcery.com>
2626
2627 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
2628 target has shared memory and disable some scalar pointer/allocatable
2629 checks if not as firstprivate does not work.
2630
90708f87
GA
26312021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
2632
2633 PR testsuite/101114
2634 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
2635 Add "target offload_device_nonshared_as" condition for enabling test.
2636
9aa8327e
GA
26372021-06-24 Jakub Jelinek <jakub@redhat.com>
2638
2639 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
2640 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
2641 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
2642 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
2643
fcf617f0
GA
26442021-06-23 Jakub Jelinek <jakub@redhat.com>
2645
2646 PR middle-end/101167
2647 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
2648
688359a2
GA
26492021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
2650
2651 * hashtab.h (htab_clear): New function with initialization code
2652 factored out from...
2653 (htab_create): ...here, adjust to use htab_clear function.
2654 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
2655 special refcount values, add comments.
2656 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
2657 (REFCOUNT_LINK): Likewise.
2658 (REFCOUNT_STRUCTELEM): New special refcount range for structure
2659 element siblings.
2660 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
2661 sibling maps.
2662 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
2663 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
2664 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
2665 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
2666 (struct splay_tree_key_s): Add structelem_refcount and
2667 structelem_refcount_ptr fields into a union with dynamic_refcount.
2668 Add comments.
2669 (gomp_map_vars): Delete declaration.
2670 (gomp_map_vars_async): Likewise.
2671 (gomp_unmap_vars): Likewise.
2672 (gomp_unmap_vars_async): Likewise.
2673 (goacc_map_vars): New declaration.
2674 (goacc_unmap_vars): Likewise.
2675 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
2676 (goacc_enter_datum): Likewise.
2677 (goacc_enter_data_internal): Likewise.
2678 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
2679 and goacc_unmap_vars.
2680 (GOACC_data_start): Adjust to use goacc_map_vars.
2681 (GOACC_data_end): Adjust to use goacc_unmap_vars.
2682 * target.c (hash_entry_type): New typedef.
2683 (htab_alloc): New function hook for hashtab.h.
2684 (htab_free): Likewise.
2685 (htab_hash): Likewise.
2686 (htab_eq): Likewise.
2687 (hashtab.h): Add file include.
2688 (gomp_increment_refcount): New function.
2689 (gomp_decrement_refcount): Likewise.
2690 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
2691 gomp_increment_refcount.
2692 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
2693 to gomp_map_vars_existing.
2694 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
2695 variable to guard OpenMP specific paths, adjust calls to
2696 gomp_map_vars_existing, add structure element sibling splay_tree_key
2697 sequence creation code, adjust Fortran map case to avoid increment
2698 under OpenMP.
2699 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
2700 local refcount_set if caller passed in NULL, adjust call to
2701 gomp_map_vars_internal.
2702 (gomp_map_vars_async): Adjust and rename into...
2703 (goacc_map_vars): ...this new function, adjust call to
2704 gomp_map_vars_internal.
2705 (gomp_remove_splay_tree_key): New function with code factored out from
2706 gomp_remove_var_internal.
2707 (gomp_remove_var_internal): Add code to handle removing multiple
2708 splay_tree_key sequence for structure elements, adjust code to use
2709 gomp_remove_splay_tree_key for splay-tree key removal.
2710 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
2711 gomp_decrement_refcount.
2712 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
2713 local refcount_set if caller passed in NULL, adjust call to
2714 gomp_unmap_vars_internal.
2715 (gomp_unmap_vars_async): Adjust and rename into...
2716 (goacc_unmap_vars): ...this new function, adjust call to
2717 gomp_unmap_vars_internal.
2718 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
2719 gomp_unmap_vars.
2720 (GOMP_target_ext): Likewise.
2721 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
2722 (GOMP_target_data): Likewise.
2723 (GOMP_target_data_ext): Likewise.
2724 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
2725 (gomp_exit_data): Add refcount_set parameter, adjust to use
2726 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
2727 after main loop.
2728 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
2729 gomp_map_vars and gomp_exit_data.
2730 (gomp_target_task_fn): Likewise.
2731 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
2732 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
2733 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
2734 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
2735 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
2736 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
2737
ede6c356
GA
27382021-06-15 Tobias Burnus <tobias@codesourcery.com>
2739
2740 PR fortran/92568
2741 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2742
43c35d0d
GA
27432021-06-10 Andrew Stubbs <ams@codesourcery.com>
2744 Thomas Schwinge <thomas@codesourcery.com>
2745
2746 * libgomp.map (GOACC_2.0.2): New symbol version.
2747 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
2748 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
2749
27502021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2751 Andrew Stubbs <ams@codesourcery.com>
2752
2753 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
2754 extracted from...
2755 (GOACC_enter_exit_data): ... here.
2756 (GOACC_declare): Use it.
2757
27582021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2759
2760 * oacc-parallel.c (GOACC_declare): Move...
2761 * oacc-mem.c: ... here.
2762 * libgomp_g.h: Adjust.
2763
27642021-06-10 Andrew Stubbs <ams@codesourcery.com>
2765 Thomas Schwinge <thomas@codesourcery.com>
2766
2767 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2768 handling.
2769
27702021-06-10 Jakub Jelinek <jakub@redhat.com>
2771
2772 PR tree-optimization/100981
2773 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2774 dsdotr and dsdoti to 0.
2775
4f625f47
GA
27762021-06-09 H.J. Lu <hjl.tools@gmail.com>
2777
2778 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2779 if atomic compare-and-swap is supported on 'int'.
2780
27812021-06-09 Richard Biener <rguenther@suse.de>
2782
2783 PR tree-optimization/100981
2784 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2785
c6038721
GA
27862021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2787
2788 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2789 unconditionally.
2790 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2791 Update.
2792 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2793 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2794
27952021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2796
2797 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
2798 '-DACC_MEM_SHARED=0'.
2799 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2800 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2801 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2802 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2803 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2804 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2805 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2806 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2807 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2808 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2809 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2810 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2811 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2812 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2813 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
2814 'acc_device_radeon' testing.
2815 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2816 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2817 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2818 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
2819 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2820 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2821 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2822 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2823 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2824 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2825 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
2826 for non-'openacc_nvidia_accel_selected'.
2827 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2828 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
2829 all implement this checking".
2830 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2831 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2832 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2833 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2834 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2835
28362021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2837
2838 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2839 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2840
28412021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2842
2843 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2844 for 'acc_device_radeon'.
2845
28462021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2847
2848 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2849 for non-'acc_device_nvidia'.
2850
28512021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2852
2853 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2854 'acc_device_radeon' testing.
2855 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2856 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2857 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2858
28592021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2860
2861 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2862 require 'openacc_nvidia_accel_selected'. Fix up for
2863 'ACC_DEVICE_TYPE_radeon'.
2864
28652021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2866
2867 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2868 'openacc_nvidia_accel_selected'.
2869 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2870
28712021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2872
2873 * testsuite/lib/libgomp.exp
2874 (check_effective_target_openacc_radeon_accel_selected):
2875 Streamline.
2876
28772021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2878
2879 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2880 PR80547 workaround.
2881
28822021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2883
2884 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2885 <acc_device_nvidia>: Update comment.
2886
48166757
GA
28872021-05-28 Tobias Burnus <tobias@codesourcery.com>
2888
2889 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2890
cd62d089
GA
28912021-05-27 Jakub Jelinek <jakub@redhat.com>
2892
2893 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2894 check_effective_target_openacc_cublas,
2895 check_effective_target_openacc_cudart): New.
2896 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2897 target openacc_cublas.
2898 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2899 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2900 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2901 target openacc_cuda.
2902 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2903 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2904 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2905 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2906 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2907 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2908 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2909 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2910 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2911 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2912 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2913 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2914 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2915 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2916 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2917 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2918 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2919 targets openacc_cublas and openacc_cudart.
2920 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2921 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2922 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2923 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2924 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2925 Require effective target openacc_cudart.
2926 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2927 for effective target openacc_cuda and add && defined USE_CUDA_H to
2928 preprocessor conditionals. Guard -lcuda also on openacc_cuda
2929 effective target.
2930
01c59ef2
GA
29312021-05-26 Jakub Jelinek <jakub@redhat.com>
2932
2933 PR libgomp/100573
2934 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2935 GOMP_target_end_data, GOMP_target_update_ext,
2936 GOMP_target_enter_exit_data): New dummy entrypoints.
2937 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2938 GOMP_target_end_data, GOMP_target_update_ext,
2939 GOMP_target_enter_exit_data): Likewise.
2940 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2941 OMPFROM, OMPTO): Define.
2942 (main): Remove #pragma omp target teams around all the tests.
2943 * testsuite/libgomp.c-c++-common/target-41.c: New test.
2944 * testsuite/libgomp.c-c++-common/target-42.c: New test.
2945
2bc6dace
GA
29462021-05-25 Jakub Jelinek <jakub@redhat.com>
2947
2948 PR middle-end/99928
2949 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2950
637569df
GA
29512021-05-24 Tobias Burnus <tobias@codesourcery.com>
2952
2953 PR fortran/86470
2954 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2955 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2956 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2957
15d30d2f
GA
29582021-05-22 Thomas Schwinge <thomas@codesourcery.com>
2959
2960 PR testsuite/90115
2961 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2962 uninteresting/varying diagnostics.
2963
2832d51b
GA
29642021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2965
2966 PR middle-end/90115
2967 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2968 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2969
29702021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2971
2972 PR middle-end/90115
2973 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
2974 file.
2975 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2976 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
2977 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2978 Likewise.
2979 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2980 Likewise.
2981 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2982 Likewise.
2983 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2984 Likewise.
2985 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2986 Likewise.
2987 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2988 Likewise.
2989 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2990 Likewise.
2991 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2992 Likewise.
2993 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2994 Likewise.
2995 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2996 Likewise.
2997 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2998 Likewise.
2999 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3000 Likewise.
3001 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3002 Likewise.
3003 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3004 Likewise.
3005 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3006 Likewise.
3007 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3008 Likewise.
3009 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3010 Likewise.
3011 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3012 Likewise.
3013 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3014 Likewise.
3015 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3016 Likewise.
3017 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3018 Likewise.
3019 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3020 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3021 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3022 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
3023 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3024 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3025 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3026 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3027 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3028 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3029 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3030 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3031 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3032 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3033 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
3034 Likewise.
3035 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
3036 Likewise.
3037 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
3038 Likewise.
3039 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3040 Likewise.
3041 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
3042 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
3043 Likewise.
3044 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3045 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3046 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3047 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3048 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
3049 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3050 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3051 Likewise.
3052 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3053 Likewise.
3054 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3055 Likewise.
3056 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3057 Likewise.
3058 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3059 Likewise.
3060 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3061 Likewise.
3062 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3063 Likewise.
3064 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3065 Likewise.
3066 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3067 Likewise.
3068 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3069 Likewise.
3070 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3071 Likewise.
3072 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3073 Likewise.
3074 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3075 Likewise.
3076 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
3077 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3078 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
3079 Likewise.
3080 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
3081 Likewise.
3082 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3083 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3084 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3085
30862021-05-21 Julian Brown <julian@codesourcery.com>
3087 Chung-Lin Tang <cltang@codesourcery.com>
3088 Thomas Schwinge <thomas@codesourcery.com>
3089
3090 PR middle-end/90115
3091 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
3092 test.
3093 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
3094 Likewise.
3095 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
3096 Likewise.
3097
30982021-05-21 Thomas Schwinge <thomas@codesourcery.com>
3099
3100 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
3101 for nvptx offloading.
3102
31032021-05-21 Tobias Burnus <tobias@codesourcery.com>
3104
3105 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
3106
65f32e5d
GA
31072021-05-19 Thomas Schwinge <thomas@codesourcery.com>
3108
3109 PR target/83812
3110 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
3111
31122021-05-19 Julian Brown <julian@codesourcery.com>
3113
3114 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
3115
a8daf9a1
GA
31162021-05-18 Thomas Schwinge <thomas@codesourcery.com>
3117
3118 * testsuite/lib/libgomp.exp
3119 (check_effective_target_offload_target_nvptx): Don't shadow global
3120 'offload_targets' variable.
3121
31222021-05-18 Thomas Schwinge <thomas@codesourcery.com>
3123
3124 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
3125 '-latomic' to nvptx offloading compilation.
3126 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
3127
31282021-05-18 Thomas Schwinge <thomas@codesourcery.com>
3129
3130 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
3131 offloading compilation.
3132
a7ffc1ef
GA
31332021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
3134
3135 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
3136 if new tasks generated.
3137 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
3138
87a7d10c
GA
31392021-05-14 Tobias Burnus <tobias@codesourcery.com>
3140
3141 * testsuite/libgomp.fortran/parallel-master.f90: New test.
3142
f9af11c7
GA
31432021-05-13 Martin Liska <mliska@suse.cz>
3144
3145 PR testsuite/100569
3146 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
3147 * testsuite/libgomp.c/pr46032-2.c: Likewise.
3148 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
3149 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
3150
0ff3a0f2
GA
31512021-05-12 Tobias Burnus <tobias@codesourcery.com>
3152
3153 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
3154 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
3155
037e3661
GA
31562021-05-11 Jakub Jelinek <jakub@redhat.com>
3157
3158 PR middle-end/100471
3159 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
3160 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
3161 reduction pointer.
3162 * testsuite/libgomp.c/task-reduction-4.c: New test.
3163
62d87a32
GA
31642021-05-07 Tobias Burnus <tobias@codesourcery.com>
3165 Tom de Vries <tdevries@suse.de>
3166
3167 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
3168 complex/floating-point || + && reduction with 'omp target'.
3169 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
3170
99e8df7a
GA
31712021-05-04 Tobias Burnus <tobias@codesourcery.com>
3172
3173 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
3174 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
3175 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
3176 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
3177
31782021-05-04 Tobias Burnus <tobias@codesourcery.com>
3179
3180 PR testsuite/100397
3181 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
3182 declaration to scope of non-'depend'-guarded assignment to avoid races.
3183
e690396d
GA
31842021-05-03 Tom de Vries <tdevries@suse.de>
3185
3186 PR target/100321
3187 * testsuite/libgomp.c/target-44.c: New test.
3188
9326049e
GA
31892021-04-30 Roman Zhuykov <zhroma@ispras.ru>
3190
3191 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
3192
3c8e539d
GA
31932021-04-29 Tom de Vries <tdevries@suse.de>
3194
3195 * testsuite/libgomp.c/pr81778.c: New test.
3196
31972021-04-29 Tom de Vries <tdevries@suse.de>
3198
3199 PR target/100232
3200 * testsuite/libgomp.c/target-43.c: New file.
3201
e4ff4ffb
GA
32022021-04-28 Jakub Jelinek <jakub@redhat.com>
3203 Tobias Burnus <tobias@codesourcery.com>
3204
3205 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
3206 * target.c (gomp_load_plugin_for_device): If set and if a plugin
3207 can't be dlopened, silently assume it has no devices.
3208 * Makefile.in: Regenerate.
3209 * config.h.in: Regenerate.
3210 * configure: Regenerate.
3211
c0fa3f2f
GA
32122021-04-26 Tobias Burnus <tobias@codesourcery.com>
3213
3214 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
3215 Use [Ww]arning in dg-bogus as FE diagnostic and default
3216 diagnostic differ and the result depends on ENABLE_OFFLOAD.
3217 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3218 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3219 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3220
32212021-04-26 Tobias Burnus <tobias@codesourcery.com>
3222
3223 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
3224 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
3225 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3226 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3227 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3228
32292021-04-26 Thomas Schwinge <thomas@codesourcery.com>
3230 Nathan Sidwell <nathan@codesourcery.com>
3231 Tom de Vries <vries@codesourcery.com>
3232 Julian Brown <julian@codesourcery.com>
3233 Kwok Cheung Yeung <kcy@codesourcery.com>
3234
3235 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
3236 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
3237 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3238 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3239 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3240 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3241 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
3242 Likewise.
3243 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
3244 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3245 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3246 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
3247 Likewise.
3248 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3249 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3250 Likewise.
3251 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3252 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3253 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3254 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3255 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
3256 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
3257 Likewise.
3258 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
3259 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3260 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3261 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3262 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3263 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3264 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3265 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3266 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3267 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3268 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3269
32702021-04-26 Thomas Schwinge <thomas@codesourcery.com>
3271
3272 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
3273 compile with '-w'.
3274 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3275 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
3276 Likewise.
3277 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3278 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
3279 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3280 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3281 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3282 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3283 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3284
e3948473
GA
32852021-04-22 Richard Biener <rguenther@suse.de>
3286
3287 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
3288 only on nvptx-none.
3289
c1ef0c92
GA
32902021-04-21 Tobias Burnus <tobias@codesourcery.com>
3291
3292 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
3293 omp_depend_kind instead of defining it as 16.
3294
32952021-04-21 Tobias Burnus <tobias@codesourcery.com>
3296
3297 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
3298 New, based on check_effective_target_offload_target_nvptx.
3299 (check_effective_target_offload_target_nvptx): Call it.
3300 (check_effective_target_offload_target_amdgcn): New.
3301 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
3302 Require target offload_target_nvptx || offload_target_amdgcn.
3303 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
3304 * testsuite/libgomp.c/pr86416-1.c: Likewise.
3305 * testsuite/libgomp.c/pr86416-2.c: Likewise.
3306
33072021-04-21 Tobias Burnus <tobias@codesourcery.com>
3308
3309 * testsuite/libgomp.fortran/depobj-1.f90: New test.
3310
6e81e015
GA
33112021-04-19 Thomas Schwinge <thomas@codesourcery.com>
3312
3313 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3314 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
3315 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3316 Likewise.
3317 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3318 Likewise.
3319 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3320
ee351f7f
GA
33212021-04-15 Thomas Schwinge <thomas@codesourcery.com>
3322
3323 PR target/99555
3324 * testsuite/lib/libgomp.exp
3325 (check_effective_target_offload_device_nvptx): New.
3326 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
3327 resolved, make sure that we exit quickly, with error status,
3328 XFAILed.
3329 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
3330 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
3331
df3b1289
GA
33322021-04-14 Jakub Jelinek <jakub@redhat.com>
3333
3334 PR testsuite/100071
3335 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
3336 cp = omp_alloc with cp, p arguments instead of cq, q and call
3337 c_f_pointer after last cq = omp_alloc with cq, q.
3338
a0ecde22
GA
33392021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
3340
3341 PR middle-end/98088
3342 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
3343 for loop with GT/GE condition.
3344 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
3345
3115aba8
GA
33462021-04-09 Thomas Schwinge <thomas@codesourcery.com>
3347
3348 PR middle-end/84991
3349 PR middle-end/84992
3350 PR middle-end/90779
3351 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
3352
33532021-04-09 Jakub Jelinek <jakub@redhat.com>
3354
3355 PR libgomp/99984
3356 * team.c (gomp_thread_start): Call pthread_setspecific for
3357 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
3358 has been initialized to avoid false positive warning.
3359
65374af2
GA
33602021-03-29 Tobias Burnus <tobias@codesourcery.com>
3361
3362 PR target/99555
3363 * testsuite/lib/on_device_arch.c: Move to ...
3364 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
3365 * testsuite/libgomp.fortran/on_device_arch.c: New file;
3366 #include on_device_arch.h.
3367 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
3368 on_device_arch.h instead of using dg-additional-source.
3369 * testsuite/libgomp.c/pr99555-1.c: Likewise.
3370 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
3371 on_device_arch.c without relative paths.
3372
4493b1c1
GA
33732021-03-25 Thomas Schwinge <thomas@codesourcery.com>
3374
3375 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
3376 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
3377 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
3378 * config.h.in: Regenerate.
3379 * configure: Likewise.
3380
33812021-03-25 Thomas Schwinge <thomas@codesourcery.com>
3382
3383 PR target/99555
3384 * testsuite/lib/on_device_arch.c: New file.
3385 * testsuite/libgomp.c/pr99555-1.c: Likewise.
3386 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
3387 skip for nvptx offloading, with error status.
3388 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
3389
33902021-03-25 Thomas Schwinge <thomas@codesourcery.com>
3391
3392 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
3393 OpenACC 'serial' construct diagnostic for nvptx offloading.
3394
3c5b6d24
GA
33952021-03-15 Tobias Burnus <tobias@codesourcery.com>
3396
3397 PR c++/99509
3398 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
3399
6da2762a
GA
34002021-03-12 Tobias Burnus <tobias@codesourcery.com>
3401
3402 PR fortran/98858
3403 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
3404
67f10d28
GA
34052021-03-04 Jakub Jelinek <jakub@redhat.com>
3406
3407 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
3408 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
3409 checking of -m32 or -mx32 options on the command line.
3410 * config.h.in: Regenerated.
3411 * configure: Regenerated.
3412
ec9dc4fa
GA
34132021-02-27 Iain Sandoe <iain@sandoe.co.uk>
3414
3415 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
3416 support from the target.
3417
daa68844
GA
34182021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
3419 Jakub Jelinek <jakub@redhat.com>
3420
3421 PR libgomp/98738
3422 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
3423 (struct gomp_task): Replace detach and completion_sem fields with
3424 union containing completion_sem and detach_team. Add deferred_p
3425 field.
3426 (struct gomp_team): Remove task_detach_queue.
3427 * task.c: Include assert.h.
3428 (gomp_init_task): Initialize deferred_p and completion_sem fields.
3429 Rearrange initialization order of fields.
3430 (task_fulfilled_p): Delete.
3431 (GOMP_task): Use address of task as the event handle. Remove
3432 initialization of detach field. Initialize deferred_p field.
3433 Use automatic local for completion_sem. Initialize detach_team field
3434 for deferred tasks.
3435 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
3436 Set kind of suspended detach task to GOMP_TASK_DETACHED and
3437 decrement task_running_count. Move finish_cancelled block out of
3438 else branch. Relocate call to gomp_team_barrier_done.
3439 (GOMP_taskwait): Handle tasks with completion events that have not
3440 been fulfilled.
3441 (GOMP_taskgroup_end): Likewise.
3442 (omp_fulfill_event): Use address of task as event handle. Post to
3443 completion_sem for undeferred tasks. Clear detach_team if task
3444 has not finished. For finished tasks, handle post-execution tasks,
3445 call gomp_team_barrier_wake if necessary, and free task.
3446 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
3447 (free_team): Remove free of task_detach_queue.
3448 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
3449 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
3450 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
3451 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
3452 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
3453 Change data-sharing of detach events on enclosing parallel to private.
3454 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
3455 taskwait directive.
3456 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
3457 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
3458 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
3459 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
3460 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
3461 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
3462 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
3463 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
3464 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
3465 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
3466 Change data-sharing of detach events on enclosing parallel to private.
3467 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
3468 taskwait directive.
3469 * testsuite/libgomp.fortran/task-detach-7.f90: New.
3470 * testsuite/libgomp.fortran/task-detach-8.f90: New.
3471 * testsuite/libgomp.fortran/task-detach-9.f90: New.
3472 * testsuite/libgomp.fortran/task-detach-10.f90: New.
3473 * testsuite/libgomp.fortran/task-detach-11.f90: New.
3474
2f5765cf
GA
34752021-02-22 Tobias Burnus <tobias@codesourcery.com>
3476
3477 PR fortran/99171
3478 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
3479
acc0ee5c
GA
34802021-02-17 Julian Brown <julian@codesourcery.com>
3481
3482 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
3483 expected errors.
3484
34852021-02-17 Julian Brown <julian@codesourcery.com>
3486
3487 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
3488 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
3489
0c5cdb31
GA
34902021-02-11 Uroš Bizjak <ubizjak@gmail.com>
3491
3492 * config/linux/x86/futex.h (__futex_wait):
3493 Revert output type back to long.
3494 (__futex_wake): Ditto.
3495 (futex_wait): Update for revert.
3496 (futex_wake): Ditto.
3497
34982021-02-11 Uroš Bizjak <ubizjak@gmail.com>
3499
3500 * config/linux/x86/futex.h (__futex_wait): New static inline
3501 wrapper function. Correct output type to int and
3502 timeout type to void *.
3503 (__futex_wake): New static inline wrapper function.
3504 Correct output type to int.
3505 (futex_wait): Use __futex_wait.
3506 (futex_wake): Use __futex_wake.
3507
4b37c3ea
GA
35082021-02-10 Julian Brown <julian@codesourcery.com>
3509
3510 PR fortran/98979
3511 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
3512 errors.
3513
a19dd5e6
GA
35142021-02-04 Julian Brown <julian@codesourcery.com>
3515
3516 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
3517
9faaa807
GA
35182021-02-03 Andrew Stubbs <ams@codesourcery.com>
3519
3520 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3521 EF_AMDGPU_MACH_AMDGCN_GFX908.
3522 (gcn_gfx908_s): New constant string.
3523 (isa_hsa_name): Add gfx908.
3524 (isa_code): Add gfx908.
3525
161e4c08
GA
35262021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
3527
3528 * libgomp.texi (omp_fulfill_event): New entry.
3529
b93d0e36
GA
35302021-01-20 Jakub Jelinek <jakub@redhat.com>
3531
3532 * task.c (GOMP_task): Rename priority argument to priority_arg,
3533 add priority automatic variable and modify that variable. Instead of
3534 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
3535 check flags for that bit.
3536
f35a4f96
GA
35372021-01-19 Tobias Burnus <tobias@codesourcery.com>
3538
3539 PR fortran/98476
3540 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
3541
ef1f8ee6
GA
35422021-01-18 Andreas Schwab <schwab@suse.de>
3543
3544 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
3545
35462021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
3547
3548 * config/rtems/sem.h (gomp_sem_getcount): New function.
3549
35502021-01-18 Jakub Jelinek <jakub@redhat.com>
3551
3552 * config/linux/sem.h (gomp_sem_getcount): New function.
3553 * config/posix/sem.h (gomp_sem_getcount): New function.
3554 * config/posix/sem.c (gomp_sem_getcount): New function.
3555 * config/accel/sem.h (gomp_sem_getcount): New function.
3556 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
3557 (omp_fulfill_event): Likewise.
3558
59cf67d1
GA
35592021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
3560
3561 * fortran.c (omp_fulfill_event_): New.
3562 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
3563 (struct gomp_team): Add task_detach_queue and task_detach_count
3564 fields.
3565 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
3566 * libgomp_g.h (GOMP_task): Add extra argument.
3567 * omp.h.in (enum omp_event_handle_t): New.
3568 (omp_fulfill_event): New.
3569 * omp_lib.f90.in (omp_event_handle_kind): New.
3570 (omp_fulfill_event): New.
3571 * omp_lib.h.in (omp_event_handle_kind): New.
3572 (omp_fulfill_event): Declare.
3573 * priority_queue.c (priority_tree_find): New.
3574 (priority_list_find): New.
3575 (priority_queue_find): New.
3576 * priority_queue.h (priority_queue_predicate): New.
3577 (priority_queue_find): New.
3578 * task.c (gomp_init_task): Initialize detach field.
3579 (task_fulfilled_p): New.
3580 (GOMP_task): Add detach argument. Ignore detach argument if
3581 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
3582 field. Copy address of completion_sem into detach argument and
3583 into the start of the data record. Wait for detach event if task
3584 not deferred.
3585 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
3586 Remove completed tasks and requeue dependent tasks.
3587 (omp_fulfill_event): New.
3588 * team.c (gomp_new_team): Initialize task_detach_queue and
3589 task_detach_count fields.
3590 (free_team): Free task_detach_queue field.
3591 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
3592 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
3593 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
3594 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
3595 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
3596 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
3597 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
3598 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
3599 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
3600 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
3601 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
3602 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
3603
2f7f0d32
GA
36042021-01-15 Jakub Jelinek <jakub@redhat.com>
3605
3606 PR target/70454
3607 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
3608 be added through preprocessor check on
3609 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
3610
5fff80fd
GA
36112021-01-14 Thomas Schwinge <thomas@codesourcery.com>
3612
3613 PR libgomp/65099
3614 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
3615 configurations.
3616 * configure: Regenerate.
3617 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
3618 check.
3619
651b8a50
GA
36202021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
3621
3622 * configure: Re-generate.
3623
36242021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
3625
3626 * configure: Re-generate.
3627
36282021-01-05 Julian Brown <julian@codesourcery.com>
3629
3630 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
3631 (struct ptx_device): Add omp_stacks struct.
3632 (nvptx_open_device): Initialise cached-stacks housekeeping info.
3633 (nvptx_close_device): Free cached stacks block and mutex.
3634 (nvptx_stacks_free): New function.
3635 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
3636 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
3637 (nvptx_stacks_alloc): Rename to...
3638 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
3639 size or smaller is required.
3640 (nvptx_stacks_free): Remove.
3641 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
3642 during kernel execution.
3643
b6dd195a
GA
36442021-01-01 Jakub Jelinek <jakub@redhat.com>
3645
3646 * libgomp.texi: Bump @copying's copyright year.
3647
2d3425a5
GA
36482020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
3649
3650 * libgomp.texi (Top): Avoid bad "up" link.
3651
b1a2242e
GA
36522020-12-18 Jakub Jelinek <jakub@redhat.com>
3653
3654 * testsuite/libgomp.c/task-6.c: New test.
3655
ca2bd949
GA
36562020-12-09 Andrew Stubbs <ams@codesourcery.com>
3657
3658 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
3659 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
3660
f6e8e279
GA
36612020-12-08 Tobias Burnus <tobias@codesourcery.com>
3662
3663 * testsuite/libgomp.fortran/scan-1.f90: New test.
3664
6e1edf48
GA
36652020-12-05 Iain Sandoe <iain@sandoe.co.uk>
3666
3667 PR target/97865
3668 * configure: Regenerate.
3669
a9625c50
GA
36702020-11-29 John David Anglin <danglin@gcc.gnu.org>
3671
3672 * configure: Regenerate.
3673
360258da
GA
36742020-11-25 Thomas Schwinge <thomas@codesourcery.com>
3675
3676 * testsuite/libgomp.oacc-c++/cache-1.C: New.
3677 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
3678
36792020-11-25 Andrew Stubbs <ams@codesourcery.com>
3680
3681 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
3682 expected results.
3683
1e2c9a27
GA
36842020-11-24 Andrew Stubbs <ams@codesourcery.com>
3685
3686 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
3687 (reserved): Delete unused define.
3688
36892020-11-24 Thomas Schwinge <thomas@codesourcery.com>
3690
3691 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
3692 Tcl 8.5-specific behavior.
3693 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3694
25bb75f8
GA
36952020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
3696
3697 * env.c (gomp_global_icv): Remove nest_var field. Add
3698 max_active_levels_var field.
3699 (gomp_max_active_levels_var): Remove.
3700 (parse_boolean): Return true on success.
3701 (handle_omp_display_env): Express OMP_NESTED in terms of
3702 max_active_levels_var. Change format specifier for
3703 max_active_levels_var.
3704 (initialize_env): Set max_active_levels_var from
3705 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
3706 OMP_PROC_BIND.
3707 * icv.c (omp_set_nested): Express in terms of
3708 max_active_levels_var.
3709 (omp_get_nested): Likewise.
3710 (omp_set_max_active_levels): Use max_active_levels_var field instead
3711 of gomp_max_active_levels_var.
3712 (omp_get_max_active_levels): Likewise.
3713 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
3714 max_active_levels_var field.
3715 (gomp_supported_active_levels): Set to UCHAR_MAX.
3716 (gomp_max_active_levels_var): Delete.
3717 * libgomp.texi (omp_get_nested): Update documentation.
3718 (omp_set_nested): Likewise.
3719 (OMP_MAX_ACTIVE_LEVELS): Likewise.
3720 (OMP_NESTED): Likewise.
3721 (OMP_NUM_THREADS): Likewise.
3722 (OMP_PROC_BIND): Likewise.
3723 * parallel.c (gomp_resolve_num_threads): Replace reference
3724 to nest_var with max_active_levels_var. Use max_active_levels_var
3725 field instead of gomp_max_active_levels_var.
3726
37272020-11-18 Tobias Burnus <tobias@codesourcery.com>
3728
3729 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3730 nvptx_usleep; use also for device={arch(gcn)}.
3731
faab61b5
GA
37322020-11-14 Jakub Jelinek <jakub@redhat.com>
3733
3734 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
3735 (foo): Add tests for non-VLA private and firstprivate clauses on
3736 omp task.
3737 (bar): Likewise. Remove taking of address from private/firstprivate
3738 variables.
3739 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
3740 (foo): Add p, q, px and s arguments. Add tests for array reductions
3741 and for non-VLA private and firstprivate clauses on omp task.
3742 (bar): Removed.
3743 (main): Adjust foo caller. Don't call bar.
3744
77f67db2
GA
37452020-11-13 Gergö Barany <gergo@codesourcery.com>
3746 Thomas Schwinge <thomas@codesourcery.com>
3747
3748 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3749 New.
3750 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3751 Likewise.
3752 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3753 Likewise.
3754 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3755 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3756
37572020-11-13 Gergö Barany <gergo@codesourcery.com>
3758 Thomas Schwinge <thomas@codesourcery.com>
3759
3760 PR fortran/94358
3761 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3762
37632020-11-13 Jakub Jelinek <jakub@redhat.com>
3764
3765 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3766 for array reductions.
3767 (main): Adjust foo callers.
3768
a5a11525
GA
37692020-11-12 Jakub Jelinek <jakub@redhat.com>
3770
3771 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
3772 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
3773 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
3774 * allocator.c (omp_aligned_alloc): New for now static function,
3775 add alignment argument and handle it.
3776 (omp_alloc): Reimplement using omp_aligned_alloc.
3777 (GOMP_alloc, GOMP_free): New functions.
3778 (omp_free): Add ialias.
3779 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
3780 * testsuite/libgomp.c++/allocate-1.C: New test.
3781
37822020-11-12 Thomas Schwinge <thomas@codesourcery.com>
3783
3784 PR fortran/97782
3785 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3786
bb622641
GA
37872020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
3788
3789 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
3790 usable.
3791 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
3792 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
3793 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
3794 (goacc_enter_data_internal): Likewise.
3795 * target.c (gomp_map_vars_internal):
3796 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
3797 of gomp_attach_pointer for OpenMP cases.
3798 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
3799 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
3800 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
3801
0cfd9109
GA
38022020-11-05 Ulrich Drepper <drepper@redhat.com>
3803 Kwok Cheung Yeung <kcy@codesourcery.com>
3804
3805 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
3806 * Makefile.in: Regenerate.
3807 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
3808 pragmas to ignore -Wdeprecated-declarations warnings.
3809 * icv.c: Likewise.
3810 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
3811 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
3812 and omp_get_nested with __GOMP_DEPRECATED_5_0.
3813 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
3814 deprecated.
3815 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
3816 to test options.
3817 * testsuite/libgomp.c/affinity-1.c: Likewise.
3818 * testsuite/libgomp.c/affinity-2.c: Likewise.
3819 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
3820 * testsuite/libgomp.c/lib-1.c: Likewise.
3821 * testsuite/libgomp.c/nested-1.c: Likewise.
3822 * testsuite/libgomp.c/nested-2.c: Likewise.
3823 * testsuite/libgomp.c/nested-3.c: Likewise.
3824 * testsuite/libgomp.c/pr32362-1.c: Likewise.
3825 * testsuite/libgomp.c/pr32362-2.c: Likewise.
3826 * testsuite/libgomp.c/pr32362-3.c: Likewise.
3827 * testsuite/libgomp.c/pr35549.c: Likewise.
3828 * testsuite/libgomp.c/pr42942.c: Likewise.
3829 * testsuite/libgomp.c/pr61200.c: Likewise.
3830 * testsuite/libgomp.c/sort-1.c: Likewise.
3831 * testsuite/libgomp.c/target-5.c: Likewise.
3832 * testsuite/libgomp.c/target-6.c: Likewise.
3833 * testsuite/libgomp.c/teams-1.c: Likewise.
3834 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3835 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3836 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3837 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
3838 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3839 * testsuite/libgomp.fortran/lib2.f: Likewise.
3840 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3841 * testsuite/libgomp.fortran/teams1.f90: Likewise.
3842
88ce3d5f
GA
38432020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3844
3845 PR target/85486
3846 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3847 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3848 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3849
38502020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3851
3852 PR testsuite/80219
3853 PR testsuite/85303
3854 * testsuite/lib/libgomp.exp (libgomp_init): Set
3855 'gcc_warning_prefix', 'gcc_error_prefix'.
3856
38572020-10-30 Jakub Jelinek <jakub@redhat.com>
3858
3859 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3860 even in field_tgt_clear initializer.
3861
e93aae4a
GA
38622020-10-28 Jakub Jelinek <jakub@redhat.com>
3863
3864 * testsuite/libgomp.c/target-42.c: New test.
3865
38662020-10-28 Jakub Jelinek <jakub@redhat.com>
3867 Tom de Vries <tdevries@suse.de>
3868
3869 PR testsuite/81690
3870 * testsuite/libgomp.c/usleep.h: New file.
3871 * testsuite/libgomp.c/target-32.c: Include usleep.h.
3872 (main): Use tgt_usleep instead of usleep.
3873 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3874 (main): Use tgt_usleep instead of usleep.
3875
38762020-10-28 Jakub Jelinek <jakub@redhat.com>
3877
3878 PR lto/96680
3879 * testsuite/libgomp.c/declare-variant-1.c: New test.
3880
56ddd5e2
GA
38812020-10-22 Jakub Jelinek <jakub@redhat.com>
3882
3883 * testsuite/libgomp.c/target-41.c: New test.
3884
38852020-10-22 Jakub Jelinek <jakub@redhat.com>
3886
3887 * icv.c (omp_get_initial_device): Remove including corresponding
3888 ialias.
3889 * icv-device.c (omp_get_initial_device): New function. Return
3890 gomp_get_num_devices (). Add ialias.
3891 * target.c (resolve_device): Don't fail with
3892 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3893 gomp_get_num_devices ().
3894 (omp_target_alloc, omp_target_free, omp_target_is_present,
3895 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3896 omp_target_disassociate_ptr, omp_pause_resource): Use
3897 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3898 first use in the functions, in uses dominated by the
3899 gomp_get_num_devices call use num_devices_openmp instead.
3900 * libgomp.texi (omp_get_initial_device): Document.
3901 * config/gcn/icv-device.c (omp_get_initial_device): New function.
3902 Add ialias.
3903 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3904 * testsuite/libgomp.c/target-40.c: New test.
3905
39062020-10-21 Jakub Jelinek <jakub@redhat.com>
3907
3908 * env.c (parse_target_offload): Change new_offload var type to int,
3909 preinitialize to -1, remove found var and test new_offload != -1
3910 instead of found.
3911
e2e04288
GA
39122020-10-20 Jakub Jelinek <jakub@redhat.com>
3913
3914 * target.c (gomp_target_init): Inside of the function, use automatic
3915 variables corresponding to num_devices, num_devices_openmp and devices
3916 global variables and update the globals only at the end of the
3917 function.
3918
39192020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
3920
3921 * env.c (gomp_target_offload_var): New.
3922 (parse_target_offload): New.
3923 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3924 (initialize_env): Parse OMP_TARGET_OFFLOAD.
3925 * libgomp.h (gomp_target_offload_t): New.
3926 (gomp_target_offload_var): New.
3927 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3928 * target.c (resolve_device): Generate error if device not found and
3929 offloading is mandatory.
3930 (gomp_target_fallback): Generate error if offloading is mandatory.
3931 (GOMP_target): Add argument in call to gomp_target_fallback.
3932 (GOMP_target_ext): Likewise.
3933 (gomp_target_data_fallback): Generate error if offloading is mandatory.
3934 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3935 (GOMP_target_data_ext): Likewise.
3936 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3937 (gomp_target_init): Return early if offloading is disabled.
3938
b85d5dc5
GA
39392020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
3940
3941 * libgomp.texi (omp_get_max_active_levels): Modify description.
3942 (omp_get_supported_active_levels): Make descriptions consistent.
3943
b2698c21
GA
39442020-10-14 Jakub Jelinek <jakub@redhat.com>
3945
3946 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3947
bdd74cc2
GA
39482020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
3949
3950 * env.c (gomp_max_active_levels_var): Initialize to
3951 gomp_supported_active_levels.
3952 (initialize_env): Limit gomp_max_active_levels_var to be at most
3953 equal to gomp_supported_active_levels.
3954 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3955 (omp_get_supported_active_levels_): New.
3956 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3957 to at most equal to gomp_supported_active_levels.
3958 (omp_get_supported_active_levels): New.
3959 * libgomp.h (gomp_supported_active_levels): New.
3960 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
3961 omp_get_supported_active_levels_.
3962 * libgomp.texi (omp_get_supported_active_levels): New.
3963 (omp_set_max_active_levels): Update. Add reference to
3964 omp_get_supported_active_levels.
3965 * omp.h.in (omp_get_supported_active_levels): New.
3966 * omp_lib.f90.in (omp_get_supported_active_levels): New.
3967 * omp_lib.h.in (omp_get_supported_active_levels): New.
3968 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
3969 against omp_get_supported_active_levels.
3970 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
3971
2baa36d4
GA
39722020-10-11 Clement Chigot <clement.chigot@atos.net>
3973
3974 * config/t-aix: Delete and recreate libgomp before creating
3975 FAT library.
3976
da9df699
GA
39772020-10-08 Tom de Vries <tdevries@suse.de>
3978
3979 PR libgomp/81802
3980 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3981 dimensions.
3982
8e97b905
GA
39832020-10-06 Tom de Vries <tdevries@suse.de>
3984
3985 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3986
39872020-10-06 Tom de Vries <tdevries@suse.de>
3988
3989 PR middle-end/90861
3990 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3991
7e9282ae
GA
39922020-10-05 Tom de Vries <tdevries@suse.de>
3993
3994 PR fortran/95654
3995 * testsuite/libgomp.fortran/pr95654.f90: New test.
3996
b0b9b8f0
GA
39972020-10-02 Tobias Burnus <tobias@codesourcery.com>
3998
3999 * Makefile.in: Regenerate with automake 1.15.1.
4000 * aclocal.m4: Likewise.
4001 * configure: Likewise.
4002 * testsuite/Makefile.in: Likewise.
4003
660bfe61
GA
40042020-09-30 Andrew Stubbs <ams@codesourcery.com>
4005
4006 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
4007 and amdgcn targets.
4008
40092020-09-30 Tobias Burnus <tobias@codesourcery.com>
4010
4011 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
4012
93bca37c
GA
40132020-09-29 Andrew Stubbs <ams@codesourcery.com>
4014
4015 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
4016 total number of threads is one.
4017 (gomp_team_barrier_wake): Likewise.
4018 (gomp_team_barrier_wait_end): Likewise.
4019 (gomp_team_barrier_wait_cancel_end): Likewise.
4020 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
4021 (gomp_team_barrier_wake): Likewise.
4022 (gomp_team_barrier_wait_end): Likewise.
4023 (gomp_team_barrier_wait_cancel_end): Likewise.
4024 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
4025
e84761c6
GA
40262020-09-28 Tobias Burnus <tobias@codesourcery.com>
4027
4028 PR middle-end/96390
4029 * testsuite/libgomp.c++/pr96390.C: New test.
4030 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
4031
4383c595
GA
40322020-09-27 Clement Chigot <clement.chigot@atos.net>
4033
4034 * config/t-aix: Use $(AR) without -X32_64.
4035
cdd8f031
GA
40362020-09-25 Jakub Jelinek <jakub@redhat.com>
4037
4038 * testsuite/libgomp.c/loop-25.c: New test.
4039
521d2711
GA
40402020-09-22 Tobias Burnus <tobias@codesourcery.com>
4041
4042 PR fortran/95654
4043 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
4044
40452020-09-22 Tom de Vries <tdevries@suse.de>
4046
4047 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
4048 fails.
4049
ecde1b0a
GA
40502020-09-16 Nathan Sidwell <nathan@acm.org>
4051
4052 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
4053
9f7ab8c5
GA
40542020-09-15 Tobias Burnus <tobias@codesourcery.com>
4055
4056 PR fortran/96668
4057 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
4058
40592020-09-15 Tobias Burnus <tobias@codesourcery.com>
4060
4061 PR fortran/96668
4062 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
4063 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
4064 (gomp_map_vars_existing): Update call to it.
4065 (gomp_map_fields_existing): Likewise
4066 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
4067 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
4068 remapped.
4069 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
4070 GOMP_MAP_POINTER.
4071 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
4072 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
4073
50a71cd0
GA
40742020-09-14 Tom de Vries <tdevries@suse.de>
4075
4076 * config/nvptx/atomic.c: New file. Add
4077 __sync_val_compare_and_swap_16.
4078 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
4079 target offload_target_nvptx.
4080
31a05046
GA
40812020-09-08 Julian Brown <julian@codesourcery.com>
4082
4083 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
4084 iteration-ordering assumptions.
4085
40862020-09-08 Julian Brown <julian@codesourcery.com>
4087
4088 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
4089 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4090
5b9a3d2a
GA
40912020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
4092
4093 * plugin/plugin-nvptx.c (nvptx_free):
4094 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
4095 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
4096 comments.
4097
40982020-08-20 Tobias Burnus <tobias@codesourcery.com>
4099
4100 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
4101
b3cb5606
GA
41022020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
4103
4104 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
4105
41062020-08-13 Jakub Jelinek <jakub@redhat.com>
4107
4108 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
4109 * testsuite/libgomp.c/loop-23.c (main): Likewise.
4110 * testsuite/libgomp.c/loop-24.c: New test.
4111
bc0ca715
GA
41122020-08-08 Jakub Jelinek <jakub@redhat.com>
4113 Tobias Burnus <tobias@codesourcery.com>
4114
4115 PR fortran/93553
4116 * testsuite/libgomp.fortran/pr93553.f90: New test.
4117
aa5ea20c
GA
41182020-08-05 Jakub Jelinek <jakub@redhat.com>
4119
4120 * testsuite/libgomp.c/loop-22.c: New test.
4121 * testsuite/libgomp.c/loop-23.c: New test.
4122
41232020-08-05 Jakub Jelinek <jakub@redhat.com>
4124
4125 PR middle-end/96459
4126 * testsuite/libgomp.c/teams-3.c: New test.
4127 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
4128 if not defined yet.
4129 (N(test)): Use it before all N(f*) calls.
4130 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
4131 (main): Don't call all test_* functions from within
4132 #pragma omp teams reduction(|:err), call them directly.
4133
abba2591
GA
41342020-08-04 Tom de Vries <tdevries@suse.de>
4135
4136 PR target/96428
4137 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
4138 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
4139
6a1ad710
GA
41402020-08-03 Julian Brown <julian@codesourcery.com>
4141 Thomas Schwinge <thomas@codesourcery.com>
4142
4143 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
4144 shared-memory devices. Extend with further checking.
4145
41462020-08-03 Martin Jambor <mjambor@suse.cz>
4147
4148 * plugin/Makefrag.am: Remove configuration of HSA plugin.
4149 * aclocal.m4: Regenerated.
4150 * Makefile.in: Regenerated.
4151 * config.h.in: Regenerated.
4152 * configure: Regenerated.
4153 * plugin/configfrag.ac: Likewise.
4154 * plugin/hsa_ext_finalize.h: Removed.
4155 * plugin/plugin-hsa.c: Likewise.
4156 * testsuite/Makefile.in: Regenerated.
4157 * testsuite/lib/libgomp.exp
4158 (offload_target_to_openacc_device_type): Remove hsa case.
4159 (check_effective_target_hsa_offloading_selected_nocache): Removed
4160 (check_effective_target_hsa_offloading_selected): Likewise.
4161 (libgomp_init): Do not add -Wno-hsa to additional_flags.
4162 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
4163 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
4164 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
4165 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
4166 * testsuite/libgomp.hsa.c/c.exp: Likewise.
4167 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
4168 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
4169 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
4170 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
4171 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
4172 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
4173 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
4174 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
4175 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
4176 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
4177 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
4178 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
4179 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
4180 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
4181 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
4182 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
4183 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
4184 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4185 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4186
e71dab87
GA
41872020-07-27 Julian Brown <julian@codesourcery.com>
4188 Thomas Schwinge <thomas@codesourcery.com>
4189
4190 * libgomp.h (struct target_var_desc): Rename do_detach field to
4191 is_attach.
4192 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
4193 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
4194 (goacc_enter_data_internal): Don't affect reference counts
4195 for attach mappings.
4196 (goacc_exit_data_internal): Don't affect reference counts for detach
4197 mappings.
4198 * target.c (gomp_map_vars_existing): Don't affect reference counts for
4199 attach mappings.
4200 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
4201 mark attach mappings.
4202 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
4203 reference count for attach mappings.
4204 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
4205 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
4206 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
4207 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
4208 test as shouldfail.
4209 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
4210 gracefully in no-finalize mode.
4211 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
4212
53256ee3
GA
42132020-07-24 Thomas Schwinge <thomas@codesourcery.com>
4214
4215 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
4216 use.
4217 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4218 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4219
9bb403dc
GA
42202020-07-23 Julian Brown <julian@codesourcery.com>
4221 Thomas Schwinge <thomas@codesourcery.com>
4222
4223 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
4224 finalization for detach operation.
4225 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
4226 New test.
4227
42282020-07-23 Tobias Burnus <tobias@codesourcery.com>
4229
4230 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
4231 * libgomp_f.h.in (omp_check_defines): Check whether
4232 sizeof of determined Fortran kind and C typedef match.
4233 * omp_lib.f90.in: Add omp_depened_kind.
4234 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
4235 * configure: Regenerate.
4236 * Makefile.in: Regenerate.
4237 * testsuite/Makefile.in: Regenerate.
4238
3ea9abca
GA
42392020-07-22 Tobias Burnus <tobias@codesourcery.com>
4240
4241 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
4242 gcc/testsuite/c-c++-common/gomp/.
4243 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
4244 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
4245 from gcc/testsuite/gfortran.dg/gomp/.
4246 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
4247
42482020-07-22 Tobias Burnus <tobias@codesourcery.com>
4249
4250 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
4251 * omp_lib.h.in: Likewise.
4252
aeb34e15
GA
42532020-07-18 H.J. Lu <hjl.tools@gmail.com>
4254
4255 PR target/95620
4256 * testsuite/libgomp.c/pr95620.c: New test.
4257
96686b3f
GA
42582020-07-16 Julian Brown <julian@codesourcery.com>
4259 Thomas Schwinge <thomas@codesourcery.com>
4260
4261 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
4262 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
4263
fe8185b5
GA
42642020-07-15 Tobias Burnus <tobias@codesourcery.com>
4265
4266 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
4267 avoid conversion on 32bit systems from 32bit to 64bit due
4268 to -fdefault-integer-8.
4269
42702020-07-15 Tobias Burnus <tobias@codesourcery.com>
4271
4272 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
4273 variables; add character(kind=4) tests; update TODO comment.
4274
42752020-07-15 Tobias Burnus <tobias@codesourcery.com>
4276
4277 * allocator.c: Add ialias for omp_init_allocator and
4278 omp_destroy_allocator.
4279 * configure.ac: Set INTPTR_T_KIND.
4280 * configure: Regenerate.
4281 * Makefile.in: Regenerate.
4282 * testsuite/Makefile.in: Regenerate.
4283 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
4284 omp_set_default_allocator_, omp_get_default_allocator_): New
4285 functions and ialias_redirect.
4286 * icv.c: Add ialias for omp_set_default_allocator and
4287 omp_get_default_allocator.
4288 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
4289 omp_destroy_allocator_, omp_set_default_allocator_ and
4290 omp_get_default_allocator_.
4291 * omp_lib.f90.in: Add allocator traits parameters, declare
4292 allocator routines and add related kind parameters.
4293 * omp_lib.h.in: Likewise.
4294 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
4295 * testsuite/libgomp.fortran/alloc-1.F90: New test.
4296 * testsuite/libgomp.fortran/alloc-2.F90: New test.
4297 * testsuite/libgomp.fortran/alloc-3.F: New test.
4298 * testsuite/libgomp.fortran/alloc-4.f90: New test.
4299 * testsuite/libgomp.fortran/alloc-5.f90: New test.
4300
8ca07a30
GA
43012020-07-14 Tom de Vries <tom@codesourcery.com>
4302 Cesar Philippidis <cesar@codesourcery.com>
4303 Thomas Schwinge <thomas@codesourcery.com>
4304 Kwok Cheung Yeung <kcy@codesourcery.com>
4305
4306 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
4307 New variable.
4308 (acc_init_1): Set acc_init_thread to pthread_self (). Set
4309 acc_init_state to initializing at the start, and to initialized at the
4310 end.
4311 (self_initializing_p): New function.
4312 (acc_get_device_type): Return acc_device_none if called by thread that
4313 is currently executing acc_init_1.
4314 * libgomp.texi (acc_get_device_type): Update documentation.
4315 (Implementation Status and Implementation-Defined Behavior): Likewise.
4316 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
4317
43182020-07-14 David Edelsohn <dje.gcc@gmail.com>
4319
4320 * config/t-aix: Set BITS from compiler cpp macro.
4321
43222020-07-14 Tobias Burnus <tobias@codesourcery.com>
4323
4324 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
4325
43262020-07-14 Tobias Burnus <tobias@codesourcery.com>
4327
4328 PR fortran/67311
4329 * testsuite/libgomp.fortran/target-map-1.f90: New test.
4330
43312020-07-14 Jakub Jelinek <jakub@redhat.com>
4332
4333 * testsuite/libgomp.c/loop-21.c: New test.
4334
ea69fcf9
GA
43352020-07-13 Julian Brown <julian@codesourcery.com>
4336 Thomas Schwinge <thomas@codesourcery.com>
4337
4338 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
4339
86536295
GA
43402020-07-10 Julian Brown <julian@codesourcery.com>
4341 Thomas Schwinge <thomas@codesourcery.com>
4342
4343 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
4344 dynamic_refcount.
4345 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4346 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
4347 dynamic_refcount.
4348 (acc_unmap_data): Update comment.
4349 (goacc_map_var_existing, goacc_enter_datum): Adjust for
4350 dynamic_refcount semantics.
4351 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
4352 Adjust for dynamic_refcount semantics.
4353 (goacc_enter_data_internal): Implement "present" case of dynamic
4354 memory-map handling here. Update "non-present" case for
4355 dynamic_refcount semantics.
4356 (goacc_exit_data_internal): Use goacc_exit_datum_1.
4357 * target.c (gomp_map_vars_internal): Remove
4358 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
4359 handling.
4360 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
4361 (gomp_load_image_to_device): Substitute dynamic_refcount for
4362 virtual_refcount.
4363 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
4364 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
4365 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
4366 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
4367 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
4368 trace output.
4369 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
4370 trace output.
4371 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
4372 test.
4373 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4374 Remove stale comment.
4375 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
4376 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
4377 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
4378 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
4379 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
4380 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
4381
43822020-07-10 Julian Brown <julian@codesourcery.com>
4383 Thomas Schwinge <thomas@codesourcery.com>
4384
4385 * oacc-mem.c (goacc_map_var_existing): New function.
4386 (goacc_enter_datum): Use above function.
4387 (goacc_exit_datum_1): New function.
4388 (goacc_exit_datum): Use above function.
4389
3f8ca9cb
GA
43902020-07-09 Julian Brown <julian@codesourcery.com>
4391 Thomas Schwinge <thomas@codesourcery.com>
4392
4393 PR middle-end/95270
4394 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
4395 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
4396
43972020-07-09 Julian Brown <julian@codesourcery.com>
4398
4399 * oacc-mem.c (find_group_last): Group data-movement clauses
4400 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
4401 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
4402
44032020-07-09 Jakub Jelinek <jakub@redhat.com>
4404
4405 * testsuite/libgomp.c/loop-19.c: New test.
4406 * testsuite/libgomp.c/loop-20.c: New test.
4407
44082020-07-09 Jakub Jelinek <jakub@redhat.com>
4409
4410 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
4411 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
4412 it. Remove __omp_alloctrait_value_max__.
4413 * allocator.c (omp_init_allocator): Handle omp_atv_default for
4414 omp_atk_alignment and omp_atk_pool_size.
4415
b991c834
GA
44162020-07-03 Thomas Schwinge <thomas@codesourcery.com>
4417
4418 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
4419 behavior for 'GOMP_MAP_FORCE_FROM'.
4420 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
4421
44222020-07-03 Thomas Schwinge <thomas@codesourcery.com>
4423
4424 * oacc-mem.c (goacc_exit_data_internal): Remove
4425 'GOMP_MAP_ALWAYS_FROM' handling.
4426
46fbb6c6
GA
44272020-06-30 Thomas Schwinge <thomas@codesourcery.com>
4428
4429 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
4430 'scan-assembler' with 'scan-offload-rtl'.
4431 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
4432 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4433 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
4434 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
4435
44362020-06-30 Thomas Schwinge <thomas@codesourcery.com>
4437
4438 * target.c (gomp_map_vars_existing): Assert 'kind !=
4439 GOMP_MAP_ATTACH'.
4440 (gomp_map_vars_internal): Clean up.
4441
9a33c41f
GA
44422020-06-27 Jakub Jelinek <jakub@redhat.com>
4443
4444 * testsuite/libgomp.c/loop-17.c: New test.
4445 * testsuite/libgomp.c/loop-18.c: New test.
4446
c9c05f73
GA
44472020-06-26 Marek Polacek <polacek@redhat.com>
4448
4449 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
4450
4543acc8
GA
44512020-06-23 Alexandre Oliva <oliva@adacore.com>
4452
4453 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
4454 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
4455
605a8f3b
GA
44562020-06-22 David Edelsohn <dje.gcc@gmail.com>
4457
4458 * Makefile.am: Use -include.
4459 * Makefile.in: Regenerate.
4460
f86e11a2
GA
44612020-06-21 David Edelsohn <dje.gcc@gmail.com>
4462
4463 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
4464 * Makefile.in: Regenerate
4465 * configure.ac (tmake_file): Substitute.
4466 * configure: Regenerate.
4467 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
4468 * config/t-aix: New file.
4469
aff95ee7
GA
44702020-06-17 Thomas Schwinge <thomas@codesourcery.com>
4471
4472 PR lto/94848
4473 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
4474 'dg-do run'.
4475
44762020-06-17 Andrew Stubbs <ams@codesourcery.com>
4477
4478 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
4479 variant for HSA_RUNTIME_LIB name.
4480 (find_executable_symbol_1): Delete.
4481 (find_executable_symbol): Delete.
4482 (init_kernel_properties): Add ".kd" suffix to symbol names.
4483 (find_load_offset): Delete.
4484 (create_and_finalize_hsa_program): Remove relocation handling.
4485
56638b9b
GA
44862020-06-16 Tobias Burnus <tobias@codesourcery.com>
4487
4488 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
4489
2c455ae0
GA
44902020-06-08 Tobias Burnus <tobias@codesourcery.com>
4491
4492 PR lto/94848
4493 PR middle-end/95551
4494 * testsuite/libgomp.fortran/target-var.f90: New test.
4495
1a59f3db
GA
44962020-06-05 Thomas Schwinge <thomas@codesourcery.com>
4497 Julian Brown <julian@codesourcery.com>
4498
4499 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
4500 special handling.
4501
45022020-06-05 Thomas Schwinge <thomas@codesourcery.com>
4503 Julian Brown <julian@codesourcery.com>
4504
4505 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
4506 Simplify.
4507
45082020-06-05 Julian Brown <julian@codesourcery.com>
4509
4510 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
4511 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
4512
3add3425
GA
45132020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4514
4515 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
4516 Evaluate 'copyfrom' individually for each entry.
4517 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
4518
45192020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4520
4521 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
4522 Evaluate 'finalize' individually for each entry.
4523 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
4524 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
4525 file.
4526
45272020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4528
4529 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
4530 usage.
4531 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
4532
45332020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4534 Julian Brown <julian@codesourcery.com>
4535
4536 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
4537 checking.
4538 (acc_unmap_data, goacc_exit_data_internal): Restore
4539 'is_tgt_unmapped' checking.
4540 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
4541 file.
4542 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
4543 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
4544 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
4545 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
4546 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
4547 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
4548
45492020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4550 Julian Brown <julian@codesourcery.com>
4551
4552 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
4553
45542020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4555
4556 PR libgomp/92854
4557 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
4558
45592020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4560
4561 PR libgomp/92854
4562 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
4563 more.
4564
45652020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4566 Julian Brown <julian@codesourcery.com>
4567
4568 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
4569 'gomp_map_vars'.
4570 (acc_map_data): Clean up accordingly.
4571
45722020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4573
4574 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
4575 of over-eager 'finalize' clause.
4576 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
4577 file.
4578 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
4579 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
4580 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
4581 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
4582 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
4583 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
4584 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
4585 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
4586
45872020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4588
4589 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
4590
45912020-06-04 Julian Brown <julian@codesourcery.com>
4592
4593 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
4594 error path.
4595 (goacc_detach_internal): Likewise.
4596
45972020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4598
4599 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
4600 the checkpoint.
4601 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4602 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4603 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4604 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4605 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4606
a9312a79
GA
46072020-06-02 Jakub Jelinek <jakub@redhat.com>
4608
4609 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
4610 defined.
4611
945b53cc
GA
46122020-05-30 Jakub Jelinek <jakub@redhat.com>
4613
4614 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
4615
46162020-05-30 Jakub Jelinek <jakub@redhat.com>
4617
4618 * allocator.c (omp_alloc): For size == 0, return NULL early.
4619
885ef72f
GA
46202020-05-29 H.J. Lu <hjl.tools@gmail.com>
4621
4622 PR bootstrap/95413
4623 * configure: Regenerated.
4624
8df7ee67
TK
46252020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
4626
4627 PR libfortran/95191
4628 * testsuite/libgomp.fortran/async_io_9.f90: New test.
4629
800bcc8c
JJ
46302020-05-19 Jakub Jelinek <jakub@redhat.com>
4631
4632 * omp.h.in (omp_uintptr_t): New typedef.
4633 (__GOMP_UINTPTR_T_ENUM): Define.
4634 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
4635 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
4636 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
4637 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
4638 omp_get_default_allocator, omp_alloc, omp_free): Declare.
4639 * libgomp.h (struct gomp_team_state): Add def_allocator field.
4640 (gomp_def_allocator): Declare.
4641 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
4642 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
4643 omp_alloc and omp_free.
4644 * team.c (gomp_team_start): Copy over ts.def_allocator.
4645 * env.c (gomp_def_allocator): New variable.
4646 (parse_wait_policy): Adjust function comment.
4647 (parse_allocator): New function.
4648 (handle_omp_display_env): Print OMP_ALLOCATOR.
4649 (initialize_env): Call parse_allocator.
4650 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
4651 * allocator.c: New file.
4652 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
4653 functions.
4654 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
4655 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
4656 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
4657 * Makefile.in: Regenerated.
4658
4c1a5d8b
L
46592020-05-15 H.J. Lu <hongjiu.lu@intel.com>
4660
4661 PR bootstrap/95147
4662 * configure: Regenerated.
4663
cdc34b50
TK
46642020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
4665
4666 PR libfortran/95119
4667 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
4668
46692020-05-14 H.J. Lu <hongjiu.lu@intel.com>
4670
4671 * configure: Regenerated.
4672
46732020-05-14 Jakub Jelinek <jakub@redhat.com>
4674
4675 * testsuite/libgomp.c-c++-common/target-40.c: New test.
4676
f884bef2
TB
46772020-05-13 Tobias Burnus <tobias@codesourcery.com>
4678
4679 PR fortran/94690
4680 * testsuite/libgomp.fortran/pr66199-3.f90: New.
4681 * testsuite/libgomp.fortran/pr66199-4.f90: New.
4682 * testsuite/libgomp.fortran/pr66199-5.f90: New.
4683 * testsuite/libgomp.fortran/pr66199-6.f90: New.
4684 * testsuite/libgomp.fortran/pr66199-7.f90: New.
4685 * testsuite/libgomp.fortran/pr66199-8.f90: New.
4686 * testsuite/libgomp.fortran/pr66199-9.f90: New.
4687
dc703151
JJ
46882020-05-12 Jakub Jelinek <jakub@redhat.com>
4689
4690 * testsuite/libgomp.c/target-39.c: New test.
4691
b9dc11b6
TS
46922020-04-29 Thomas Schwinge <thomas@codesourcery.com>
4693
a5d0bc12
TS
4694 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
4695 * openacc.f90 (acc_device_current): Likewise.
4696 * openacc.h (acc_device_current): Likewise.
4697 * openacc_lib.h (acc_device_current): Likewise.
4698
7f198924
TS
4699 PR target/94282
4700 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
4701 'dg-allow-blank-lines-in-output'.
4702
4912a04f
TS
4703 * oacc-init.c (get_openacc_name): Handle 'gcn'.
4704 * testsuite/lib/libgomp.exp
4705 (offload_target_to_openacc_device_type) [amdgcn*]: Return
4706 'radeon'. Adjust all users.
4707 (check_effective_target_openacc_amdgcn_accel_present): Rename
4708 to...
4709 (check_effective_target_openacc_radeon_accel_present): ... this.
4710 Adjust all users.
4711 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
4712 (check_effective_target_openacc_radeon_accel_selected): ... this.
4713 Adjust all users.
4714
b9dc11b6
TS
4715 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
4716 'dg-do run'.
4717
966de09b
AS
47182020-04-23 Andrew Stubbs <ams@codesourcery.com>
4719
4720 PR other/94629
4721
4722 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
4723 hsa_iterate_agents.
4724 (GOMP_OFFLOAD_init_device): Check return values from both calls to
4725 hsa_agent_iterate_regions.
4726
3f5d94c1
TS
47272020-04-20 Thomas Schwinge <thomas@codesourcery.com>
4728
4729 PR middle-end/94635
4730 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4731 run'.
4732
85d8c05a
TB
47332020-04-20 Tobias Burnus <tobias@codesourcery.com>
4734
4735 PR middle-end/94120
4736 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4737 test case.
4738
af557050
TB
47392020-04-17 Tobias Burnus <tobias@codesourcery.com>
4740
4741 PR middle-end/94635
4742 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4743
af4c9257
TS
47442020-04-13 Thomas Schwinge <thomas@codesourcery.com>
4745
4746 PR libgomp/92843
4747 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4748 Rename to...
4749 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4750 ... this.
4751 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4752 Rename to...
4753 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4754 ... this.
4755 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4756 Rename to...
4757 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4758 ... this.
4759 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4760 Rename to...
4761 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4762 ... this.
4763 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4764 Rename to...
4765 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4766 ... this.
4767 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4768 Rename to...
4769 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4770 ... this.
4771 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4772 Rename to...
4773 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4774 ... this.
4775 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4776 Rename to...
4777 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4778 ... this.
4779 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4780 Rename to...
4781 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4782 ... this.
4783 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4784 Rename to...
4785 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4786 ... this.
4787 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4788 Rename to...
4789 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4790 ... this.
4791 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4792 Rename to...
4793 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4794 ... this.
4795 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4796 Rename to...
4797 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4798 ... this.
4799 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4800 Rename to...
4801 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4802 ... this.
4803 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4804 Rename to...
4805 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4806 ... this.
4807 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4808 Rename to...
4809 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4810 ... this.
4811
be9862dd
JB
48122020-04-10 Julian Brown <julian@codesourcery.com>
4813 Thomas Schwinge <thomas@codesourcery.com>
4814
4815 PR libgomp/92843
4816 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4817 New file.
4818 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4819 Likewise.
4820 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4821 Likewise.
4822 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4823 Likewise.
4824 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4825 Likewise.
4826 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4827 Likewise.
4828 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4829 Likewise.
4830 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4831 Likewise.
4832 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4833 Likewise.
4834 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4835 Likewise.
4836 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4837 Likewise.
4838 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4839 Likewise.
4840 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4841 Likewise.
4842 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4843 Likewise.
4844 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4845 Likewise.
4846 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4847 Likewise.
4848
6b816a5f
TS
48492020-04-10 Thomas Schwinge <thomas@codesourcery.com>
4850
4851 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4852 run'.
4853
13e41d8b
TB
48542020-04-08 Tobias Burnus <tobias@codesourcery.com>
4855
4856 PR middle-end/94120
4857 * libgomp.oacc-c++/declare-pr94120.C: New.
4858
749bd22d
MR
48592020-04-06 Maciej W. Rozycki <macro@wdc.com>
4860
4861 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4862 files.
4863 * configure: Regenerate.
4864 * testsuite/libgomp-site-extra.exp.in: New file.
4865 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4866 variable.
4867 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4868 variable.
4869 * testsuite/Makefile.in: Regenerate.
4870
2b1e849b
TS
48712020-04-03 Thomas Schwinge <thomas@codesourcery.com>
4872
4873 PR tree-optimization/89713
4874 PR c/94392
4875 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4876 'bar.sync'.
4877 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4878
689418b9
TB
48792020-03-31 Tobias Burnus <tobias@codesourcery.com>
4880
4881 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4882 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4883
c2211a60
TB
48842020-03-24 Tobias Burnus <tobias@codesourcery.com>
4885
4886 PR libgomp/81689
4887 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4888
4897bb00
TB
48892020-03-20 Tobias Burnus <tobias@codesourcery.com>
4890
4891 PR libgomp/94251
4892 * target.c (gomp_load_image_to_device): Fix link
4893 variable handling.
4894
02f7334a
JJ
48952020-03-19 Jakub Jelinek <jakub@redhat.com>
4896
4897 PR c++/93931
4898 * testsuite/libgomp.c++/pr93931.C: New test.
4899
bb83e069
TB
49002020-03-19 Tobias Burnus <tobias@codesourcery.com>
4901
4902 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4903 dg-allow-blank-lines-in-output.
4904
26cbcfe5
TB
49052020-03-18 Julian Brown <julian@codesourcery.com>
4906 Tobias Burnus <tobias@codesourcery.com>
4907
4908 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4909 it work concurrently.
4910
4da92887
TB
49112020-03-18 Tobias Burnus <tobias@codesourcery.com>
4912
4913 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4914 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4915 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4916
9c3cdb43
JJ
49172020-03-14 Jakub Jelinek <jakub@redhat.com>
4918
4919 PR middle-end/93566
4920 * testsuite/libgomp.c/pr93566.c: New test.
4921
83d45e1d
FH
49222020-02-21 Frederik Harwath <frederik@codesourcery.com>
4923
4924 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4925 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4926 integer(acc_device_property) for the type of the return value of
4927 acc_get_property.
4928
8d1a1cb1
TB
49292020-02-19 Tobias Burnus <tobias@codesourcery.com>
4930
4931 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4932 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4933 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4934 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4935 (acc_set_device_num): Fix Fortran argument name, use same name for C.
4936 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
4937 corrections; add note about the previous interface and named constant.
4938 (OpenACC library and environment variables): Fix two typos.
4939 * openacc.f90: Use for all procedures the argument names from the spec
4940 as for …_h they are user visible.
4941 (openacc_kinds): Rename acc_device_property to
4942 acc_device_property_kinds and change value to int32 ; and update users.
4943 Re-add acc_device_property for for backward compatibility.
4944 (acc_get_property_string_h): Clean up as acc_device_property_kind
4945 changed.
4946 (acc_get_property_h): Likewise and return c_size_t instead of
4947 acc_device_property.
4948 (openacc): Also export acc_device_property_kinds.
4949 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4950 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4951 handling; check against /= 0 instead of == 1 to match C.
4952 * openacc_lib.h: Use for all procedures the argument names from the spec
4953 as for …_h they are user visible. Place !GCC$ into the first column to
4954 be active also for fixed-form souce form.
4955 (acc_device_current, acc_device_property_kind, acc_device_property,
4956 acc_property_memory, acc_property_free_memory, acc_property_name,
4957 acc_property_vendor, acc_property_driver): New named constants.
4958 (acc_get_property, acc_get_property_string): New generic interface.
4959
2d9eb4e4
FH
49602020-02-13 Frederik Harwath <frederik@codesourcery.com>
4961
4962 PR libgomp/93481
4963 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4964 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
4965 optional.
4966 (gomp_target_task_fn): Assert "devicep->async_run_func".
4967 (clear_unsupported_flags): New function to remove unsupported flags
4968 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
4969 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
4970 * testsuite/libgomp.c/target-33.c:
4971 Remove xfail for offload_target_nvptx.
4972 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
4973
49742020-02-10 Frederik Harwath <frederik@codesourcery.com>
4975
4976 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
4977 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
4978 * testsuite/libgomp.c/target-34.c: Likewise.
4979 * testsuite/libgomp.c/target-link-1.c: Add xfail for
4980 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
4981
9bc3b95d
JJ
49822020-02-09 Jakub Jelinek <jakub@redhat.com>
4983
4984 * testsuite/libgomp.c/target-38.c: New test.
4985
cb3f0648
JJ
49862020-02-06 Jakub Jelinek <jakub@redhat.com>
4987
4988 PR libgomp/93515
4989 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
4990
91bc3c98
TB
49912020-02-05 Tobias Burnus <tobias@codesourcery.com>
4992
4993 * testsuite/lib/libgomp.exp
4994 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
4995 and not as 'source' argument to libgomp_target_compile.
4996
591f869a
AS
49972020-02-03 Andrew Stubbs <ams@codesourcery.com>
4998
4999 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
5000 (gcn_gfx801_s): Remove.
5001 (isa_hsa_name): Remove gfx801.
5002 (isa_gcc_name): Remove gfx801/carizzo.
5003 (isa_code): Remove gfx801.
5004
e464fc90
TB
50052020-02-03 Julian Brown <julian@codesourcery.com>
5006 Tobias Burnus <tobias@codesourcery.com>
5007
5008 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
5009 and *_finalize variants; document acc_attach and acc_detach; update
5010 references from OpenACC 2.0 to 2.6.
5011 * openacc.f90 (openacc_version): Update to 201711.
5012 * openacc_lib.h (openacc_version): Update to 201711.
5013 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
5014 openacc_version to 201711.
5015 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
5016
5a28e272
KCY
50172020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
5018
5019 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
5020 and vgpr_count fields.
5021 (struct kernel_info): Add a field for a hsa_kernel_description.
5022 (run_kernel): Reduce the number of threads/workers if the requested
5023 number would require too many VGPRs.
5024 (init_basic_kernel_info): Initialize description field with
5025 the hsa_kernel_description entry for the kernel.
5026
5ab5d81b
TB
50272020-01-29 Tobias Burnus <tobias@codesourcery.com>
5028
5029 PR bootstrap/93409
5030 * plugin/configfrag.ac (enable_offload_targets): Skip
5031 HSA and GCN plugin besides -m32 also for -mx32.
5032 * configure: Regenerate.
5033
989a5fb3
FH
50342020-01-29 Frederik Harwath <frederik@codesourcery.com>
5035
5036 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
5037
50382020-01-29 Frederik Harwath <frederik@codesourcery.com>
5039
5040 * plugin-gcn.c (struct agent_info): Add fields "name" and
5041 "vendor_name" ...
5042 (GOMP_OFFLOAD_init_device): ... and init from here.
5043 (struct hsa_context_info): Add field "driver_version_s" ...
5044 (init_hsa_contest): ... and init from here.
5045 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
5046 implementation.
5047 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
5048 Enable test execution for amdgcn and host offloading targets.
5049 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
5050 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
5051 (expect_device_properties): Split function into ...
5052 (expect_device_string_properties): ... this new function ...
5053 (expect_device_memory): ... and this new function.
5054 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
5055 Add test.
5056
278c3214
JB
50572020-01-28 Julian Brown <julian@codesourcery.com>
5058
5059 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
5060 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
5061 component/non-component variable refs in a single directive.
5062 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
5063
e8e66971
MR
50642020-01-24 Maciej W. Rozycki <macro@wdc.com>
5065
5066 * configure.ac: Handle `--with-toolexeclibdir='.
5067 * Makefile.in: Regenerate.
5068 * aclocal.m4: Regenerate.
5069 * configure: Regenerate.
5070 * testsuite/Makefile.in: Regenerate.
5071
9e424d97
FH
50722020-01-24 Frederik Harwath <frederik@codesourcery.com>
5073
5074 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
5075 (expect_device_properties): Remove "expected_free_mem" argument,
5076 change "expected_total_mem" argument type to size_t;
5077 change types of acc_get_property results to size_t,
5078 adapt format strings.
5079 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
5080 Use %zu instead of %zd to print size_t values.
5081 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
5082 rename to ...
5083 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
5084 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
5085 rename to ...
5086 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
5087
14e5e746
AS
50882020-01-23 Andrew Stubbs <ams@codesourcery.com>
5089
5090 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
5091 the device id.
5092
09e0ad62
AS
50932020-01-20 Andrew Stubbs <ams@codesourcery.com>
5094
5095 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
5096 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
5097 Adjust test dimensions for amdgcn.
5098 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
5099 gang/worker/vector expectations dynamically.
5100 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
5101 (main): Likewise.
5102 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
5103 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
5104 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
5105 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
5106 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
5107 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
5108 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
5109 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
5110 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5111 (acc_gang): Recognise acc_device_radeon.
5112 (acc_worker): Likewise.
5113 (acc_vector): Likewise.
5114 (main): Set expectations for amdgcn.
5115 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
5116 (main): Adjust gang/worker/vector expectations dynamically.
5117 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
5118 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
5119 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
5120 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
5121 for amdgcn.
5122
6687d13a
AS
51232020-01-17 Andrew Stubbs <ams@codesourcery.com>
5124
5125 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
5126 acc_device_radeon.
5127 (openacc): Likewise.
5128 * openacc.f90 (openacc_kinds): Likewise.
5129 (openacc): Likewise.
5130 * openacc.h (acc_device_t): Likewise.
5131 * openacc_lib.h: Likewise.
5132 * testsuite/lib/libgomp.exp
5133 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
5134 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
5135 (cb_compute_construct_end): Likewise.
5136 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5137 (cb_enqueue_launch_start): Likewise.
5138 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
5139 (cb_enter_data_end): Likewise.
5140 (cb_exit_data_start): Likewise.
5141 (cb_exit_data_end): Likewise.
5142 (cb_compute_construct_end): Likewise.
5143 (cb_enqueue_launch_start): Likewise.
5144 (cb_enqueue_launch_end): Likewise.
5145 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
5146 (main): Likewise.
5147
b3b75e66
TS
51482020-01-10 Thomas Schwinge <thomas@codesourcery.com>
5149
6fc0385c
TS
5150 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
5151 to use this instead of 'enum gomp_device_property'.
5152 (GOMP_OFFLOAD_get_property): Rename to...
5153 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
5154 * libgomp.h (struct gomp_device_descr): Move
5155 'GOMP_OFFLOAD_openacc_get_property'...
5156 (struct acc_dispatch_t): ... here. Adjust all users.
5157 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
5158
b3b75e66
TS
5159 * target.c (gomp_map_vars_internal)
5160 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
5161 paths.
5162
91df4397
JJ
51632020-01-10 Jakub Jelinek <jakub@redhat.com>
5164
5165 PR libgomp/93219
5166 * libgomp.h (gomp_print_string): Change return type from void to int.
5167 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
5168 not all characters have been written.
5169
df2c0d36
TB
51702020-01-08 Tobias Burnus <tobias@codesourcery.com>
5171
5172 * libgomp.texi: Fix typos, use https.
5173
f760c0c7
TB
51742020-01-03 Tobias Burnus <tobias@codesourcery.com>
5175
5176 * testsuite/libgomp.fortran/optional-map.f90: Add test for
5177 unallocated/disassociated actual arguments to nonallocatable/nonpointer
5178 dummy arguments; those are/shall be regarded as absent arguments.
5179 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5180 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
5181
7e7065b9
JJ
51822020-01-01 Jakub Jelinek <jakub@redhat.com>
5183
8d9254fc
JJ
5184 Update copyright years.
5185
7e7065b9
JJ
5186 * libgomp.texi: Bump @copying's copyright year.
5187
2c829799
AM
51882019-12-31 Ayush Mittal <ayush.m@samsung.com>
5189
5190 PR libgomp/93065
5191 * oacc-init.c (goacc_runtime_deinitialize): New function.
5192
e9dcb75e
JJ
51932019-12-28 Jakub Jelinek <jakub@redhat.com>
5194
5195 PR bootstrap/93074
5196 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
5197 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
5198
6c84c8bf
MR
51992019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
5200 Frederik Harwath <frederik@codesourcery.com>
5201 Thomas Schwinge <tschwinge@codesourcery.com>
5202
5203 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
5204 * libgomp-plugin.h (gomp_device_property_value): New union.
5205 (gomp_device_property_value): New prototype.
5206 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
5207 constant.
5208 (acc_device_property_t): New enum.
5209 (acc_get_property, acc_get_property_string): New prototypes.
5210 * oacc-init.c (acc_get_device_type): Also assert that result
5211 is not `acc_device_current'.
5212 (get_property_any, acc_get_property, acc_get_property_string):
5213 New functions.
5214 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
5215 `acc_property_memory', `acc_property_free_memory',
5216 `acc_property_name', `acc_property_vendor' and
5217 `acc_property_driver' constants. Add `acc_device_property' data
5218 type.
5219 (openacc_internal): Add `acc_get_property' and
5220 `acc_get_property_string' interfaces. Add `acc_get_property_h',
5221 `acc_get_property_string_h', `acc_get_property_l' and
5222 `acc_get_property_string_l'.
5223 * oacc-host.c (host_get_property): New function.
5224 (host_dispatch): Wire it.
5225 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
5226 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
5227 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
5228 * libgomp.texi (OpenACC Runtime Library Routines): Add
5229 `acc_get_property'.
5230 (acc_get_property): New node.
5231 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
5232 function (stub).
5233 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
5234 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
5235 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
5236 calls.
5237 (GOMP_OFFLOAD_get_property): New function.
5238 (struct ptx_device): Add new field "name".
5239 (cuda_driver_version_s): Add new static variable ...
5240 (nvptx_init): ... and init from here.
5241
5242 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
5243 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
5244 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
5245 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
5246 with test helper functions.
5247
5248 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
5249
c8e759b4
MR
52502019-12-22 Maciej W. Rozycki <macro@wdc.com>
5251
5252 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
5253 variable.
5254
b092fb3b
TS
52552019-12-21 Thomas Schwinge <thomas@codesourcery.com>
5256
5257 * target.c (gomp_map_vars_internal): Restore 'omp declare target
5258 link' handling.
5259
9be3ac5d
JB
52602019-12-19 Julian Brown <julian@codesourcery.com>
5261
5262 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
5263 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
5264 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
5265
02817027
JB
52662019-12-19 Julian Brown <julian@codesourcery.com>
5267 Cesar Philippidis <cesar@codesourcery.com>
5268
5269 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
5270 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
5271 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
5272 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
5273 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
5274 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
5275 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
5276 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
5277 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
5278 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
5279 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
5280 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
5281 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
5282
c2eb021f
JB
52832019-12-19 Julian Brown <julian@codesourcery.com>
5284
5285 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
5286 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
5287 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
5288 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
5289 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
5290 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
5291 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
5292 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
5293 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
5294 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
5295 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
5296 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
5297
8e7e71ff
JB
52982019-12-19 Julian Brown <julian@codesourcery.com>
5299
5300 * libgomp.h (struct target_var_desc): Add do_detach flag.
5301 * oacc-init.c (acc_shutdown_1): Free aux block if present.
5302 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
5303 struct components. Tidy up and add some new checks.
5304 (goacc_enter_data_internal): Update call to find_group_last.
5305 (goacc_exit_data_internal): Support detach operations and
5306 GOMP_MAP_STRUCT.
5307 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
5308 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
5309 attach/detach in enter/exit data detection code.
5310 * target.c (gomp_map_vars_existing): Initialise do_detach field of
5311 tgt_var_desc.
5312 (gomp_map_vars_internal): Support attach.
5313 (gomp_unmap_vars_internal): Support detach.
5314
5d5be7bf
JB
53152019-12-19 Julian Brown <julian@codesourcery.com>
5316 Thomas Schwinge <thomas@codesourcery.com>
5317
5318 * libgomp.h (struct splay_tree_aux): Add attach_count field.
5319 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
5320 * libgomp.map (OACC_2.6): New section. Add acc_attach,
5321 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
5322 acc_detach_finalize_async.
5323 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
5324 acc_detach, acc_detach_async, acc_detach_finalize,
5325 acc_detach_finalize_async): New functions.
5326 * openacc.h (acc_attach, acc_attach_async, acc_detach,
5327 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
5328 prototypes.
5329 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
5330 (gomp_remove_var_internal): Free attachment counts if present.
5331 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
5332 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
5333
5bcd470b
JB
53342019-12-19 Julian Brown <julian@codesourcery.com>
5335 Cesar Philippidis <cesar@codesourcery.com>
5336
5337 * libgomp.h (gomp_map_val): Add prototype.
5338 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
5339 open-coding device-address calculation.
5340 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
5341 non-present case.
5342
378da98f
JB
53432019-12-19 Julian Brown <julian@codesourcery.com>
5344
5345 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
5346 field for virtual_refcount.
5347 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
5348 (gomp_free_memmap): Remove prototype.
5349 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
5350 instead of calling gomp_free_memmap.
5351 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
5352 dynamic_refcount.
5353 (acc_unmap_data): Open code instead of forcing target_mem_desc's
5354 to_free field to NULL then calling gomp_unmap_vars. Handle
5355 REFCOUNT_INFINITY on target blocks.
5356 (goacc_enter_data): Rename to...
5357 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
5358 handling for mapping groups. Use virtual_refcount instead of
5359 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
5360 map_map_vars_async call. Re-do lookup for target pointer return value.
5361 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
5362 renamed goacc_enter_datum function.
5363 (goacc_exit_data): Rename to...
5364 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
5365 (acc_delete, acc_delete_async, acc_delete_finalize,
5366 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
5367 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
5368 goacc_exit_datum function.
5369 (gomp_acc_remove_pointer, find_pointer): Remove functions.
5370 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
5371 New functions.
5372 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
5373 goacc_exit_data_internal helper functions.
5374 * target.c (gomp_map_vars_internal): Handle
5375 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
5376 semantics.
5377 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
5378 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
5379 virtual_refcount field instead of dynamic_refcount.
5380 (gomp_free_memmap): Remove function.
5381 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
5382 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
5383 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
5384
2a656a93
JB
53852019-12-19 Julian Brown <julian@codesourcery.com>
5386 Thomas Schwinge <thomas@codesourcery.com>
5387
5388 * libgomp.h (struct splay_tree_aux): New.
5389 (struct splay_tree_key_s): Replace link_key field with aux pointer.
5390 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
5391 to aux struct.
5392 (gomp_remove_var_internal): Free aux block if present.
5393 (gomp_load_image_to_device): Zero-initialise aux field instead of
5394 link_key field.
5395 (omp_target_associate_pointer): Zero-initialise aux field.
5396
601399c0
JJ
53972019-12-18 Jakub Jelinek <jakub@redhat.com>
5398
5399 PR middle-end/86416
5400 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
5401 q or none.
5402 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
5403 L or none.
5404
a6163563
JB
54052019-12-19 Julian Brown <julian@codesourcery.com>
5406 Maciej W. Rozycki <macro@codesourcery.com>
5407 Tobias Burnus <tobias@codesourcery.com>
5408 Thomas Schwinge <thomas@codesourcery.com>
5409
5410 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
5411 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
5412 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
5413 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
5414 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
5415 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
5416 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
5417 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
5418 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
5419
6278b549
TS
54202019-12-18 Thomas Schwinge <thomas@codesourcery.com>
5421
77ce5555
TS
5422 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
5423 called...
5424 (goacc_insert_pointer): ... from here, "present" case.
5425 (goacc_insert_pointer): Inline function into...
5426 (GOACC_enter_exit_data): ... here, and simplify.
5427
9444a299
TS
5428 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
5429 called...
5430 (goacc_insert_pointer): ... from here, "not present" case.
5431
5031b619
TS
5432 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
5433 all users.
5434
1a79b578
TS
5435 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
5436 'goacc_enter_data', 'goacc_exit_data'.
5437
34cfe31e
TS
5438 * oacc-mem.c (delete_copyout): Refactor into...
5439 (goacc_exit_data): ... this. Adjust all users.
5440
aaf0e9d7
TS
5441 * oacc-mem.c (present_create_copy): Refactor into...
5442 (goacc_enter_data): ... this. Adjust all users.
5443
83d1d065
TS
5444 * target.c (gomp_unmap_vars_internal): Add a safeguard to
5445 'gomp_remove_var'.
5446
cc3f11f5
TS
5447 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
5448 like 'GOMP_MAP_FROM'.
5449
ddb25eb9
TS
5450 PR libgomp/92726
5451 PR libgomp/92970
5452 PR libgomp/92984
5453 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
5454 fails.
5455 (GOACC_enter_exit_data): Simplify accordingly.
5456 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
5457 subsuming...
5458 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
5459 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
5460 file.
5461 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
5462 subsuming...
5463 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
5464 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
5465 file.
5466 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
5467 subsuming...
5468 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
5469
32128577
TS
5470 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
5471 'finalize' handling.
5472
ba40277f
TS
5473 PR libgomp/92848
5474 * oacc-mem.c (acc_map_data, present_create_copy)
5475 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
5476 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
5477 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
5478 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
5479 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
5480 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
5481 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
5482 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5483 Remove "XFAIL"s.
5484
6278b549
TS
5485 * target.c (gomp_unmap_tgt): Make it 'static'.
5486 * libgomp.h (gomp_unmap_tgt): Remove.
5487
c80c9e26
TB
54882019-12-18 Tobias Burnus <tobias@codesourcery.com>
5489
5490 PR middle-end/86416
5491 * testsuite/libgomp.c/pr86416-1.c: New.
5492 * testsuite/libgomp.c/pr86416-2.c: New.
5493
0b8499a4
TB
54942019-12-17 Tobias Burnus <tobias@codesourcery.com>
5495
5496 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
5497 all symbols as public except for the 'use …, only' imported symbol,
5498 which is private.
5499 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
5500 all symbols from module openacc_kinds as PUBLIC
5501 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
5502 fix comment typo.
5503 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
5504
1cbd94e8
JB
55052019-12-13 Julian Brown <julian@codesourcery.com>
5506
5507 PR libgomp/92881
5508
5509 * libgomp.h (gomp_remove_var_async): Add prototype.
5510 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
5511 gomp_remove_var.
5512 * target.c (gomp_unref_tgt): Change return type to bool, indicating
5513 whether target_mem_desc was unmapped.
5514 (gomp_unref_tgt_void): New.
5515 (gomp_remove_var): Reimplement in terms of...
5516 (gomp_remove_var_internal): ...this new helper function.
5517 (gomp_remove_var_async): New, implemented using above helper function.
5518 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
5519 gomp_unref_tgt.
5520
26b74ed0
AS
55212019-12-13 Andrew Stubbs <ams@codesourcery.com>
5522
5523 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
5524 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
5525 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
5526 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
5527 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
5528 Likewise.
5529 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
5530 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
5531
7858bb96
TB
55322019-12-13 Tobias Burnus <tobias@codesourcery.com>
5533
5534 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
5535 as public except for the 'use …, only' imported symbol, which is
5536 private.
5537 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
5538 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
5539 attributes for acc_copyout_finalize and acc_delete_finalize.
5540
f8ac7d8f
JJ
55412019-12-11 Jakub Jelinek <jakub@redhat.com>
5542
5543 PR fortran/92899
5544 * testsuite/libgomp.fortran/atomic1.f90: New test.
5545
3d1b5e71
TS
55462019-12-11 Thomas Schwinge <thomas@codesourcery.com>
5547
d6e8c01c
TS
5548 PR libgomp/92843
5549 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
5550 reference counting for structured 'REFCOUNT_INFINITY'. Add some
5551 assertions.
5552 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
5553 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
5554 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
5555 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5556 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5557
57963e39
TS
5558 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
5559 * oacc-mem.c: ... here.
5560 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
5561 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
5562 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
5563 Remove.
5564 * libgomp_g.h: Update.
5565
c5578b56
TS
5566 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
5567 * oacc-async.c: ... here.
5568 * oacc-int.h (goacc_wait): Declare.
5569 * libgomp_g.h: Update
5570
3d1b5e71
TS
5571 PR libgomp/92854
5572 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
5573 New file.
5574 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
5575 Likewise.
5576 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
5577 Likewise.
5578 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
5579 Likewise.
5580 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
5581 Likewise.
5582 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
5583 Likewise.
5584
5e939438
TS
55852019-12-11 Thomas Schwinge <thomas@codesourcery.com>
5586 Julian Brown <julian@codesourcery.com>
5587
5588 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
5589 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
5590
93d90219
TB
55912019-12-11 Tobias Burnus <tobias@codesourcery.com>
5592
5593 * omp_lib.h.in: Fix spelling of function declaration
5594 omp_get_cancell(l)ation.
5595 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
5596 Fix typos.
5597 * env.c: Fix comment typos.
5598 * oacc-host.c: Likewise.
5599 * ordered.c: Likewise.
5600 * task.c: Likewise.
5601 * team.c: Likewise.
5602 * config/gcn/task.c: Likewise.
5603 * config/gcn/team.c: Likewise.
5604 * config/nvptx/task.c: Likewise.
5605 * config/nvptx/team.c: Likewise.
5606 * plugin/plugin-gcn.c: Likewise.
5607 * testsuite/libgomp.fortran/jacobi.f: Likewise.
5608 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5609 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
5610
a0221aee
TB
56112019-12-11 Tobias Burnus <tobias@codesourcery.com>
5612
5613 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
5614 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
5615 unnecessary 'dg-additional-options "-w"'.
5616
47afc7b4
TS
56172019-12-09 Thomas Schwinge <thomas@codesourcery.com>
5618 Julian Brown <julian@codesourcery.com>
5619
5620 PR libgomp/92116
5621 PR libgomp/92877
5622
5623 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
5624 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
5625 Adjust all users.
5626 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5627 Remove XFAIL.
5628 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5629 Likewise.
5630 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
5631
b5859e40
TS
56322019-12-09 Thomas Schwinge <thomas@codesourcery.com>
5633
cec41816
TS
5634 PR libgomp/92503
5635 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
5636 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
5637 file.
5638 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
5639 Likewise.
5640 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
5641 Likewise.
5642 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
5643 Likewise.
5644 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5645 Likewise.
5646 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5647 Likewise.
5648 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5649 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5650 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5651 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5652 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5653 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5654 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5655 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5656 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
5657 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5658
e103542b
TS
5659 PR libgomp/92840
5660 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
5661 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
5662 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
5663 New file.
5664 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
5665 Likewise.
5666 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
5667 Likewise.
5668 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5669 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
5670
41f36f22
TS
5671 PR libgomp/92511
5672 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
5673 this file...
5674 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
5675 this file...
5676 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
5677 file...
5678 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
5679 file...
5680 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5681 ... with their content moved into, and extended in this new file.
5682 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
5683 New file.
5684 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
5685 Likewise.
5686 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
5687 Likewise.
5688 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
5689 Likewise.
5690
6effebe1
TS
5691 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
5692
7d020473
TS
5693 PR libgomp/92854
5694 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
5695
1e1fb715
TS
5696 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
5697
b5859e40
TS
5698 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
5699
11586ed9
TB
57002019-12-09 Tobias Burnus <tobias@codesourcery.com>
5701
5702 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
5703 unique.
5704 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
5705 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5706 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
5707 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
5708 Ditto.
5709 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
5710 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
5711
3ad4a03a
KCY
57122019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
5713
5714 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
5715
6e4d01d6
TB
57162019-12-06 Tobias Burnus <tobias@codesourcery.com>
5717 Kwok Cheung Yeung <kcy@codesourcery.com>
5718
5719 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
5720 if input it a NULL pointer.
5721 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
5722 diagnostic of NULL pointer.
5723 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
5724 * testsuite/libgomp.fortran/optional-map.f90: New.
5725 * testsuite/libgomp.fortran/use_device_addr-1.f90
5726 (test_dummy_opt_callee_1_absent): New.
5727 (test_dummy_opt_call_1): Call it.
5728 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5729 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
5730 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5731 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
5732 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
5733 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
5734 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
5735 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
5736 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
5737 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
5738 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
5739 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
5740 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
5741 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
5742 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
5743 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
5744
ad80ec46
TB
57452019-12-05 Tobias Burnus <tobias@codesourcery.com>
5746
5747 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
5748 expect dg-output of 'Error termination.' for GCN.
5749 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5750 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5751
a8a5f4cc
JJ
57522019-12-04 Jakub Jelinek <jakub@redhat.com>
5753
5754 PR fortran/92756
5755 * testsuite/libgomp.fortran/teams1.f90: New test.
5756 * testsuite/libgomp.fortran/teams2.f90: New test.
5757
d8f0024b
FH
57582019-12-03 Frederik Harwath <frederik@codesourcery.com>
5759
5760 * oacc-init.c (acc_known_device_type): Add function.
5761 (unknown_device_type_error): Add function.
5762 (name_of_acc_device_t): Change to call unknown_device_type_error
5763 on unknown type.
5764 (resolve_device): Use acc_known_device_type.
5765 (acc_init): Fail if acc_device_t argument is not valid.
5766 (acc_shutdown): Likewise.
5767 (acc_get_num_devices): Likewise.
5768 (acc_set_device_type): Likewise.
5769 (acc_get_device_num): Likewise.
5770 (acc_set_device_num): Likewise.
5771 (acc_on_device): Add comment that argument validity is not checked.
5772
83caa34e
AS
57732019-12-03 Andrew Stubbs <ams@codesourcery.com>
5774
5775 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5776 Recognize amdgcn.
5777 (check_effective_target_openacc_amdgcn_accel_present): New proc.
5778 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
5779 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
5780 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5781 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5782
00484365
SN
57832019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
5784
5785 PR libgomp/91938
5786 * configure.tgt: Avoid IE tls on *-*-musl*.
5787
9909a059
TB
57882019-11-29 Tobias Burnus <tobias@codesourcery.com>
5789
5790 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5791 adding a common-block test case.
5792
b3f44388
JJ
57932019-11-29 Jakub Jelinek <jakub@redhat.com>
5794
5795 PR c++/60228
5796 * testsuite/libgomp.c++/udr-20.C: New test.
5797 * testsuite/libgomp.c++/udr-21.C: New test.
5798
b1a73b48
TS
57992019-11-27 Thomas Schwinge <thomas@codesourcery.com>
5800
5801 * testsuite/lib/libgomp.exp
5802 (check_effective_target_offload_target_nvptx): New proc.
5803 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
5804 'dg-skip-if'.
5805 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
5806 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
5807 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
5808
b8e72446
RO
58092019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5810
5811 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
5812 * testsuite/libgomp.c/pr39591-2.c: Likewise.
5813 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5814 * testsuite/libgomp.c/private-1.c: Likewise.
5815 * testsuite/libgomp.c/task-1.c: Likewise.
5816 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
5817
d88b27da
JB
58182019-11-20 Julian Brown <julian@codesourcery.com>
5819
5820 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
5821 aq->mutex here.
5822 (queue_push_launch): Lock aq->mutex before calling
5823 wait_for_queue_nonfull.
5824 (queue_push_callback): Likewise.
5825 (queue_push_asyncwait): Likewise.
5826 (queue_push_placeholder): Likewise.
5827
8d2f4ddf
JB
58282019-11-20 Julian Brown <julian@codesourcery.com>
5829
5830 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
5831 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5832 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
5833 return code.
5834
e307b05f
JB
58352019-11-20 Julian Brown <julian@codesourcery.com>
5836
5837 PR libgomp/92511
5838
5839 * oacc-mem.c (present_create_copy): Fix device pointer return value in
5840 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
5841 in non-present/create case.
5842 (delete_copyout): Change error condition to fail only on copies outside
5843 of mapped block. Adjust error message accordingly.
5844 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5845 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5846 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5847 message.
5848 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5849 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5850 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5851
83115e9e
MR
58522019-11-20 Maciej W. Rozycki <macro@wdc.com>
5853
5854 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5855 libatomic in build-tree testing.
5856
a1289887
MR
58572019-11-18 Maciej W. Rozycki <macro@wdc.com>
5858
5859 * testsuite/Makefile.in: Regenerate.
5860
8916ba87
AS
58612019-11-15 Andrew Stubbs <ams@codesourcery.com>
5862
5863 * testsuite/libgomp.c/target-print-1.c: New file.
5864 * testsuite/libgomp.fortran/target-print-1.f90: New file.
5865 * testsuite/libgomp.oacc-c/print-1.c: New file.
5866 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5867
237957cc
AS
58682019-11-13 Andrew Stubbs <ams@codesourcery.com>
5869 Kwok Cheung Yeung <kcy@codesourcery.com>
5870 Julian Brown <julian@codesourcery.com>
5871 Tom de Vries <tom@codesourcery.com>
5872
5873 * plugin/Makefrag.am: Add amdgcn plugin support.
5874 * plugin/configfrag.ac: Likewise.
5875 * plugin/plugin-gcn.c: New file.
5876 * configure: Regenerate.
5877 * Makefile.in: Regenerate.
5878 * testsuite/Makefile.in: Regenerate.
5879
cee16451
AS
58802019-11-13 Andrew Stubbs <ams@codesourcery.com>
5881
5882 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5883 and use team_malloc variants.
5884 (gomp_gcn_exit_kernel): Use team_free.
5885 * libgomp.h (TEAM_ARENA_SIZE): Define.
5886 (TEAM_ARENA_START): Define.
5887 (TEAM_ARENA_FREE): Define.
5888 (TEAM_ARENA_END): Define.
5889 (team_malloc): New function.
5890 (team_malloc_cleared): New function.
5891 (team_free): New function.
5892 * team.c (gomp_new_team): Initialize and use team_malloc.
5893 (free_team): Use team_free.
5894 (gomp_free_thread): Use team_free.
5895 (gomp_pause_host): Use team_free.
5896 * work.c (gomp_init_work_share): Use team_malloc.
5897 (gomp_fini_work_share): Use team_free.
5898
fa499995
AS
58992019-11-13 Andrew Stubbs <ams@codesourcery.com>
5900 Kwok Cheung Yeung <kcy@codesourcery.com>
5901 Julian Brown <julian@codesourcery.com>
5902 Tom de Vries <tom@codesourcery.com>
5903
5904 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5905 * Makefile.in: Regenerate.
5906 * config.h.in (PLUGIN_GCN): Add new undef.
5907 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
5908 * config/gcn/affinity-fmt.c: New file.
5909 * config/gcn/bar.c: New file.
5910 * config/gcn/bar.h: New file.
5911 * config/gcn/doacross.h: New file.
5912 * config/gcn/icv-device.c: New file.
5913 * config/gcn/oacc-target.c: New file.
5914 * config/gcn/simple-bar.h: New file.
5915 * config/gcn/target.c: New file.
5916 * config/gcn/task.c: New file.
5917 * config/gcn/team.c: New file.
5918 * config/gcn/time.c: New file.
5919 * configure.ac: Add amdgcn*-*-*.
5920 * configure: Regenerate.
5921 * configure.tgt: Add amdgcn*-*-*.
5922 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5923 * libgomp.h (gcn_thrs): Add amdgcn variant.
5924 (set_gcn_thrs): Likewise.
5925 (gomp_thread): Likewise.
5926 * oacc-int.h (goacc_thread): Likewise.
5927 * oacc-target.c: New file.
5928 * openacc.f90 (acc_device_gcn): New parameter.
5929 * openacc.h (acc_device_t): Add acc_device_gcn.
5930 * team.c (gomp_free_pool_helper): Add amdgcn support.
5931
d2903ce0
AS
59322019-11-13 Andrew Stubbs <ams@codesourcery.com>
5933 Julian Brown <julian@codesourcery.com>
5934
5935 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5936 parameter.
5937 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5938 queue constructor.
5939 * oacc-host.c (host_openacc_async_construct): Add device parameter.
5940 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5941 device parameter.
5942
b3d14b3a
AS
59432019-11-13 Andrew Stubbs <ams@codesourcery.com>
5944
5945 * configure.tgt (nvptx*-*-*): Add "accel" directory.
5946 * config/nvptx/libgomp-plugin.c: Move ...
5947 * config/accel/libgomp-plugin.c: ... to here.
5948 * config/nvptx/lock.c: Move ...
5949 * config/accel/lock.c: ... to here.
5950 * config/nvptx/mutex.c: Move ...
5951 * config/accel/mutex.c: ... to here.
5952 * config/nvptx/mutex.h: Move ...
5953 * config/accel/mutex.h: ... to here.
5954 * config/nvptx/oacc-async.c: Move ...
5955 * config/accel/oacc-async.c: ... to here.
5956 * config/nvptx/oacc-cuda.c: Move ...
5957 * config/accel/oacc-cuda.c: ... to here.
5958 * config/nvptx/oacc-host.c: Move ...
5959 * config/accel/oacc-host.c: ... to here.
5960 * config/nvptx/oacc-init.c: Move ...
5961 * config/accel/oacc-init.c: ... to here.
5962 * config/nvptx/oacc-mem.c: Move ...
5963 * config/accel/oacc-mem.c: ... to here.
5964 * config/nvptx/oacc-plugin.c: Move ...
5965 * config/accel/oacc-plugin.c: ... to here.
5966 * config/nvptx/omp-lock.h: Move ...
5967 * config/accel/omp-lock.h: ... to here.
5968 * config/nvptx/openacc.f90: Move ...
5969 * config/accel/openacc.f90: ... to here.
5970 * config/nvptx/pool.h: Move ...
5971 * config/accel/pool.h: ... to here.
5972 * config/nvptx/proc.c: Move ...
5973 * config/accel/proc.c: ... to here.
5974 * config/nvptx/ptrlock.c: Move ...
5975 * config/accel/ptrlock.c: ... to here.
5976 * config/nvptx/ptrlock.h: Move ...
5977 * config/accel/ptrlock.h: ... to here.
5978 * config/nvptx/sem.c: Move ...
5979 * config/accel/sem.c: ... to here.
5980 * config/nvptx/sem.h: Move ...
5981 * config/accel/sem.h: ... to here.
5982 * config/nvptx/thread-stacksize.h: Move ...
5983 * config/accel/thread-stacksize.h: ... to here.
5984
62aee289
MR
59852019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
5986 Tobias Burnus <tobias@codesourcery.com>
5987 Frederik Harwath <frederik@codesourcery.com>
5988 Thomas Schwinge <thomas@codesourcery.com>
5989
5990 libgomp/
5991 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
5992 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
5993 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
5994
a2c26c50
TB
59952019-11-11 Tobias Burnus <tobias@codesourcery.com>
5996 Kwok Cheung Yeung <kcy@codesourcery.com>
5997
5998 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5999 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
6000
6d4868f3
TS
60012019-11-11 Thomas Schwinge <thomas@codesourcery.com>
6002
bfa1837b
TS
6003 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
6004
6d4868f3
TS
6005 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
6006 run'.
6007 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
6008 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
6009
5d183d17
FH
60102019-11-06 Thomas Schwinge <thomas@codesourcery.com>
6011
6012 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
6013 Add expected warnings about missing reduction clauses.
6014 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
6015 Likewise.
6016 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
6017 Likewise.
6018 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
6019 Likewise.
6020
d8f03b03
TB
60212019-11-04 Tobias Burnus <tobias@codesourcery.com>
6022
6023 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
6024 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
6025 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
6026 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
6027 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
6028 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
6029
12fd2ec5
TB
60302019-11-04 Tobias Burnus <tobias@codesourcery.com>
6031
6032 PR fortran/92305
6033 * testsuite/libgomp.fortran/allocatable2.f90: Use
6034 unique numbers with 'stop'.
6035 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
6036 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
6037 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
6038 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
6039 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
6040
92e63bd2
TB
60412019-11-01 Tobias Burnus <tobias@codesourcery.com>
6042
6043 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
6044 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
6045 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
6046 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
6047 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
6048 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
6049
91ae0a46
TB
60502019-10-30 Tobias Burnus <tobias@codesourcery.com>
6051
6052 * testsuite/libgomp.fortran/target9.f90: New.
6053
c425e66b
TB
60542019-10-30 Tobias Burnus <tobias@codesourcery.com>
6055
6056 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
6057 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
6058 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
6059 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
6060 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
6061 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
6062 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
6063 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
6064 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
6065 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
6066 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
6067 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
6068 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
6069 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
6070 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
6071 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
6072 * testsuite/libgomp.fortran/associate1.f90: Ditto.
6073 * testsuite/libgomp.fortran/associate2.f90: Ditto.
6074 * testsuite/libgomp.fortran/associate3.f90: Ditto.
6075 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
6076 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
6077 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
6078 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
6079 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
6080 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
6081 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
6082 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
6083 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
6084 * testsuite/libgomp.fortran/character1.f90: Ditto.
6085 * testsuite/libgomp.fortran/character2.f90: Ditto.
6086 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
6087 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
6088 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
6089 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
6090 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
6091 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
6092 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
6093 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
6094 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
6095 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
6096 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
6097 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
6098 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
6099 * testsuite/libgomp.fortran/do1.f90: Ditto.
6100 * testsuite/libgomp.fortran/do2.f90: Ditto.
6101 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
6102 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
6103 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
6104 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
6105 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
6106 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
6107 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
6108 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
6109 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
6110 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
6111 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
6112 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
6113 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
6114 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
6115 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
6116 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
6117 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
6118 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
6119 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
6120 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
6121 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
6122 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
6123 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
6124 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
6125 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
6126 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
6127 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
6128 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
6129 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
6130 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
6131 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
6132 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
6133 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
6134 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
6135 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
6136 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
6137 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
6138 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
6139 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
6140 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
6141 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
6142 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
6143 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
6144 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
6145 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
6146 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
6147 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
6148 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
6149 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
6150 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
6151 * testsuite/libgomp.fortran/lib1.f90: Ditto.
6152 * testsuite/libgomp.fortran/lib4.f90: Ditto.
6153 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
6154 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
6155 * testsuite/libgomp.fortran/nested1.f90: Ditto.
6156 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
6157 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
6158 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
6159 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
6160 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
6161 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
6162 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
6163 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
6164 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
6165 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
6166 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
6167 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
6168 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
6169 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
6170 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
6171 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
6172 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
6173 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
6174 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
6175 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
6176 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
6177 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
6178 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
6179 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
6180 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
6181 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
6182 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
6183 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
6184 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
6185 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
6186 * testsuite/libgomp.fortran/pr28390.f: Ditto.
6187 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
6188 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
6189 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
6190 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
6191 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
6192 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
6193 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
6194 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
6195 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
6196 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
6197 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
6198 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
6199 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
6200 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
6201 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
6202 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
6203 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
6204 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
6205 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
6206 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
6207 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
6208 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
6209 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
6210 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
6211 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
6212 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
6213 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
6214 * testsuite/libgomp.fortran/reference1.f90: Ditto.
6215 * testsuite/libgomp.fortran/reference2.f90: Ditto.
6216 * testsuite/libgomp.fortran/retval1.f90: Ditto.
6217 * testsuite/libgomp.fortran/retval2.f90: Ditto.
6218 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
6219 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
6220 * testsuite/libgomp.fortran/simd1.f90: Ditto.
6221 * testsuite/libgomp.fortran/simd2.f90: Ditto.
6222 * testsuite/libgomp.fortran/simd3.f90: Ditto.
6223 * testsuite/libgomp.fortran/simd4.f90: Ditto.
6224 * testsuite/libgomp.fortran/simd5.f90: Ditto.
6225 * testsuite/libgomp.fortran/simd6.f90: Ditto.
6226 * testsuite/libgomp.fortran/simd7.f90: Ditto.
6227 * testsuite/libgomp.fortran/stack.f90: Ditto.
6228 * testsuite/libgomp.fortran/strassen.f90: Ditto.
6229 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
6230 * testsuite/libgomp.fortran/tabs2.f: Ditto.
6231 * testsuite/libgomp.fortran/target1.f90: Ditto.
6232 * testsuite/libgomp.fortran/target2.f90: Ditto.
6233 * testsuite/libgomp.fortran/target3.f90: Ditto.
6234 * testsuite/libgomp.fortran/target4.f90: Ditto.
6235 * testsuite/libgomp.fortran/target5.f90: Ditto.
6236 * testsuite/libgomp.fortran/target6.f90: Ditto.
6237 * testsuite/libgomp.fortran/target7.f90: Ditto.
6238 * testsuite/libgomp.fortran/target8.f90: Ditto.
6239 * testsuite/libgomp.fortran/task1.f90: Ditto.
6240 * testsuite/libgomp.fortran/task2.f90: Ditto.
6241 * testsuite/libgomp.fortran/task3.f90: Ditto.
6242 * testsuite/libgomp.fortran/task4.f90: Ditto.
6243 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
6244 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
6245 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
6246 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
6247 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
6248 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
6249 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
6250 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
6251 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
6252 * testsuite/libgomp.fortran/udr1.f90: Ditto.
6253 * testsuite/libgomp.fortran/udr10.f90: Ditto.
6254 * testsuite/libgomp.fortran/udr11.f90: Ditto.
6255 * testsuite/libgomp.fortran/udr12.f90: Ditto.
6256 * testsuite/libgomp.fortran/udr13.f90: Ditto.
6257 * testsuite/libgomp.fortran/udr14.f90: Ditto.
6258 * testsuite/libgomp.fortran/udr15.f90: Ditto.
6259 * testsuite/libgomp.fortran/udr2.f90: Ditto.
6260 * testsuite/libgomp.fortran/udr3.f90: Ditto.
6261 * testsuite/libgomp.fortran/udr4.f90: Ditto.
6262 * testsuite/libgomp.fortran/udr5.f90: Ditto.
6263 * testsuite/libgomp.fortran/udr6.f90: Ditto.
6264 * testsuite/libgomp.fortran/udr7.f90: Ditto.
6265 * testsuite/libgomp.fortran/udr8.f90: Ditto.
6266 * testsuite/libgomp.fortran/udr9.f90: Ditto.
6267 * testsuite/libgomp.fortran/vla1.f90: Ditto.
6268 * testsuite/libgomp.fortran/vla2.f90: Ditto.
6269 * testsuite/libgomp.fortran/vla3.f90: Ditto.
6270 * testsuite/libgomp.fortran/vla4.f90: Ditto.
6271 * testsuite/libgomp.fortran/vla5.f90: Ditto.
6272 * testsuite/libgomp.fortran/vla6.f90: Ditto.
6273 * testsuite/libgomp.fortran/vla7.f90: Ditto.
6274 * testsuite/libgomp.fortran/vla8.f90: Ditto.
6275 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
6276 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
6277
01509e2f
TB
62782019-10-30 Tobias Burnus <tobias@codesourcery.com>
6279
6280 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
6281 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
6282 Ditto; add 'dg-do run' for torture testing.
6283 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
6284 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
6285 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
6286 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
6287 * testsuite/libgomp.fortran/pr28390.f: Ditto.
6288 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
6289 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
6290 * testsuite/libgomp.fortran/task2.f90: Ditto.
6291 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
6292 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
6293 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
6294 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
6295 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
6296 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
6297
ffbdd78a
TB
62982019-10-28 Tobias Burnus <tobias@codesourcery.com>
6299
6300 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
6301 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
6302 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
6303 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
6304 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
6305 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
6306 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
6307 Use 'stop' not abort().
6308 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
6309 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
6310 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
6311 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
6312 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
6313 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
6314 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
6315 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
6316 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
6317 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
6318 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
6319 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
6320 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
6321 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
6322 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
6323 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
6324 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
6325 Ditto.
6326 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6327 Ditto.
6328 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6329 Ditto.
6330 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6331 Ditto.
6332 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6333 Ditto.
6334 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
6335 Ditto.
6336 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
6337 Ditto.
6338 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
6339 Ditto.
6340 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
6341 Ditto.
6342 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
6343 Ditto.
6344 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
6345 Ditto.
6346 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
6347 Ditto.
6348 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
6349 Ditto.
6350 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
6351 Ditto.
6352 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
6353 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
6354 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
6355 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
6356 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
6357 Likewise and also add 'dg-do run'.
6358 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
6359 Ditto.
6360
ec084613
CP
63612019-10-25 Cesar Philippidis <cesar@codesourcery.com>
6362 Tobias Burnus <tobias@codesourcery.com>
6363
6364 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
6365 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
6366 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
6367
77ef3394
JJ
63682019-10-14 Jakub Jelinek <jakub@redhat.com>
6369
6370 PR libgomp/92081
6371 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
6372 than 0.
6373
08c14aaa
TB
63742019-10-11 Tobias Burnus <tobias@codesourcery.com>
6375
6376 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
6377 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
6378
6bbead0c
TS
63792019-10-09 Thomas Schwinge <thomas@codesourcery.com>
6380
6381 PR middle-end/92036
6382 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
6383 file.
6384
eba3dee8
TB
63852019-10-09 Tobias Burnus <tobias@codesourcery.com>
6386
6387 PR testsuite/91884
6388 * testsuite/libgomp.fortran/fortran.exp: Conditionally
6389 add -lquadmath.
6390 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
6391
7d48e14f
JJ
63922019-10-09 Jakub Jelinek <jakub@redhat.com>
6393
6394 PR libgomp/92028
6395 * target.c (gomp_map_vars_internal): Readd the previous
6396 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
6397 though do that just in the !not_found_cnt case.
6398
65b67cf3
TB
63992019-10-08 Tobias Burnus <tobias@codesourcery.com>
6400
6401 * gfortran.dg/gomp/target-simd.f90: New.
6402
6c7e076b
JB
64032019-10-02 Julian Brown <julian@codesourcery.com>
6404 Cesar Philippidis <cesar@codesourcery.com>
6405
6406 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
6407 * target.c (FIELD_TGT_EMPTY): Define.
6408 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
6409 as switch instead of list of ifs.
6410 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
6411
d61bff85
AT
64122019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
6413
6414 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
6415 include. Replace alloca () with __builtin_alloca ().
6416 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
6417
810f316d
JJ
64182019-10-01 Jakub Jelinek <jakub@redhat.com>
6419
6420 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
6421 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
6422 * oacc-parallel.c: Don't include "libgomp_g.h".
6423 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
6424 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
6425 * aclocal.m4: Regenerated.
6426 * config.h.in: Regenerated.
6427 * configure: Regenerated.
6428 * Makefile.in: Regenerated.
6429
d7f9ee98
KCY
64302019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
6431
6432 * libgomp_g.h: Include stdint.h instead of gstdint.h.
6433
e9085da5
MR
64342019-09-27 Maciej W. Rozycki <macro@wdc.com>
6435
6436 * configure: Regenerate.
6437
c28712be
TB
64382019-09-13 Tobias Burnus <tobias@codesourcery.com>
6439
6440 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
6441 string is initialized.
6442
3c086f8d
FW
64432019-09-06 Florian Weimer <fweimer@redhat.com>
6444
6445 * configure: Regenerate.
6446
c6c2d1bc
CLT
64472019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
6448
6449 PR other/79543
6450 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
6451 scanning to conform to the GNU Coding Standards.
6452 * configure: Regenerate.
6453
5cb72d83
JJ
64542019-08-28 Jakub Jelinek <jakub@redhat.com>
6455
6456 PR libgomp/91530
6457 * testsuite/libgomp.c/scan-21.c: New test.
6458 * testsuite/libgomp.c/scan-22.c: New test.
6459
0ad7981c
JJ
64602019-08-27 Jakub Jelinek <jakub@redhat.com>
6461
6462 PR libgomp/91530
6463 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
6464 targets.
6465 * testsuite/libgomp.c/scan-12.c: Likewise.
6466 * testsuite/libgomp.c/scan-13.c: Likewise.
6467 * testsuite/libgomp.c/scan-14.c: Likewise.
6468 * testsuite/libgomp.c/scan-15.c: Likewise.
6469 * testsuite/libgomp.c/scan-16.c: Likewise.
6470 * testsuite/libgomp.c/scan-17.c: Likewise.
6471 * testsuite/libgomp.c/scan-18.c: Likewise.
6472 * testsuite/libgomp.c/scan-19.c: Likewise.
6473 * testsuite/libgomp.c/scan-20.c: Likewise.
6474 * testsuite/libgomp.c++/scan-9.C: Likewise.
6475 * testsuite/libgomp.c++/scan-10.C: Likewise.
6476 * testsuite/libgomp.c++/scan-11.C: Likewise.
6477 * testsuite/libgomp.c++/scan-12.C: Likewise.
6478 * testsuite/libgomp.c++/scan-14.C: Likewise.
6479 * testsuite/libgomp.c++/scan-15.C: Likewise.
6480 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
6481 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
6482 * testsuite/libgomp.c++/scan-16.C: Likewise.
6483
1e67491a
TK
64842019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
6485
6486 PR fortran/91473
6487 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
6488 -std=legacy so invalid code in the test case is accepted.
6489
393fdeb1
TK
64902019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
6491
6492 PR fortran/91422
6493 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
6494 dimension.
6495
8860d270
JJ
64962019-08-08 Jakub Jelinek <jakub@redhat.com>
6497
6498 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
6499 perform the lookup in the first loop only if !not_found_cnt, otherwise
6500 perform lookups for it in the second loop guarded with
6501 if (not_found_cnt || has_firstprivate).
6502 * testsuite/libgomp.c/target-37.c: New test.
6503 * testsuite/libgomp.c++/target-22.C: New test.
6504
398e3feb
JJ
65052019-08-07 Jakub Jelinek <jakub@redhat.com>
6506
6507 * testsuite/libgomp.c/target-18.c (struct S): New type.
6508 (foo): Use use_device_addr clause instead of use_device_ptr clause
6509 where required by OpenMP 5.0, add further tests for both use_device_ptr
6510 and use_device_addr clauses.
6511 * testsuite/libgomp.c++/target-9.C (struct S): New type.
6512 (foo): Use use_device_addr clause instead of use_device_ptr clause
6513 where required by OpenMP 5.0, add further tests for both use_device_ptr
6514 and use_device_addr clauses. Add t and u arguments.
6515 (main): Adjust caller.
6516
d81ab49d
JJ
65172019-08-06 Jakub Jelinek <jakub@redhat.com>
6518
6519 * testsuite/libgomp.c++/loop-13.C: New test.
6520 * testsuite/libgomp.c++/loop-14.C: New test.
6521 * testsuite/libgomp.c++/loop-15.C: New test.
6522
c3ac76aa
JJ
65232019-07-31 Jakub Jelinek <jakub@redhat.com>
6524
6525 PR middle-end/91301
6526 * testsuite/libgomp.c++/for-27.C: New test.
6527
8dc63166
SK
65282019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
6529
393fdeb1 6530 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 6531 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 6532
554a530f
JJ
65332019-07-20 Jakub Jelinek <jakub@redhat.com>
6534
6535 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
6536
6cda84b5
JJ
65372019-07-08 Jakub Jelinek <jakub@redhat.com>
6538
6539 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
6540 * testsuite/libgomp.c++/scan-16.C: Likewise.
6541
1f52d1a8
JJ
65422019-07-06 Jakub Jelinek <jakub@redhat.com>
6543
6f67abcd
JJ
6544 * testsuite/libgomp.c/scan-19.c: New test.
6545 * testsuite/libgomp.c/scan-20.c: New test.
6546
1f52d1a8
JJ
6547 * testsuite/libgomp.c/scan-11.c: New test.
6548 * testsuite/libgomp.c/scan-12.c: New test.
6549 * testsuite/libgomp.c/scan-13.c: New test.
6550 * testsuite/libgomp.c/scan-14.c: New test.
6551 * testsuite/libgomp.c/scan-15.c: New test.
6552 * testsuite/libgomp.c/scan-16.c: New test.
6553 * testsuite/libgomp.c/scan-17.c: New test.
6554 * testsuite/libgomp.c/scan-18.c: New test.
6555 * testsuite/libgomp.c++/scan-9.C: New test.
6556 * testsuite/libgomp.c++/scan-10.C: New test.
6557 * testsuite/libgomp.c++/scan-11.C: New test.
6558 * testsuite/libgomp.c++/scan-12.C: New test.
6559 * testsuite/libgomp.c++/scan-13.C: New test.
6560 * testsuite/libgomp.c++/scan-14.C: New test.
6561 * testsuite/libgomp.c++/scan-15.C: New test.
6562 * testsuite/libgomp.c++/scan-16.C: New test.
6563
2f03073f
JJ
65642019-07-04 Jakub Jelinek <jakub@redhat.com>
6565
6566 * testsuite/libgomp.c/scan-9.c: New test.
6567 * testsuite/libgomp.c/scan-10.c: New test.
6568
2f6bb511
JJ
65692019-07-03 Jakub Jelinek <jakub@redhat.com>
6570
6571 * testsuite/libgomp.c++/scan-1.C: New test.
6572 * testsuite/libgomp.c++/scan-2.C: New test.
6573 * testsuite/libgomp.c++/scan-3.C: New test.
6574 * testsuite/libgomp.c++/scan-4.C: New test.
6575 * testsuite/libgomp.c++/scan-5.C: New test.
6576 * testsuite/libgomp.c++/scan-6.C: New test.
6577 * testsuite/libgomp.c++/scan-7.C: New test.
6578 * testsuite/libgomp.c++/scan-8.C: New test.
6579 * testsuite/libgomp.c/scan-1.c: New test.
6580 * testsuite/libgomp.c/scan-2.c: New test.
6581 * testsuite/libgomp.c/scan-3.c: New test.
6582 * testsuite/libgomp.c/scan-4.c: New test.
6583 * testsuite/libgomp.c/scan-5.c: New test.
6584 * testsuite/libgomp.c/scan-6.c: New test.
6585 * testsuite/libgomp.c/scan-7.c: New test.
6586 * testsuite/libgomp.c/scan-8.c: New test.
6587
bd194a51
TS
65882019-06-18 Thomas Schwinge <thomas@codesourcery.com>
6589
85fca03a
TS
6590 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
6591 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
6592 Likewise.
6593
bd194a51
TS
6594 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
6595 check.
6596
6652161e
CP
65972019-06-18 Cesar Philippidis <cesar@codesourcery.com>
6598
6599 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
6600 file.
6601
3a37d6f6
TS
66022019-06-18 Thomas Schwinge <thomas@codesourcery.com>
6603
4017da8d
TS
6604 PR fortran/90743
6605 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
6606 case.
6607 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
6608 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
6609 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
6610 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
6611
6f7c1f65
TS
6612 PR testsuite/90861
6613 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
6614
3a37d6f6
TS
6615 PR middle-end/90862
6616 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
6617
f45ce17d
TV
66182019-06-16 Tom de Vries <tdevries@suse.de>
6619
6620 PR tree-optimization/89376
6621 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
6622
00908992
TV
66232019-06-15 Tom de Vries <tdevries@suse.de>
6624
6625 PR tree-optimization/89713
6626 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
6627 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
6628
211b7533
JJ
66292019-06-15 Jakub Jelinek <jakub@redhat.com>
6630
6631 PR middle-end/90779
6632 * testsuite/libgomp.c/pr90779.c: New test.
6633 * testsuite/libgomp.fortran/pr90779.f90: New test.
6634
120a01d1
TV
66352019-06-15 Tom de Vries <tdevries@suse.de>
6636
6637 PR tree-optimization/90009
6638 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
6639
c29c92c7
FX
66402019-06-13 Feng Xue <fxue@os.amperecomputing.com>
6641
6642 PR tree-optimization/89713
6643 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
6644
ce9c4ec3
JJ
66452019-06-11 Jakub Jelinek <jakub@redhat.com>
6646
6647 PR target/90811
6648 * testsuite/libgomp.c/pr90811.c: New test.
6649
28b3a77c
JJ
66502019-06-05 Jakub Jelinek <jakub@redhat.com>
6651
6652 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
6653 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
6654
7855700e
JJ
66552019-06-04 Jakub Jelinek <jakub@redhat.com>
6656
6657 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
6658 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
6659 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
6660 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
6661
a7155c2e
RO
66622019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6663
6664 * configure.ac: Call AX_COUNT_CPUS.
6665 Substitute CPU_COUNT.
6666 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
6667 count fallback.
6668 * aclocal.m4: Regenerate.
6669 * configure: Regenerate.
6670 * Makefile.in, testsuite/Makefile.in: Regenerate.
6671
7e47198b
JJ
66722019-05-29 Jakub Jelinek <jakub@redhat.com>
6673
6674 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
6675 to ...
6676 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
6677 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
6678 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
6679
fcfb8032
JJ
66802019-05-27 Jakub Jelinek <jakub@redhat.com>
6681
8e7757ba
JJ
6682 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
6683
36c7a3ff
JJ
6684 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
6685
fcfb8032
JJ
6686 PR libgomp/90641
6687 * work.c (gomp_init_work_share): Instead of aligning final ordered
6688 value to multiples of long long alignment, align to that the
6689 first part (ordered team ids) and if inline_ordered_team_ids
6690 is not on a long long alignment boundary within the structure,
6691 use __alignof__ (long long) - 1 pad size always.
6692 * loop.c (GOMP_loop_start): Fix *mem computation if
6693 inline_ordered_team_ids is not aligned on long long alignment boundary
6694 within the structure.
6695 * loop-ull.c (GOMP_loop_ull_start): Likewise.
6696 * sections.c (GOMP_sections2_start): Likewise.
6697
b5c26449
JJ
66982019-05-24 Jakub Jelinek <jakub@redhat.com>
6699
6c7ae8c5
JJ
6700 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
6701 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
6702
b5c26449
JJ
6703 PR libgomp/90585
6704 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
6705 HAVE_INTTYPES_H is defined.
6706 (print_uint64_t): New typedef.
6707 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
6708 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
6709 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
6710 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
6711 before casting to void *.
6712 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
6713 * oacc-mem.c: Don't include config.h nor stdint.h.
6714 * target.c: Don't include config.h.
6715 * oacc-cuda.c: Likewise.
6716 * oacc-host.c: Don't include stdint.h.
6717
3e03ed66
JJ
67182019-05-20 Jakub Jelinek <jakub@redhat.com>
6719
6720 PR libgomp/90527
6721 * alloc.c (_GNU_SOURCE): Define.
6722
5fae049d
TS
67232019-05-17 Thomas Schwinge <thomas@codesourcery.com>
6724
6725 * acc_prof.h: New file.
6726 * oacc-profiling.c: Likewise.
6727 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6728 Add these, respectively.
6729 * Makefile.in: Regenerate.
6730 * env.c (initialize_env): Call goacc_profiling_initialize.
6731 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
6732 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
6733 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
6734 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
6735 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
6736 acc_prof_register, acc_prof_unregister, and acc_register_library.
6737 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
6738 GOMP_PLUGIN_goacc_thread.
6739 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
6740 prof_callbacks_enabled members.
6741 (goacc_prof_enabled, goacc_profiling_initialize)
6742 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
6743 (goacc_profiling_dispatch): Declare.
6744 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
6745 (GOACC_PROFILING_SETUP_P): Define.
6746 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
6747 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
6748 OpenACC Profiling Interface.
6749 * oacc-cuda.c (acc_get_current_cuda_device)
6750 (acc_get_current_cuda_context, acc_get_cuda_stream)
6751 (acc_set_cuda_stream): Likewise.
6752 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
6753 (acc_init, acc_set_device_type, acc_get_device_type)
6754 (acc_get_device_num, goacc_lazy_initialize): Likewise.
6755 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
6756 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
6757 (acc_unmap_data, present_create_copy, delete_copyout)
6758 (update_dev_host): Likewise.
6759 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
6760 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
6761 Likewise.
6762 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6763 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6764 Likewise.
6765 * libgomp.texi: Update.
6766 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
6767 file.
6768 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
6769 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6770 Likewise.
6771 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6772 Likewise.
6773 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6774 Likewise.
6775 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6776 Likewise.
6777
1f4c5b9b
CLT
67782019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
6779
6780 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
6781 (struct goacc_asyncqueue_list): Likewise.
6782 (goacc_aq): Likewise.
6783 (goacc_aq_list): Likewise.
6784 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6785 (GOMP_OFFLOAD_openacc_async_test): Remove.
6786 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6787 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6788 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6789 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6790 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6791 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6792 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
6793 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
6794 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
6795 (GOMP_OFFLOAD_openacc_async_exec): Declare.
6796 (GOMP_OFFLOAD_openacc_async_construct): Declare.
6797 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
6798 (GOMP_OFFLOAD_openacc_async_test): Declare.
6799 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
6800 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
6801 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
6802 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
6803 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
6804
6805 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
6806 (gomp_acc_insert_pointer): Adjust declaration.
6807 (gomp_copy_host2dev): New declaration.
6808 (gomp_copy_dev2host): Likewise.
6809 (gomp_map_vars_async): Likewise.
6810 (gomp_unmap_tgt): Likewise.
6811 (gomp_unmap_vars_async): Likewise.
6812 (gomp_fini_device): Likewise.
6813
6814 * oacc-async.c (get_goacc_thread): New function.
6815 (get_goacc_thread_device): New function.
6816 (lookup_goacc_asyncqueue): New function.
6817 (get_goacc_asyncqueue): New function.
6818 (acc_async_test): Adjust code to use new async design.
6819 (acc_async_test_all): Likewise.
6820 (acc_wait): Likewise.
6821 (acc_wait_async): Likewise.
6822 (acc_wait_all): Likewise.
6823 (acc_wait_all_async): Likewise.
6824 (goacc_async_free): New function.
6825 (goacc_init_asyncqueues): Likewise.
6826 (goacc_fini_asyncqueues): Likewise.
6827 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
6828 design.
6829 (acc_set_cuda_stream): Likewise.
6830 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
6831 (host_openacc_register_async_cleanup): Remove.
6832 (host_openacc_async_exec): New function.
6833 (host_openacc_async_test): Adjust parameters.
6834 (host_openacc_async_test_all): Remove.
6835 (host_openacc_async_wait): Remove.
6836 (host_openacc_async_wait_async): Remove.
6837 (host_openacc_async_wait_all): Remove.
6838 (host_openacc_async_wait_all_async): Remove.
6839 (host_openacc_async_set_async): Remove.
6840 (host_openacc_async_synchronize): New function.
6841 (host_openacc_async_serialize): New function.
6842 (host_openacc_async_host2dev): New function.
6843 (host_openacc_async_dev2host): New function.
6844 (host_openacc_async_queue_callback): New function.
6845 (host_openacc_async_construct): New function.
6846 (host_openacc_async_destruct): New function.
6847 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 6848 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
6849 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6850 (goacc_attach_host_thread_to_device): Remove old async code usage.
6851 * oacc-int.h (goacc_init_asyncqueues): New declaration.
6852 (goacc_fini_asyncqueues): Likewise.
6853 (goacc_async_copyout_unmap_vars): Likewise.
6854 (goacc_async_free): Likewise.
6855 (get_goacc_asyncqueue): Likewise.
6856 (lookup_goacc_asyncqueue): Likewise.
6857 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6858 design.
6859 (present_create_copy): Adjust code to use new async design.
6860 (delete_copyout): Likewise.
6861 (update_dev_host): Likewise.
6862 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6863 async design.
6864 (gomp_acc_remove_pointer): Adjust code to use new async design.
6865 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6866 design.
6867 (GOACC_enter_exit_data): Likewise.
6868 (goacc_wait): Likewise.
6869 (GOACC_update): Likewise.
6870 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6871 when called, warn as obsolete in comment.
6872 * target.c (goacc_device_copy_async): New function.
6873 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6874 add goacc_device_copy_async case.
6875 (gomp_copy_dev2host): Likewise.
6876 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6877 (gomp_map_pointer): Likewise.
6878 (gomp_map_fields_existing): Likewise.
6879 (gomp_map_vars_internal): New always_inline function, renamed from
6880 gomp_map_vars.
6881 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
6882 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6883 passing goacc_asyncqueue argument.
6884 (gomp_unmap_tgt): Remove static, add attribute_hidden.
6885 (gomp_unref_tgt): New function.
6886 (gomp_unmap_vars_internal): New always_inline function, renamed from
6887 gomp_unmap_vars.
6888 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6889 (gomp_unmap_vars_async): Implement by calling
6890 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6891 (gomp_fini_device): New function.
6892 (gomp_exit_data): Adjust gomp_copy_dev2host call.
6893 (gomp_load_plugin_for_device): Remove old interface, adjust to load
6894 new async interface.
6895 (gomp_target_fini): Adjust code to call gomp_fini_device.
6896
6897 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
6898 (struct ptx_stream): Remove.
6899 (struct nvptx_thread): Remove current_stream field.
6900 (cuda_map_create): Remove.
6901 (cuda_map_destroy): Remove.
6902 (map_init): Remove.
6903 (map_fini): Remove.
6904 (map_pop): Remove.
6905 (map_push): Remove.
6906 (struct goacc_asyncqueue): Define.
6907 (struct nvptx_callback): Define.
6908 (struct ptx_free_block): Define.
6909 (struct ptx_device): Remove null_stream, active_streams, async_streams,
6910 stream_lock, and next fields.
6911 (enum ptx_event_type): Remove.
6912 (struct ptx_event): Remove.
6913 (ptx_event_lock): Remove.
6914 (ptx_events): Remove.
6915 (init_streams_for_device): Remove.
6916 (fini_streams_for_device): Remove.
6917 (select_stream_for_async): Remove.
6918 (nvptx_init): Remove ptx_events and ptx_event_lock references.
6919 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6920 case.
6921 (nvptx_open_device): Add free_blocks initialization, remove
6922 init_streams_for_device call.
6923 (nvptx_close_device): Remove fini_streams_for_device call, add
6924 free_blocks destruct code.
6925 (event_gc): Remove.
6926 (event_add): Remove.
6927 (nvptx_exec): Adjust parameters and code.
6928 (nvptx_free): Likewise.
6929 (nvptx_host2dev): Remove.
6930 (nvptx_dev2host): Remove.
6931 (nvptx_set_async): Remove.
6932 (nvptx_async_test): Remove.
6933 (nvptx_async_test_all): Remove.
6934 (nvptx_wait): Remove.
6935 (nvptx_wait_async): Remove.
6936 (nvptx_wait_all): Remove.
6937 (nvptx_wait_all_async): Remove.
6938 (nvptx_get_cuda_stream): Remove.
6939 (nvptx_set_cuda_stream): Remove.
6940 (GOMP_OFFLOAD_alloc): Adjust code.
6941 (GOMP_OFFLOAD_free): Likewise.
6942 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6943 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6944 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6945 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6946 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6947 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6948 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6949 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6950 (cuda_free_argmem): New function.
6951 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6952 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6953 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6954 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6955 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6956 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6957 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
6958 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
6959 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
6960 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
6961 (cuda_callback_wrapper): New function.
6962 (cuda_memcpy_sanity_check): New function.
6963 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
6964 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
6965 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
6966 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
6967
da2d30c1
TS
69682019-05-07 Thomas Schwinge <thomas@codesourcery.com>
6969
6970 PR target/87835
6971 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6972
2bbbfa4e
TS
69732019-05-06 Thomas Schwinge <thomas@codesourcery.com>
6974
6975 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6976
bbf1efe1
KB
69772019-03-27 Kevin Buettner <kevinb@redhat.com>
6978
6979 * team.c (gomp_team_start): Initialize pool->threads[0].
6980
1241136c
TS
69812019-02-22 Thomas Schwinge <thomas@codesourcery.com>
6982
b03d721a
TS
6983 * testsuite/libgomp.oacc-c++/c++.exp: Specify
6984 "-foffload=$offload_target".
6985 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6986 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6987 * testsuite/lib/libgomp.exp
6988 (check_effective_target_openacc_nvidia_accel_configured): Remove,
6989 as (conceptually) merged into
6990 check_effective_target_openacc_nvidia_accel_selected. Adjust all
6991 users.
6992
0a0384b4
TS
6993 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
6994 * testsuite/libgomp-test-support.exp.in: Adjust.
6995 * testsuite/lib/libgomp.exp: Likewise. Don't populate
6996 openacc_device_types_s.
6997 (offload_target_to_openacc_device_type): New proc.
6998 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
6999 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7000 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7001 * Makefile.in: Regenerate.
7002 * configure: Likewise.
7003 * testsuite/Makefile.in: Likewise.
7004
ee332b4a
TS
7005 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
7006 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
7007 instead of OFFLOAD_TARGETS.
7008 * target.c (gomp_target_init): Adjust.
7009 * testsuite/libgomp-test-support.exp.in: Likewise.
7010 * testsuite/lib/libgomp.exp: Likewise. Populate
7011 openacc_device_types_s instead of offload_targets_s_openacc.
7012 (check_effective_target_openacc_nvidia_accel_selected)
7013 (check_effective_target_openacc_host_selected): Adjust.
7014 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
7015 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7016 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7017 * Makefile.in: Regenerate.
7018 * config.h.in: Likewise.
7019 * configure: Likewise.
7020 * testsuite/Makefile.in: Likewise.
7021
1241136c
TS
7022 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
7023 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
7024 "offloading: supported, but hardware not accessible".
7025 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7026 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7027
19695f4d
CLT
70282019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
7029
7030 PR c/87924
7031 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
7032 goacc_wait().
7033 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
7034 and related adjustment.
7035
8b44f8ec
JJ
70362019-01-30 Jakub Jelinek <jakub@redhat.com>
7037
7038 PR c++/88988
7039 * testsuite/libgomp.c++/pr88988.C: New test.
7040
be3a87e7
JJ
70412019-01-28 Jakub Jelinek <jakub@redhat.com>
7042
7043 PR middle-end/89002
7044 * testsuite/libgomp.c/pr89002.c: New test.
7045
497ef4d7
RB
70462019-01-28 Richard Biener <rguenther@suse.de>
7047
7048 PR testsuite/89064
7049 PR tree-optimization/86865
7050 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
7051
738c56d4
TV
70522019-01-24 Tom de Vries <tdevries@suse.de>
7053
7054 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
7055 once instantiated_devices drops to 0.
7056
4a75460b
TV
70572019-01-23 Tom de Vries <tdevries@suse.de>
7058
7059 PR target/PR88946
7060 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
7061 cuMemFree.
7062 (nvptx_exec): Don't call map_push if mapnum == 0.
7063 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
7064
4fef8e4d
TV
70652019-01-23 Tom de Vries <tdevries@suse.de>
7066
7067 PR target/88941
7068 PR target/88939
7069 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
7070 (map_fini): Remove "assert (!s->map->active)".
7071 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
7072
2ee6cb22
TV
70732019-01-23 Tom de Vries <tdevries@suse.de>
7074
7075 PR target/87835
7076 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
7077 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
7078
d41d952c
TV
70792019-01-15 Tom de Vries <tdevries@suse.de>
7080
7081 PR target/80547
7082 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
7083 New test.
7084
efb56ae8
TV
70852019-01-12 Tom de Vries <tdevries@suse.de>
7086
7087 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
7088 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
7089 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
7090 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
7091
2c2ff168
TV
70922019-01-12 Tom de Vries <tdevries@suse.de>
7093
7094 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
7095
a1057758
TV
70962019-01-12 Tom de Vries <tdevries@suse.de>
7097
7098 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
7099 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
7100 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
7101
56314b77
TV
71022019-01-12 Tom de Vries <tdevries@suse.de>
7103
7104 PR target/85486
7105 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
7106 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
7107
b39e4366
TV
71082019-01-12 Tom de Vries <tdevries@suse.de>
7109
7110 PR target/85381
7111 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
7112 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
7113
2cb7a501
TV
71142019-01-12 Tom de Vries <tdevries@suse.de>
7115
7116 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
7117 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
7118 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
7119
8e77f71e
TV
71202019-01-12 Tom de Vries <tdevries@suse.de>
7121
7122 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
7123 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
7124 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
7125
52d22ece
TV
71262019-01-12 Tom de Vries <tdevries@suse.de>
7127
7128 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
7129 resources diagnostic.
7130
2b9d9e39
TV
71312019-01-12 Tom de Vries <tdevries@suse.de>
7132
7133 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
7134 vector length to be 128.
7135 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
7136 length 2097152 to be reduced to 1024 instead of 32.
7137
4102bda6
TS
71382019-01-11 Thomas Schwinge <thomas@codesourcery.com>
7139 James Norris <jnorris@codesourcery.com>
7140
7141 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
7142 Library Routines", and "Environment Variables".
7143
052aaace
TV
71442019-01-11 Tom de Vries <tdevries@suse.de>
7145
7146 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
7147 num_workers 16.
7148
9390f916
TV
71492019-01-11 Tom de Vries <tdevries@suse.de>
7150
7151 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
7152 -foffload=-w.
7153 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
7154 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
7155 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
7156 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
7157
2c3e7ad2
TV
71582019-01-11 Tom de Vries <tdevries@suse.de>
7159
7160 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
7161 test.
7162
e222497d
NS
71632019-01-10 Nathan Sidwell <nathan@acm.org>
7164 Julian Brown <julian@codesourcery.com>
7165
7166 PR lto/71959
7167 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
7168 * testsuite/libgomp.oacc-c++/pr71959.C: New.
7169
cb87fec3
SH
71702019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
7171
7172 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
7173 and paste code.
7174
30b4d0d0
SH
71752019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
7176
7177 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
7178 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
7179 write.
7180
5d0bc70a
TV
71812019-01-09 Tom de Vries <tdevries@suse.de>
7182
7183 PR target/88756
7184 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
7185 #define instead of "const int".
7186 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
7187 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
7188 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
7189 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
7190
2c372e81
TV
71912019-01-09 Tom de Vries <tdevries@suse.de>
7192
7193 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
7194 one worker.
7195
43493c97
TV
71962019-01-07 Tom de Vries <tdevries@suse.de>
7197
7198 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
7199 GOMP_OPENACC_DIM argument.
7200
5c571497
TV
72012019-01-03 Tom de Vries <tdevries@suse.de>
7202
7203 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
7204 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
7205
a5544970
JJ
72062019-01-01 Jakub Jelinek <jakub@redhat.com>
7207
7208 Update copyright years.
7209
3f27508c
JJ
72102019-01-01 Jakub Jelinek <jakub@redhat.com>
7211
7212 * libgomp.texi: Bump @copying's copyright year.
7213
59d5960c
TS
72142018-12-28 Thomas Schwinge <thomas@codesourcery.com>
7215
7216 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
7217 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
7218 (GOACC_declare): Redefine the "device" argument to "flags".
7219
a44c1790
TS
72202018-12-28 Thomas Schwinge <thomas@codesourcery.com>
7221 Cesar Philippidis <cesar@codesourcery.com>
7222
7223 * target.c (struct gomp_coalesce_chunk): New structure.
7224 (struct gomp_coalesce_buf): Update the chunks member to use that
7225 type. Adjust all users.
7226
a152954e
TV
72272018-12-19 Tom de Vries <tdevries@suse.de>
7228
7229 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
7230 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
7231 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
7232
49188cd1
TV
72332018-12-19 Tom de Vries <tdevries@suse.de>
7234
7235 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
7236 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
7237 gcc/testsuite/gcc.dg/goacc.
7238 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
7239
c759830b
TS
72402018-12-14 Thomas Schwinge <thomas@codesourcery.com>
7241 Chung-Lin Tang <cltang@codesourcery.com>
7242
7243 * oacc-mem.c (acc_present_or_create): Remove definition and change
7244 to alias of acc_create.
7245 (acc_present_or_copyin): Remove definition and change to alias of
7246 acc_copyin.
7247 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
7248 of acc_present_or_create.
7249 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
7250 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7251 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7252 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7253 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7254 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7255 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7256 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7257 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7258 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7259 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7260 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7261 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7262 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7263 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7264 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7265
7de562ee
TS
72662018-12-14 Thomas Schwinge <thomas@codesourcery.com>
7267
f847198e
TS
7268 PR libgomp/88495
7269 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
7270 "identical parameters".
7271 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
7272 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
7273
c8ab8aab
TS
7274 PR libgomp/88484
7275 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
7276 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
7277
1404af62
TS
7278 PR libgomp/88407
7279 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
7280 (nvptx_wait_async): Unseen async-argument is a no-op.
7281 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
7282 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
7283 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7284 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
7285 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7286 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
7287 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
7288 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
7289 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
7290
7de562ee
TS
7291 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
7292 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7293
17469af7
CLT
72942018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
7295
7296 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
7297 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7298 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7299
18c247cc
TS
73002018-12-14 Thomas Schwinge <thomas@codesourcery.com>
7301
7302 PR libgomp/88370
7303 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
7304 (acc_set_cuda_stream): Clarify.
7305 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7306 "async_valid_p".
7307 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
7308 acc_async_sync".
7309 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
7310 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
7311 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
7312 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
7313
b0aba46c
TV
73142018-12-14 Tom de Vries <tdevries@suse.de>
7315
7316 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
7317 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
7318 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
7319 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
7320 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
7321
fe0827ee
TV
73222018-12-13 Tom de Vries <tdevries@suse.de>
7323
7324 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
7325 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
7326 * fortran.c (omp_display_affinity_): ... here.
7327 * libgomp.h (gomp_print_string): Declare.
7328 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
7329 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
7330 write.
7331
a51f8c92
JJ
73322018-12-13 Jakub Jelinek <jakub@redhat.com>
7333
7334 PR libgomp/88460
7335 * testsuite/libgomp.c++/for-24.C (results): Include it in
7336 omp declare target region.
7337 (main): Use map (always, tofrom: results) instead of
7338 map (tofrom: results).
7339
a6ef2ac9
JJ
73402018-12-12 Jakub Jelinek <jakub@redhat.com>
7341
7a289b7d
JJ
7342 PR fortran/88463
7343 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
7344 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
7345
a6ef2ac9
JJ
7346 * testsuite/libgomp.c-c++-common/for-16.c: New test.
7347
9c47a019
AS
73482018-12-12 Andreas Schwab <schwab@suse.de>
7349
7350 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
7351 clobbered.
7352
d0cbb206
TK
73532018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
7354
7355 PR fortran/88411
7356 * testsuite/libgomp.fortran/async_io_8.f90: New test.
7357
84ca08d2
TS
73582018-12-09 Thomas Schwinge <thomas@codesourcery.com>
7359 Jakub Jelinek <jakub@redhat.com>
7360
7361 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
7362 devicep->host2dev_func.
7363
6997628d
JJ
73642018-12-08 Jakub Jelinek <jakub@redhat.com>
7365
7366 PR libgomp/87995
7367 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
7368 tls_runtime effective target.
7369 (t): New threadprivate variable.
7370 (main): Set t in threads which execute iterations of the worksharing
7371 loop. Propagate that to the task after the loop and don't abort
7372 if the current taskgroup hasn't been cancelled.
7373
daa8c1d7
JJ
73742018-12-02 Jakub Jelinek <jakub@redhat.com>
7375
4a82df9a
JJ
7376 * testsuite/libgomp.c/task-reduction-3.c: New test.
7377
daa8c1d7
JJ
7378 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
7379
fe570ff8
CP
73802018-11-30 Cesar Philippidis <cesar@codesourcery.com>
7381
7382 PR libgomp/88288
7383 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
7384 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
7385
c223608f
TS
73862018-11-30 Thomas Schwinge <thomas@codesourcery.com>
7387
7388 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
7389
fc60283c
RB
73902018-10-19 Richard Biener <rguenther@suse.de>
7391
7392 PR tree-optimization/88182
7393 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
7394
ffcf3b79
JJ
73952018-11-26 Jakub Jelinek <jakub@redhat.com>
7396
7397 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
7398 (RUNTEST): Don't define.
7399 (RUNTESTDEFAULTFLAGS): Add.
7400 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
7401 (distclean-am): Depend on distclean-DEJAGNU.
7402 (check-am): If -j% option is present in MFLAGS and if
7403 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
7404 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
7405 * testsuite/Makefile.in: Regenerated.
7406
ef6e6914
RB
74072018-11-26 Richard Biener <rguenther@suse.de>
7408
7409 PR tree-optimization/88182
7410 * testsuite/libgomp.c++/pr88182.C: New testcase.
7411
72d3bb76
JJ
74122018-11-20 Jakub Jelinek <jakub@redhat.com>
7413
7414 PR bootstrap/88106
7415 * config/mingw32/affinity-fmt.c: New file.
7416
207286c3
JJ
74172018-11-09 Jakub Jelinek <jakub@redhat.com>
7418
9666c522
JJ
7419 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
7420 (gomp_display_affinity): Use __builtin_choose_expr to handle
7421 properly handle argument having integral, or pointer or some other
7422 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
7423 with uint64_t type instead of %llx and unsigned long long.
7424
207286c3
JJ
7425 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
7426 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
7427
2033f45b
RO
74282018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7429
7430 * affinity.c: Include <string.h>, <stdio.h>.
7431 (gomp_display_affinity_place): Remove cpusetp.
7432 * teams.c: Include <limits.h>.
7433
28567c40
JJ
74342018-11-08 Jakub Jelinek <jakub@redhat.com>
7435
8991d779
JJ
7436 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
7437 in_reduction clause for s[0].
7438
28567c40
JJ
7439 * affinity.c (gomp_display_affinity_place): New function.
7440 * affinity-fmt.c: New file.
7441 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
7442 * config/linux/affinity.c (gomp_display_affinity_place): New function.
7443 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
7444 Move these functions to ...
7445 * config/nvptx/teams.c: ... here. New file.
7446 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
7447 New functions.
7448 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
7449 functions.
7450 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
7451 and _aligned_malloc.
7452 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
7453 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
7454 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
7455 gomp_affinity_format_len): New variables.
7456 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
7457 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
7458 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
7459 modifiers. Display (non-default) chunk sizes. Print
7460 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
7461 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
7462 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
7463 * fortran.c: Include stdio.h and string.h.
7464 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
7465 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
7466 (omp_set_affinity_format_, omp_get_affinity_format_,
7467 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
7468 omp_pause_resource_all_): New functions.
7469 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
7470 switch.
7471 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
7472 functions to ...
7473 * teams.c: ... here. New file.
7474 * libgomp_g.h: Include gstdint.h.
7475 (GOMP_loop_nonmonotonic_runtime_start,
7476 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
7477 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
7478 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
7479 GOMP_parallel_loop_nonmonotonic_runtime,
7480 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
7481 GOMP_loop_ull_nonmonotonic_runtime_start,
7482 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
7483 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
7484 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
7485 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
7486 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
7487 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7488 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
7489 GOMP_teams_reg): Declare.
7490 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
7491 gomp_aligned_alloc uses fallback implementation.
7492 (gomp_aligned_alloc, gomp_aligned_free): Declare.
7493 (enum gomp_schedule_type): Add GFS_MONOTONIC.
7494 (struct gomp_doacross_work_share): Add extra field.
7495 (struct gomp_work_share): Add task_reductions field.
7496 (struct gomp_taskgroup): Add workshare and reductions fields.
7497 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
7498 (gomp_thread_handle): New typedef.
7499 (gomp_display_affinity_place, gomp_set_affinity_format,
7500 gomp_display_string, gomp_display_affinity,
7501 gomp_display_affinity_thread): Declare.
7502 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
7503 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
7504 gomp_workshare_task_reduction_register): Declare.
7505 (gomp_team_start): Add taskgroup argument.
7506 (gomp_pause_host): Declare.
7507 (gomp_init_work_share, gomp_work_share_start): Change bool argument
7508 to size_t.
7509 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
7510 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
7511 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
7512 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
7513 GOMP_loop_ull_doacross_start,
7514 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
7515 GOMP_loop_maybe_nonmonotonic_runtime_next,
7516 GOMP_loop_maybe_nonmonotonic_runtime_start,
7517 GOMP_loop_nonmonotonic_runtime_next,
7518 GOMP_loop_nonmonotonic_runtime_start,
7519 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
7520 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
7521 GOMP_loop_ull_nonmonotonic_runtime_next,
7522 GOMP_loop_ull_nonmonotonic_runtime_start,
7523 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
7524 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
7525 GOMP_taskgroup_reduction_register,
7526 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7527 GOMP_teams_reg and GOMP_taskwait_depend.
7528 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
7529 omp_{capture,display}_affinity{,_}, and
7530 omp_[gs]et_affinity_format{,_}.
7531 * loop.c: Include string.h.
7532 (GOMP_loop_runtime_next): Add ialias.
7533 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7534 (gomp_loop_static_start, gomp_loop_dynamic_start,
7535 gomp_loop_guided_start, gomp_loop_ordered_static_start,
7536 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
7537 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7538 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
7539 or gomp_doacross_init callers.
7540 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
7541 GOMP_loop_doacross_start): New functions.
7542 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
7543 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
7544 Mask off GFS_MONOTONIC bit.
7545 (GOMP_loop_maybe_nonmonotonic_runtime_next,
7546 GOMP_loop_maybe_nonmonotonic_runtime_start,
7547 GOMP_loop_nonmonotonic_runtime_next,
7548 GOMP_loop_nonmonotonic_runtime_start,
7549 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
7550 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
7551 functions.
7552 (gomp_parallel_loop_start): Pass NULL as taskgroup to
7553 gomp_team_start.
7554 * loop_ull.c: Include string.h.
7555 (GOMP_loop_ull_runtime_next): Add ialias.
7556 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7557 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
7558 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
7559 gomp_loop_ull_ordered_dynamic_start,
7560 gomp_loop_ull_ordered_guided_start,
7561 gomp_loop_ull_doacross_static_start,
7562 gomp_loop_ull_doacross_dynamic_start,
7563 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
7564 and gomp_doacross_ull_init callers.
7565 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
7566 GOMP_loop_ull_doacross_start): New functions.
7567 (GOMP_loop_ull_runtime_start,
7568 GOMP_loop_ull_ordered_runtime_start,
7569 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
7570 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
7571 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
7572 GOMP_loop_ull_nonmonotonic_runtime_next,
7573 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
7574 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
7575 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
7576 (omp_pause_resource_t, omp_depend_t): New typedefs.
7577 (enum omp_lock_hint_t): Renamed to ...
7578 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
7579 enumerators using numbers and omp_lock_hint_* as their aliases.
7580 (omp_lock_hint_t): New typedef. Rename to ...
7581 (omp_sync_hint_t): ... this.
7582 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
7583 omp_sync_hint_t instead of omp_lock_hint_t.
7584 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7585 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7586 Declare.
7587 (omp_target_is_present, omp_target_disassociate_ptr):
7588 Change first argument from void * to const void *.
7589 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
7590 from void * to const void *.
7591 (omp_target_associate_ptr): Change first and second arguments from
7592 void * to const void *.
7593 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
7594 omp_pause_hard): New parameters.
7595 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7596 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7597 New interfaces.
7598 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
7599 omp_pause_hard): New parameters.
7600 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7601 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7602 New externals.
7603 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
7604 EXTRA argument. If not needed to prepare array, if extra is 0,
7605 clear ws->doacross, otherwise allocate just doacross structure and
7606 extra payload. If array is needed, allocate also extra payload.
7607 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
7608 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
7609 doacross == NULL.
7610 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
7611 gomp_team_start.
7612 (GOMP_parallel): Likewise. Formatting fix.
7613 (GOMP_parallel_reductions): New function.
7614 (GOMP_cancellation_point): If taskgroup has workshare
7615 flag set, check cancelled of prev taskgroup if any.
7616 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
7617 on prev taskgroup if any.
7618 * sections.c: Include string.h.
7619 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7620 (GOMP_sections_start): Adjust gomp_work_share_start caller.
7621 (GOMP_sections2_start): New function.
7622 (GOMP_parallel_sections_start, GOMP_parallel_sections):
7623 Pass NULL as taskgroup to gomp_team_start.
7624 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
7625 gomp_work_share_start callers.
7626 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
7627 If taskgroup has workshare flag set, check cancelled on prev
7628 taskgroup if any. Guard all cancellation tests with
7629 gomp_cancel_var test.
7630 (omp_target_is_present, omp_target_disassociate_ptr):
7631 Change ptr argument from void * to const void *.
7632 (omp_target_memcpy): Change src argument from void * to const void *.
7633 (omp_target_memcpy_rect): Likewise.
7634 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
7635 instead of char * where needed.
7636 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
7637 from void * to const void *.
7638 (omp_pause_resource, omp_pause_resource_all): New functions.
7639 * task.c (gomp_task_handle_depend): Handle new depend array format
7640 in addition to the old. Handle mutexinoutset kinds the same as
7641 inout for now, handle unspecified kinds.
7642 (gomp_create_target_task): If taskgroup has workshare flag set, check
7643 cancelled on prev taskgroup if any. Guard all cancellation tests with
7644 gomp_cancel_var test. Handle new depend array format count in
7645 addition to the old.
7646 (GOMP_task): Likewise. Adjust function comment.
7647 (gomp_task_run_pre): If taskgroup has workshare flag set, check
7648 cancelled on prev taskgroup if any. Guard all cancellation tests with
7649 gomp_cancel_var test.
7650 (GOMP_taskwait_depend): New function.
7651 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
7652 format in addition to the old. Handle mutexinoutset kinds the same as
7653 inout for now, handle unspecified kinds. Fix a function comment typo.
7654 (gomp_taskgroup_init): New function.
7655 (GOMP_taskgroup_start): Use it.
7656 (gomp_reduction_register, gomp_create_artificial_team,
7657 GOMP_taskgroup_reduction_register,
7658 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7659 gomp_parallel_reduction_register,
7660 gomp_workshare_task_reduction_register,
7661 gomp_workshare_taskgroup_start,
7662 GOMP_workshare_task_reduction_unregister): New functions.
7663 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
7664 check cancelled on prev taskgroup if any. Guard all cancellation
7665 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
7666 by calling GOMP_taskgroup_reduction_register.
7667 * team.c (gomp_thread_attr): Remove comment.
7668 (struct gomp_thread_start_data): Add handle field.
7669 (gomp_thread_start): Call pthread_detach.
7670 (gomp_new_team): Adjust gomp_init_work_share caller.
7671 (gomp_free_pool_helper): Call pthread_detach.
7672 (gomp_team_start): Add taskgroup argument, initialize implicit
7673 tasks' taskgroup field to that. Don't call
7674 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
7675 (gomp_team_end): Determine nesting by thr->ts.level != 0
7676 rather than thr->ts.team != NULL.
7677 (gomp_pause_pool_helper, gomp_pause_host): New functions.
7678 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
7679 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
7680 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
7681 if more than 1 allocate also extra payload at the end of array. Never
7682 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
7683 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
7684 return true instead of ws.
7685 * Makefile.in: Regenerated.
7686 * configure: Regenerated.
7687 * config.h.in: Regenerated.
7688 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
7689 in some cases.
7690 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
7691 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
7692 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
7693 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
7694 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
7695 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
7696 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
7697 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
7698 * testsuite/libgomp.c-c++-common/for-10.c: New test.
7699 * testsuite/libgomp.c-c++-common/for-11.c: New test.
7700 * testsuite/libgomp.c-c++-common/for-12.c: New test.
7701 * testsuite/libgomp.c-c++-common/for-13.c: New test.
7702 * testsuite/libgomp.c-c++-common/for-14.c: New test.
7703 * testsuite/libgomp.c-c++-common/for-15.c: New test.
7704 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
7705 define a different N(test), don't define N(f0) to N(f14), but instead
7706 define N(f20) to N(f34) using != comparisons.
7707 * testsuite/libgomp.c-c++-common/for-7.c: New test.
7708 * testsuite/libgomp.c-c++-common/for-8.c: New test.
7709 * testsuite/libgomp.c-c++-common/for-9.c: New test.
7710 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
7711 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
7712 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
7713 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
7714 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
7715 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
7716 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
7717 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
7718 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
7719 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
7720 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
7721 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
7722 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
7723 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
7724 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
7725 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
7726 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
7727 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
7728 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
7729 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
7730 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
7731 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
7732 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
7733 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
7734 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
7735 * testsuite/libgomp.c++/depend-1.C: New test.
7736 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
7737 * testsuite/libgomp.c++/depobj-1.C: New test.
7738 * testsuite/libgomp.c++/for-16.C: New test.
7739 * testsuite/libgomp.c++/for-21.C: New test.
7740 * testsuite/libgomp.c++/for-22.C: New test.
7741 * testsuite/libgomp.c++/for-23.C: New test.
7742 * testsuite/libgomp.c++/for-24.C: New test.
7743 * testsuite/libgomp.c++/for-25.C: New test.
7744 * testsuite/libgomp.c++/for-26.C: New test.
7745 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
7746 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
7747 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
7748 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
7749 * testsuite/libgomp.c++/task-reduction-10.C: New test.
7750 * testsuite/libgomp.c++/task-reduction-11.C: New test.
7751 * testsuite/libgomp.c++/task-reduction-12.C: New test.
7752 * testsuite/libgomp.c++/task-reduction-13.C: New test.
7753 * testsuite/libgomp.c++/task-reduction-14.C: New test.
7754 * testsuite/libgomp.c++/task-reduction-15.C: New test.
7755 * testsuite/libgomp.c++/task-reduction-16.C: New test.
7756 * testsuite/libgomp.c++/task-reduction-17.C: New test.
7757 * testsuite/libgomp.c++/task-reduction-18.C: New test.
7758 * testsuite/libgomp.c++/task-reduction-19.C: New test.
7759 * testsuite/libgomp.c/task-reduction-1.c: New test.
7760 * testsuite/libgomp.c++/task-reduction-1.C: New test.
7761 * testsuite/libgomp.c/task-reduction-2.c: New test.
7762 * testsuite/libgomp.c++/task-reduction-2.C: New test.
7763 * testsuite/libgomp.c++/task-reduction-3.C: New test.
7764 * testsuite/libgomp.c++/task-reduction-4.C: New test.
7765 * testsuite/libgomp.c++/task-reduction-5.C: New test.
7766 * testsuite/libgomp.c++/task-reduction-6.C: New test.
7767 * testsuite/libgomp.c++/task-reduction-7.C: New test.
7768 * testsuite/libgomp.c++/task-reduction-8.C: New test.
7769 * testsuite/libgomp.c++/task-reduction-9.C: New test.
7770 * testsuite/libgomp.c/teams-1.c: New test.
7771 * testsuite/libgomp.c/teams-2.c: New test.
7772 * testsuite/libgomp.c/thread-limit-4.c: New test.
7773 * testsuite/libgomp.c/thread-limit-5.c: New test.
7774 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
7775
58168bbf
CLT
77762018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
7777
7778 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
7779 acc_memcpy_to/from_device functions, now with async parameter.
7780 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
7781 (acc_memcpy_from_device): Likewise.
7782 (acc_memcpy_to_device_async): New API function.
7783 (acc_memcpy_from_device_async): Likewise.
7784 (present_create_copy): Add async parameter and async setting/unsetting.
7785 (acc_create): Adjust present_create_copy call.
7786 (acc_copyin): Likewise.
7787 (acc_present_or_create): Likewise.
7788 (acc_present_or_copyin): Likewise.
7789 (acc_create_async): New API function.
7790 (acc_copyin_async): New API function.
7791 (delete_copyout): Add async parameter and async setting/unsetting.
7792 (acc_delete): Adjust delete_copyout call.
7793 (acc_copyout): Likewise.
7794 (acc_delete_async): New API function.
7795 (acc_copyout_async): Likewise.
7796 (update_dev_host): Add async parameter and async setting/unsetting.
7797 (acc_update_device): Adjust update_dev_host call.
7798 (acc_update_self): Likewise.
7799 (acc_update_device_async): New API function.
7800 (acc_update_self_async): Likewise.
7801 * openacc.h (acc_copyin_async): Declare new API function.
7802 (acc_create_async): Likewise.
7803 (acc_copyout_async): Likewise.
7804 (acc_delete_async): Likewise.
7805 (acc_update_device_async): Likewise.
7806 (acc_update_self_async): Likewise.
7807 (acc_memcpy_to_device_async): Likewise.
7808 (acc_memcpy_from_device_async): Likewise.
7809 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
7810 (acc_copyin_async_64_h): New subroutine.
7811 (acc_copyin_async_array_h): New subroutine.
7812 (acc_create_async_32_h): New subroutine.
7813 (acc_create_async_64_h): New subroutine.
7814 (acc_create_async_array_h): New subroutine.
7815 (acc_copyout_async_32_h): New subroutine.
7816 (acc_copyout_async_64_h): New subroutine.
7817 (acc_copyout_async_array_h): New subroutine.
7818 (acc_delete_async_32_h): New subroutine.
7819 (acc_delete_async_64_h): New subroutine.
7820 (acc_delete_async_array_h): New subroutine.
7821 (acc_update_device_async_32_h): New subroutine.
7822 (acc_update_device_async_64_h): New subroutine.
7823 (acc_update_device_async_array_h): New subroutine.
7824 (acc_update_self_async_32_h): New subroutine.
7825 (acc_update_self_async_64_h): New subroutine.
7826 (acc_update_self_async_array_h): New subroutine.
7827 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
7828 (acc_copyin_async_64_h): New subroutine.
7829 (acc_copyin_async_array_h): New subroutine.
7830 (acc_create_async_32_h): New subroutine.
7831 (acc_create_async_64_h): New subroutine.
7832 (acc_create_async_array_h): New subroutine.
7833 (acc_copyout_async_32_h): New subroutine.
7834 (acc_copyout_async_64_h): New subroutine.
7835 (acc_copyout_async_array_h): New subroutine.
7836 (acc_delete_async_32_h): New subroutine.
7837 (acc_delete_async_64_h): New subroutine.
7838 (acc_delete_async_array_h): New subroutine.
7839 (acc_update_device_async_32_h): New subroutine.
7840 (acc_update_device_async_64_h): New subroutine.
7841 (acc_update_device_async_array_h): New subroutine.
7842 (acc_update_self_async_32_h): New subroutine.
7843 (acc_update_self_async_64_h): New subroutine.
7844 (acc_update_self_async_array_h): New subroutine.
7845 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7846 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7847 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7848 acc_memcpy_to_device_async*, acc_update_device_async*, and
7849 acc_update_self_async* entries.
7850 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7851 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7852 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7853
22e05272
JM
78542018-10-31 Joseph Myers <joseph@codesourcery.com>
7855
7856 PR bootstrap/82856
7857 * Makefile.am: Include multilib.am
7858 (AUTOMAKE_OPTIONS): Add info-in-builddir.
7859 (CLEANFILES): Remove libgomp.info.
7860 * configure.ac: Remove AC_PREREQ.
7861 * testsuite/Makefile.am (RUNTEST): Remove quotes.
7862 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7863 Regenerate.
7864
87a5ccfb
JM
78652018-10-29 Joseph Myers <joseph@codesourcery.com>
7866 Julian Brown <julian@codesourcery.com>
7867
7868 * testsuite/libgomp.oacc-c++/this.C: New.
7869
2049befd
CP
78702018-09-18 Cesar Philippidis <cesar@codesourcery.com>
7871
7872 * plugin/plugin-nvptx.c (struct cuda_map): New.
7873 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7874 h_tail with (cuda_map *) map.
7875 (cuda_map_create): New function.
7876 (cuda_map_destroy): New function.
7877 (map_init): Update to use a linked list of cuda_map objects.
7878 (map_fini): Likewise.
7879 (map_pop): Likewise.
7880 (map_push): Likewise. Return CUdeviceptr instead of void.
7881 (init_streams_for_device): Remove stales references to ptx_stream
7882 members.
7883 (select_stream_for_async): Likewise.
7884 (nvptx_exec): Update call to map_init.
7885
8e36332c
CP
78862018-09-09 Cesar Philippidis <cesar@codesourcery.com>
7887 Julian Brown <julian@codesourcery.com>
7888
7889 PR middle-end/86336
7890 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7891
2b4c9065
NK
78922018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
7893 Thomas Koenig <tkoenig@gcc.gnu.org>
7894
7895 PR fortran/25829
7896 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7897 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7898 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7899 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7900 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7901 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7902 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7903
bd9b3d3d
CP
79042018-08-13 Cesar Philippidis <cesar@codesourcery.com>
7905 Tom de Vries <tdevries@suse.de>
7906
7907 PR target/85590
7908 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7909 (cuOccupancyMaxPotentialBlockSize): Declare.
7910 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7911 CUDA_ONE_CALL_MAYBE_NULL.
7912 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7913 CUoccupancyB2DSize and declare
7914 cuOccupancyMaxPotentialBlockSize.
7915 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7916 default num_gangs and num_workers when the driver supports it.
7917
8e09a12f
TV
79182018-08-08 Tom de Vries <tdevries@suse.de>
7919
7920 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7921 CUDA_ONE_CALL_MAYBE_NULL.
7922 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7923 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7924 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7925 are not found.
7926
cedd9bd0
TV
79272018-08-08 Tom de Vries <tdevries@suse.de>
7928
7929 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7930 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7931 present.
7932
b113af95
TV
79332018-08-08 Tom de Vries <tdevries@suse.de>
7934
7935 * plugin/plugin-nvptx.c
7936 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7937 (nvptx_open_device): Use
7938 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7939
94767dac
TV
79402018-08-08 Tom de Vries <tdevries@suse.de>
7941
7942 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7943 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
7944
02150de8
TV
79452018-08-07 Tom de Vries <tdevries@suse.de>
7946
7947 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7948 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7949 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
7950 corresponding call in CUDA_ONE_CALL. Add def/undef of
7951 CUDA_ONE_CALL_MAYBE_NULL.
7952 (CUDA_CALL_EXISTS): Define.
7953
9e28b107
TV
79542018-08-07 Tom de Vries <tdevries@suse.de>
7955
7956 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7957 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
7958 corresponding undefs right after.
7959
09940090
TV
79602018-08-04 Tom de Vries <tdevries@suse.de>
7961
7962 * plugin/configfrag.ac: For --without-cuda-driver, set
7963 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
7964 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
7965 * configure: Regenerate.
7966
77e0a97a
TV
79672018-08-02 Tom de Vries <tdevries@suse.de>
7968
7969 PR target/86660
7970 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
7971 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
7972 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7973 Same.
7974 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
7975 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
7976 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
7977
701d080a
CP
79782018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7979 Thomas Schwinge <thomas@codesourcery.com>
7980
7981 * config/nvptx/oacc-parallel.c: Truncate.
7982
094db6be
CP
79832018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7984 James Norris <jnorris@codesourcery.com>
7985
7986 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
7987 (map_init, map_pop): Remove use of struct map.
7988 (map_push): Likewise and change argument list.
094db6be
CP
7989 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
7990
8c6310a2
TV
79912018-08-01 Tom de Vries <tdevries@suse.de>
7992
7993 * plugin/cuda-lib.def: New file. Factor out of ...
7994 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
7995 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
7996 using CUDA_CALLS.
7997
1d4a51cf
AV
79982018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
7999
8000 Revert 'AsyncI/O patch committed'.
8001 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
8002 Thomas Koenig <tkoenig@gcc.gnu.org>
8003
8004 PR fortran/25829
8005 * testsuite/libgomp.fortran/async_io_1.f90: New test.
8006 * testsuite/libgomp.fortran/async_io_2.f90: New test.
8007 * testsuite/libgomp.fortran/async_io_3.f90: New test.
8008 * testsuite/libgomp.fortran/async_io_4.f90: New test.
8009 * testsuite/libgomp.fortran/async_io_5.f90: New test.
8010 * testsuite/libgomp.fortran/async_io_6.f90: New test.
8011 * testsuite/libgomp.fortran/async_io_7.f90: New test.
8012
4cdfee3f
TV
80132018-07-30 Tom de Vries <tdevries@suse.de>
8014
8015 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
8016 (nvptx_exec): Ensure worker and vector default dims don't exceed
8017 targ_fn->max_threads_per_block.
8018
0b210c43
TV
80192018-07-30 Tom de Vries <tdevries@suse.de>
8020
8021 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
8022 (nvptx_open_device): Init default_dims for device.
8023 (nvptx_exec): Use default_dims from device.
8024
5883c5cc
JJ
80252018-07-26 Jakub Jelinek <jakub@redhat.com>
8026
5d36384c
JJ
8027 PR testsuite/86660
8028 * testsuite/libgomp.c++/for-15.C (results): Include it in
8029 omp declare target region.
8030 (main): Use map (always, tofrom: results) instead of
8031 map (tofrom: results).
8032
5883c5cc
JJ
8033 PR middle-end/86660
8034 * testsuite/libgomp.c/pr86660.c: New test.
8035
88a4654d
CP
80362018-07-26 Cesar Philippidis <cesar@codesourcery.com>
8037 Tom de Vries <tdevries@suse.de>
8038
8039 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
8040 sufficient resources to launch a kernel, and give a hint on how to fix
8041 it.
8042
0c6c2f5f
CP
80432018-07-26 Cesar Philippidis <cesar@codesourcery.com>
8044 Tom de Vries <tdevries@suse.de>
8045
8046 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
8047 max_threads_per_block and max_threads_per_multiprocessor fields.
8048 (nvptx_open_device): Initialize new fields.
8049 (nvptx_exec): Use num_sms, and new fields.
8050
6dd58010
TV
80512018-07-26 Tom de Vries <tdevries@suse.de>
8052
8053 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
8054 to correct locations. Remove xfail.
8055
b2eb1779
TV
80562018-07-26 Tom de Vries <tdevries@suse.de>
8057
8058 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
8059 acc_wait. Move acc_async_test calls to correct locations. Remove
8060 xfail.
8061
b1f45884
NK
80622018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
8063 Thomas Koenig <tkoenig@gcc.gnu.org>
8064
8065 PR fortran/25829
8066 * testsuite/libgomp.fortran/async_io_1.f90: New test.
8067 * testsuite/libgomp.fortran/async_io_2.f90: New test.
8068 * testsuite/libgomp.fortran/async_io_3.f90: New test.
8069 * testsuite/libgomp.fortran/async_io_4.f90: New test.
8070 * testsuite/libgomp.fortran/async_io_5.f90: New test.
8071 * testsuite/libgomp.fortran/async_io_6.f90: New test.
8072 * testsuite/libgomp.fortran/async_io_7.f90: New test.
8073
3a106211
JJ
80742018-07-17 Jakub Jelinek <jakub@redhat.com>
8075
a3bccfa1
JJ
8076 PR middle-end/86542
8077 * testsuite/libgomp.c++/pr86542.C: New test.
8078
3a106211
JJ
8079 PR middle-end/86539
8080 * testsuite/libgomp.c++/pr86539.C: New test.
8081
2bae8b2f
JJ
80822018-07-11 Jakub Jelinek <jakub@redhat.com>
8083
8084 PR c++/86443
8085 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
8086 (results): Make sure the variable is not inside declare target region.
8087 (qux): Remove unused function.
8088
0b27c3ed
JJ
80892018-07-10 Jakub Jelinek <jakub@redhat.com>
8090
8091 PR c++/86443
8092 * testsuite/libgomp.c++/for-15.C: New test.
8093
f0391511
JJ
80942018-06-26 Jakub Jelinek <jakub@redhat.com>
8095
8096 PR c++/86291
8097 * testsuite/libgomp.c++/pr86291.C: New test.
8098
1a6d1d24
GP
80992018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
8100
8101 * libgomp.texi (Top): Move www.openmp.org to https.
8102 (Enabling OpenMP): Ditto.
8103 (omp_get_active_level): Ditto.
8104 (omp_get_ancestor_thread_num): Ditto.
8105 (omp_get_cancellation): Ditto.
8106 (omp_get_default_device): Ditto.
8107 (omp_get_dynamic): Ditto.
8108 (omp_get_level): Ditto.
8109 (omp_get_max_active_levels): Ditto.
8110 (omp_get_max_task_priority): Ditto.
8111 (omp_get_max_threads): Ditto.
8112 (omp_get_nested): Ditto.
8113 (omp_get_num_devices): Ditto.
8114 (omp_get_num_procs): Ditto.
8115 (omp_get_num_teams): Ditto.
8116 (omp_get_num_threads): Ditto.
8117 (omp_get_proc_bind): Ditto.
8118 (omp_get_schedule): Ditto.
8119 (omp_get_team_num): Ditto.
8120 (omp_get_team_size): Ditto.
8121 (omp_get_thread_limit): Ditto.
8122 (omp_get_thread_num): Ditto.
8123 (omp_in_parallel): Ditto.
8124 (omp_in_final): Ditto.
8125 (omp_is_initial_device): Ditto.
8126 (omp_set_default_device): Ditto.
8127 (omp_set_dynamic): Ditto.
8128 (omp_set_max_active_levels): Ditto.
8129 (omp_set_nested): Ditto.
8130 (omp_set_num_threads): Ditto.
8131 (omp_set_schedule): Ditto.
8132 (omp_init_lock): Ditto.
8133 (omp_set_lock): Ditto.
8134 (omp_test_lock): Ditto.
8135 (omp_unset_lock): Ditto.
8136 (omp_destroy_lock): Ditto.
8137 (omp_init_nest_lock): Ditto.
8138 (omp_set_nest_lock): Ditto.
8139 (omp_test_nest_lock): Ditto.
8140 (omp_unset_nest_lock): Ditto.
8141 (omp_destroy_nest_lock): Ditto.
8142 (omp_get_wtick): Ditto.
8143 (omp_get_wtime): Ditto.
8144 (OMP_CANCELLATION): Ditto.
8145 (OMP_DISPLAY_ENV): Ditto.
8146 (OMP_DEFAULT_DEVICE): Ditto.
8147 (OMP_DYNAMIC): Ditto.
8148 (OMP_MAX_ACTIVE_LEVELS): Ditto.
8149 (OMP_MAX_TASK_PRIORITY): Ditto.
8150 (OMP_NESTED): Ditto.
8151 (OMP_NUM_THREADS): Ditto.
8152 (OMP_PROC_BIND): Ditto.
8153 (OMP_PLACES): Ditto.
8154 (OMP_STACKSIZE): Ditto.
8155 (OMP_SCHEDULE): Ditto.
8156 (OMP_THREAD_LIMIT): Ditto.
8157 (OMP_WAIT_POLICY): Ditto.
8158
31dd69b7
CP
81592018-06-22 Cesar Philippidis <cesar@codesourcery.com>
8160 James Norris <jnorris@codesourcery.com>
8161 Julian Brown <julian@codesourcery.com>
8162 Thomas Schwinge <thomas@codesourcery.com>
8163 Tom de Vries <tom@codesourcery.com>
8164
8165 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
8166 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
8167 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
8168 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
8169 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8170 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8171 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
8172 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
8173 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
8174 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
8175 Likewise.
8176 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
8177 Likewise.
8178 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
8179 Likewise.
8180 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
8181 Likewise.
8182 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
8183 Likewise.
8184 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
8185 Likewise.
8186 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
8187 Likewise.
8188 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
8189 Likewise.
8190 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
8191 Likewise.
8192 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
8193 Likewise.
8194 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
8195 Likewise.
8196 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
8197 Likewise.
8198 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
8199 Likewise.
8200 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
8201 Likewise.
8202 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
8203 Likewise.
8204 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
8205 Likewise.
8206 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
8207 Likewise.
8208 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
8209 Likewise.
8210 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
8211 Likewise.
8212 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
8213 Likewise.
8214 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
8215 Likewise.
8216 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
8217 Likewise.
8218 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
8219 Likewise.
8220 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
8221 Likewise.
8222 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
8223 Likewise.
8224 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
8225 Likewise.
8226 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
8227 Likewise.
8228 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
8229 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
8230 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
8231 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
8232 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
8233 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
8234 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
8235 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
8236 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
8237 Likewise.
8238 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
8239 Likewise.
8240 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
8241 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
8242 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
8243 Likewise.
8244 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
8245 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
8246 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
8247 Likewise.
8248 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
8249 Likewise.
8250 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
8251 Likewise.
8252 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
8253 Likewise.
8254 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
8255 Likewise.
8256 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
8257 Likewise.
8258 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
8259 Likewise.
8260 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
8261 Likewise.
8262 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
8263 Likewise.
8264 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
8265 Likewise.
8266 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
8267 Likewise.
8268 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
8269 Likewise.
8270 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
8271 Likewise.
8272 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
8273 Likewise.
8274 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
8275 Likewise.
8276 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
8277 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
8278 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
8279 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
8280 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
8281 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
8282 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
8283
829c6349
CLT
82842018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
8285 Thomas Schwinge <thomas@codesourcery.com>
8286 Cesar Philippidis <cesar@codesourcery.com>
8287
8288 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
8289 (gomp_acc_remove_pointer): Update declaration.
8290 (gomp_acc_declare_allocate): Declare.
8291 (gomp_remove_var): Declare.
8292 * libgomp.map (OACC_2.5): Define.
8293 * oacc-mem.c (acc_map_data): Update refcount.
8294 (acc_unmap_data): Likewise.
8295 (present_create_copy): Likewise.
8296 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
8297 (acc_copyin): Likewise.
8298 (FLAG_FINALIZE): Define.
8299 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
8300 (acc_delete_finalize): New function.
8301 (acc_delete_finalize_async): New function.
8302 (acc_copyout_finalize): New function.
8303 (acc_copyout_finalize_async): New function.
8304 (gomp_acc_insert_pointer): Update refcounts.
8305 (gomp_acc_remove_pointer): Return if data is not present on the
8306 accelerator.
8307 * oacc-parallel.c (find_pset): Rename to find_pointer.
8308 (find_pointer): Add support for GOMP_MAP_POINTER.
8309 (handle_ftn_pointers): New function.
8310 (GOACC_parallel_keyed): Update refcounts of variables.
8311 (GOACC_enter_exit_data): Add support for finalized data mappings.
8312 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
8313 of fortran arrays.
8314 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
8315 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
8316 for GOMP_MAP_FORCE_FROM.
8317 * openacc.f90 (module openacc_internal): Add
8318 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
8319 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
8320 acc_copyout_finalize and acc_delete_finalize.
8321 (acc_copyout_finalize_32_h): New subroutine.
8322 (acc_copyout_finalize_64_h): New subroutine.
8323 (acc_copyout_finalize_array_h): New subroutine.
8324 (acc_delete_finalize_32_h): New subroutine.
8325 (acc_delete_finalize_64_h): New subroutine.
8326 (acc_delete_finalize_array_h): New subroutine.
8327 * openacc.h (acc_copyout_finalize): Declare.
8328 (acc_copyout_finalize_async): Declare.
8329 (acc_delete_finalize): Declare.
8330 (acc_delete_finalize_async): Declare.
8331 * openacc_lib.h (acc_copyout_finalize): New interface.
8332 (acc_delete_finalize): New interface.
8333 * target.c (gomp_map_vars): Update dynamic_refcount.
8334 (gomp_remove_var): New function.
8335 (gomp_unmap_vars): Use it.
8336 (gomp_unload_image_from_device): Likewise.
8337 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
8338 case to utilize OpenACC 2.5 data clause semantics.
8339 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8340 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8341 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8342 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8343 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8344 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8345 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8346 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8347 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8348 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8349 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
8350 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
8351 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
8352 utilize OpenACC 2.5 data clause semantics.
8353 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8354 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8355 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8356 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8357 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8358 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8359 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8360 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8361 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8362
4358400b
JW
83632018-05-21 Janus Weil <janus@gcc.gnu.org>
8364
8365 PR fortran/85841
8366 PR testsuite/85865
8367 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
8368 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
8369 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
8370 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
8371 * testsuite/libgomp.fortran/task2.f90: Ditto.
8372 * testsuite/libgomp.fortran/vla1.f90: Ditto.
8373 * testsuite/libgomp.fortran/vla2.f90: Ditto.
8374 * testsuite/libgomp.fortran/vla3.f90: Ditto.
8375 * testsuite/libgomp.fortran/vla4.f90: Ditto.
8376 * testsuite/libgomp.fortran/vla5.f90: Ditto.
8377 * testsuite/libgomp.fortran/vla6.f90: Ditto.
8378 * testsuite/libgomp.fortran/vla8.f90: Ditto.
8379 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
8380 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
8381
950ad0ba
CP
83822018-05-18 Cesar Philippidis <cesar@codesourcery.com>
8383
8384 PR c++/85782
8385 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
8386
f5ad16f1
TV
83872018-05-09 Tom de Vries <tom@codesourcery.com>
8388
8389 PR libgomp/82901
8390 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
8391 to GOACC_enter_exit_data.
8392
edbd038a
TV
83932018-05-09 Tom de Vries <tom@codesourcery.com>
8394
8395 PR libgomp/83792
8396 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
8397 (async_synchronous_p): New function.
8398 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
8399 async_valid_p.
8400 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
8401 async_valid_stream_id_p.
8402 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
8403 * oacc-parallel.c (GOACC_parallel_keyed): Same.
8404
37d6c719
TV
84052018-05-07 Tom de Vries <tom@codesourcery.com>
8406
8407 PR testsuite/85677
8408 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
8409 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
8410
63f12215
TV
84112018-05-03 Tom de Vries <tom@codesourcery.com>
8412
8413 PR testsuite/85106
8414 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
8415 extra_tool_flags if it contains an -foffload=-fdump-* flag.
8416 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
8417 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
8418
ec00d3fa
TV
84192018-05-02 Tom de Vries <tom@codesourcery.com>
8420
8421 PR libgomp/85411
8422 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
8423 GOMP_OPENACC_DIM ...
8424 * env.c (parse_gomp_openacc_dim): ... here. New function.
8425 (initialize_env): Call parse_gomp_openacc_dim.
8426 (goacc_default_dims): Define.
8427 * libgomp.h (goacc_default_dims): Declare.
8428 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
8429 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
8430 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
8431 GOMP_PLUGIN_acc_default_dim.
8432 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
8433 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
8434
92243e7c
TV
84352018-05-02 Tom de Vries <tom@codesourcery.com>
8436
8437 PR testsuite/83791
8438 * testsuite/libgomp.c++/udr-9.C: Update.
8439 * testsuite/libgomp.c++/atomic-16.C: Remove.
8440 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
8441 * testsuite/libgomp.c++/loop-13.C: Remove.
8442 * testsuite/libgomp.c++/loop-14.C: Remove.
8443 * testsuite/libgomp.c++/loop-15.C: Remove.
8444 * testsuite/libgomp.c++/monotonic-1.C: Remove.
8445 * testsuite/libgomp.c++/monotonic-2.C: Remove.
8446 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
8447 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
8448 * testsuite/libgomp.c++/ordered-1.C: Remove.
8449 * testsuite/libgomp.c++/pr45784.C: Remove.
8450 * testsuite/libgomp.c++/pr64824.C: Remove.
8451 * testsuite/libgomp.c++/pr64868.C: Remove.
8452 * testsuite/libgomp.c++/pr66199-1.C: Remove.
8453 * testsuite/libgomp.c++/pr66199-2.C: Remove.
8454 * testsuite/libgomp.c++/pr66199-3.C: Remove.
8455 * testsuite/libgomp.c++/pr66199-4.C: Remove.
8456 * testsuite/libgomp.c++/pr66199-5.C: Remove.
8457 * testsuite/libgomp.c++/pr66199-6.C: Remove.
8458 * testsuite/libgomp.c++/pr66199-7.C: Remove.
8459 * testsuite/libgomp.c++/pr66199-8.C: Remove.
8460 * testsuite/libgomp.c++/pr66199-9.C: Remove.
8461 * testsuite/libgomp.c++/pr69389.C: Remove.
8462 * testsuite/libgomp.c++/simd10.C: Remove.
8463 * testsuite/libgomp.c++/simd11.C: Remove.
8464 * testsuite/libgomp.c++/simd12.C: Remove.
8465 * testsuite/libgomp.c++/simd13.C: Remove.
8466 * testsuite/libgomp.c++/target-1.C: Remove.
8467 * testsuite/libgomp.c++/target-3.C: Remove.
8468 * testsuite/libgomp.c++/target-4.C: Remove.
8469 * testsuite/libgomp.c++/target-5.C: Remove.
8470 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
8471 * testsuite/libgomp.c++/taskloop-1.C: Remove.
8472 * testsuite/libgomp.c++/taskloop-2.C: Remove.
8473 * testsuite/libgomp.c++/taskloop-3.C: Remove.
8474 * testsuite/libgomp.c++/taskloop-4.C: Remove.
8475 * testsuite/libgomp.c++/udr-9.C: Remove.
8476 * testsuite/libgomp.c++/for-10.C: Remove.
8477 * testsuite/libgomp.c++/for-11.C: Remove.
8478 * testsuite/libgomp.c++/for-12.C: Remove.
8479 * testsuite/libgomp.c++/for-13.C: Remove.
8480 * testsuite/libgomp.c++/for-14.C: Remove.
8481 * testsuite/libgomp.c++/for-9.C: Remove.
8482 * testsuite/libgomp.c/atomic-18.c: Move ...
8483 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
8484 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
8485 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
8486 * testsuite/libgomp.c/loop-13.c: Move ...
8487 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
8488 * testsuite/libgomp.c/loop-14.c: Move ...
8489 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
8490 * testsuite/libgomp.c/loop-15.c: Remove.
8491 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
8492 * testsuite/libgomp.c/monotonic-1.c: Move ...
8493 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
8494 * testsuite/libgomp.c/monotonic-2.c: Move ...
8495 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
8496 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
8497 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
8498 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
8499 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
8500 * testsuite/libgomp.c/ordered-4.c: Move ...
8501 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
8502 * testsuite/libgomp.c/pr45784.c: Move ...
8503 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
8504 * testsuite/libgomp.c/pr64824.c: Move ...
8505 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
8506 * testsuite/libgomp.c/pr64868.c: Move ...
8507 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
8508 * testsuite/libgomp.c/pr66199-1.c: Move ...
8509 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
8510 * testsuite/libgomp.c/pr66199-2.c: Move ...
8511 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
8512 * testsuite/libgomp.c/pr66199-3.c: Move ...
8513 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
8514 * testsuite/libgomp.c/pr66199-4.c: Move ...
8515 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
8516 * testsuite/libgomp.c/pr66199-5.c: Move ...
8517 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
8518 * testsuite/libgomp.c/pr66199-6.c: Move ...
8519 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
8520 * testsuite/libgomp.c/pr66199-7.c: Move ...
8521 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
8522 * testsuite/libgomp.c/pr66199-8.c: Move ...
8523 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
8524 * testsuite/libgomp.c/pr66199-9.c: Move ...
8525 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
8526 * testsuite/libgomp.c/pr69389.c: Move ...
8527 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
8528 * testsuite/libgomp.c/simd-14.c: Move ...
8529 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
8530 * testsuite/libgomp.c/simd-15.c: Move ...
8531 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
8532 * testsuite/libgomp.c/simd-16.c: Move ...
8533 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
8534 * testsuite/libgomp.c/simd-17.c: Move ...
8535 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
8536 * testsuite/libgomp.c/target-1.c: Move ...
8537 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
8538 * testsuite/libgomp.c/target-10.c: Move ...
8539 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
8540 * testsuite/libgomp.c/target-13.c: Move ...
8541 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
8542 * testsuite/libgomp.c/target-2.c: Move ...
8543 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
8544 * testsuite/libgomp.c/taskgroup-1.c: Move ...
8545 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
8546 * testsuite/libgomp.c/taskloop-1.c: Move ...
8547 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
8548 * testsuite/libgomp.c/taskloop-2.c: Move ...
8549 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
8550 * testsuite/libgomp.c/taskloop-3.c: Move ...
8551 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
8552 * testsuite/libgomp.c/taskloop-4.c: Move ...
8553 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
8554 * testsuite/libgomp.c/udr-1.c: Move ...
8555 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
8556 * testsuite/libgomp.c/for-1.c: Move ...
8557 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
8558 * testsuite/libgomp.c/for-1.h: Move ...
8559 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
8560 * testsuite/libgomp.c/for-2.c: Move ...
8561 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
8562 * testsuite/libgomp.c/for-2.h: Move ...
8563 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
8564 * testsuite/libgomp.c/for-3.c: Move ...
8565 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
8566 * testsuite/libgomp.c/for-4.c: Move ...
8567 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
8568 * testsuite/libgomp.c/for-5.c: Move ...
8569 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
8570 * testsuite/libgomp.c/for-6.c: Move ...
8571 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
8572
1f62d637
TV
85732018-05-02 Tom de Vries <tom@codesourcery.com>
8574
8575 PR libgomp/82428
8576 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
8577 __builtin_goacc_parlevel_{id,size}.
8578 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
8579 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
8580 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
8581 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
8582 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
8583 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
8584 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
8585 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
8586 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
8587 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
8588 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
8589 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
8590 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
8591 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
8592 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
8593 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
8594 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
8595 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
8596 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
8597 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
8598 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
8599 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
8600 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
8601
9220b511
TV
86022018-05-02 Tom de Vries <tom@codesourcery.com>
8603
8604 PR testsuite/85106
8605 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
8606
6c3c13c1
TV
86072018-05-02 Tom de Vries <tom@codesourcery.com>
8608
8609 PR testsuite/85106
8610 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
8611
8d70b61e
JB
86122018-04-29 Julian Brown <julian@codesourcery.com>
8613 Tom de Vries <tom@codesourcery.com>
8614
8615 PR testsuite/85527
8616 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
8617 arbitrary order for iterations of atomic subtract check.
8618
4a57a4b6
TV
86192018-04-28 Tom de Vries <tom@codesourcery.com>
8620
8621 PR testsuite/85527
8622 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
8623 atomic capture results obtained in parallel loop to an array, instead of
8624 to a scalar.
8625
df36a3d3
TV
86262018-04-26 Tom de Vries <tom@codesourcery.com>
8627
8628 PR libgomp/84020
8629 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
8630 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
8631 (process_GOMP_NVPTX_JIT): New function.
8632 (link_ptx): Use process_GOMP_NVPTX_JIT.
8633
d160ae78
RB
86342018-04-26 Richard Biener <rguenther@suse.de>
8635 Tom de Vries <tom@codesourcery.com>
8636
8637 PR lto/85422
8638 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
8639
ca9dc642
TV
86402018-04-26 Tom de Vries <tom@codesourcery.com>
8641
8642 PR target/85519
8643 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
8644 recursion depth from 25 to 23.
8645 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
8646
7b47ecf2
L
86472018-04-24 H.J. Lu <hongjiu.lu@intel.com>
8648
8649 * configure: Regenerated.
8650
e91eba31
NS
86512018-04-20 Nathan Sidwell <nathan@codesourcery.com>
8652 Tom de Vries <tom@codesourcery.com>
8653
8654 PR target/85445
8655 * testsuite/libgomp.oacc-c++/ref-1.C: New.
8656
6e0d40b6
TS
86572018-04-19 Thomas Schwinge <thomas@codesourcery.com>
8658
8659 PR libgomp/85463
8660 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
8661 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8662 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8663 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
8664 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
8665 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
8666
8667 PR libfortran/85166
8668 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
8669 abort".
8670 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8671
a0e1df88
JJ
86722018-04-19 Jakub Jelinek <jakub@redhat.com>
8673
8674 * configure: Regenerated.
8675
001ddaa8
DM
86762018-04-18 David Malcolm <dmalcolm@redhat.com>
8677
8678 PR jit/85384
8679 * configure: Regenerate.
8680
05e0af43
CP
86812018-04-16 Cesar Philippidis <cesar@codesourcery.com>
8682 Tom de Vries <tom@codesourcery.com>
8683
8684 PR middle-end/84955
8685 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8686 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8687
bc436e10
TK
86882018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
8689
8690 PR fortran/83064
8691 PR testsuite/85346
8692 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
8693 test from gfortran.dg to here.
8694
ffb164c7
JJ
86952018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8696
8697 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
8698 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
8699
87002018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8701
8702 PR middle-end/84955
8703 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8704 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8705
2ba16fd2
TV
87062018-04-05 Tom de Vries <tom@codesourcery.com>
8707
8708 PR target/85204
8709 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
8710
46dbeb40
TV
87112018-03-26 Tom de Vries <tom@codesourcery.com>
8712
8713 PR tree-optimization/85063
8714 * testsuite/libgomp.c/switch-conversion-2.c: New test.
8715 * testsuite/libgomp.c/switch-conversion.c: New test.
8716 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
8717 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
8718
bfc24e32
TK
87192018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
8720
8721 PR fortran/84381
8722 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
8723 call abort by STOP n.
8724 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
8725 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
8726 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
8727 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
8728 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
8729 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
8730 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
8731 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
8732 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
8733 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
8734 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
8735 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
8736 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
8737 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
8738 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
8739 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
8740 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
8741 * testsuite/libgomp.fortran/associate1.f90: Likewise.
8742 * testsuite/libgomp.fortran/associate2.f90: Likewise.
8743 * testsuite/libgomp.fortran/associate3.f90: Likewise.
8744 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
8745 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
8746 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
8747 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
8748 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
8749 * testsuite/libgomp.fortran/character1.f90: Likewise.
8750 * testsuite/libgomp.fortran/character2.f90: Likewise.
8751 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
8752 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
8753 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
8754 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
8755 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
8756 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
8757 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
8758 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
8759 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
8760 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
8761 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
8762 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
8763 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
8764 * testsuite/libgomp.fortran/do1.f90: Likewise.
8765 * testsuite/libgomp.fortran/do2.f90: Likewise.
8766 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
8767 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
8768 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
8769 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
8770 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
8771 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
8772 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8773 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
8774 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
8775 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
8776 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
8777 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
8778 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8779 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
8780 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
8781 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
8782 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
8783 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
8784 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
8785 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
8786 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
8787 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
8788 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
8789 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
8790 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
8791 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
8792 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
8793 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8794 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
8795 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
8796 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
8797 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
8798 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
8799 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8800 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8801 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
8802 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
8803 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
8804 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
8805 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
8806 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
8807 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
8808 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
8809 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
8810 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8811 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
8812 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
8813 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
8814 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
8815 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8816 * testsuite/libgomp.fortran/lib2.f: Likewise.
8817 * testsuite/libgomp.fortran/lib3.f: Likewise.
8818 * testsuite/libgomp.fortran/lib4.f90: Likewise.
8819 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
8820 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
8821 * testsuite/libgomp.fortran/nested1.f90: Likewise.
8822 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
8823 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
8824 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
8825 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
8826 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
8827 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
8828 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
8829 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
8830 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
8831 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
8832 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
8833 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
8834 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8835 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8836 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8837 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8838 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8839 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8840 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8841 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8842 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8843 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8844 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
8845 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
8846 * testsuite/libgomp.fortran/pr25162.f: Likewise.
8847 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
8848 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8849 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8850 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8851 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8852 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8853 * testsuite/libgomp.fortran/pr28390.f: Likewise.
8854 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
8855 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
8856 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
8857 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
8858 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
8859 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
8860 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
8861 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
8862 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8863 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8864 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8865 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8866 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
8867 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8868 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
8869 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
8870 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
8871 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8872 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8873 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
8874 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
8875 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
8876 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
8877 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
8878 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
8879 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8880 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
8881 * testsuite/libgomp.fortran/reference1.f90: Likewise.
8882 * testsuite/libgomp.fortran/reference2.f90: Likewise.
8883 * testsuite/libgomp.fortran/retval1.f90: Likewise.
8884 * testsuite/libgomp.fortran/retval2.f90: Likewise.
8885 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
8886 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
8887 * testsuite/libgomp.fortran/simd1.f90: Likewise.
8888 * testsuite/libgomp.fortran/simd2.f90: Likewise.
8889 * testsuite/libgomp.fortran/simd3.f90: Likewise.
8890 * testsuite/libgomp.fortran/simd4.f90: Likewise.
8891 * testsuite/libgomp.fortran/simd5.f90: Likewise.
8892 * testsuite/libgomp.fortran/simd6.f90: Likewise.
8893 * testsuite/libgomp.fortran/simd7.f90: Likewise.
8894 * testsuite/libgomp.fortran/stack.f90: Likewise.
8895 * testsuite/libgomp.fortran/strassen.f90: Likewise.
8896 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
8897 * testsuite/libgomp.fortran/tabs2.f: Likewise.
8898 * testsuite/libgomp.fortran/target1.f90: Likewise.
8899 * testsuite/libgomp.fortran/target2.f90: Likewise.
8900 * testsuite/libgomp.fortran/target3.f90: Likewise.
8901 * testsuite/libgomp.fortran/target4.f90: Likewise.
8902 * testsuite/libgomp.fortran/target5.f90: Likewise.
8903 * testsuite/libgomp.fortran/target6.f90: Likewise.
8904 * testsuite/libgomp.fortran/target7.f90: Likewise.
8905 * testsuite/libgomp.fortran/target8.f90: Likewise.
8906 * testsuite/libgomp.fortran/task1.f90: Likewise.
8907 * testsuite/libgomp.fortran/task2.f90: Likewise.
8908 * testsuite/libgomp.fortran/task3.f90: Likewise.
8909 * testsuite/libgomp.fortran/task4.f90: Likewise.
8910 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8911 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8912 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8913 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8914 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8915 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8916 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8917 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8918 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8919 * testsuite/libgomp.fortran/udr1.f90: Likewise.
8920 * testsuite/libgomp.fortran/udr10.f90: Likewise.
8921 * testsuite/libgomp.fortran/udr11.f90: Likewise.
8922 * testsuite/libgomp.fortran/udr12.f90: Likewise.
8923 * testsuite/libgomp.fortran/udr13.f90: Likewise.
8924 * testsuite/libgomp.fortran/udr14.f90: Likewise.
8925 * testsuite/libgomp.fortran/udr15.f90: Likewise.
8926 * testsuite/libgomp.fortran/udr2.f90: Likewise.
8927 * testsuite/libgomp.fortran/udr3.f90: Likewise.
8928 * testsuite/libgomp.fortran/udr4.f90: Likewise.
8929 * testsuite/libgomp.fortran/udr5.f90: Likewise.
8930 * testsuite/libgomp.fortran/udr6.f90: Likewise.
8931 * testsuite/libgomp.fortran/udr7.f90: Likewise.
8932 * testsuite/libgomp.fortran/udr8.f90: Likewise.
8933 * testsuite/libgomp.fortran/udr9.f90: Likewise.
8934 * testsuite/libgomp.fortran/vla1.f90: Likewise.
8935 * testsuite/libgomp.fortran/vla2.f90: Likewise.
8936 * testsuite/libgomp.fortran/vla3.f90: Likewise.
8937 * testsuite/libgomp.fortran/vla4.f90: Likewise.
8938 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8939 * testsuite/libgomp.fortran/vla6.f90: Likewise.
8940 * testsuite/libgomp.fortran/vla7.f90: Likewise.
8941 * testsuite/libgomp.fortran/vla8.f90: Likewise.
8942 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
8943 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
8944 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8945 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8946 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8947 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8948 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8949 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8950 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8951 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8952 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8953 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8954 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8955 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8956 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8957 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8958 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8959 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8960 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8961 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8962 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8963 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8964 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8965 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
8966 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
8967 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8968 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8969 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8970 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8971 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8972 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8973 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8974 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8975 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8976 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8977 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8978 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8979 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8980 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
8981 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8982 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
8983 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8984 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
8985 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
8986 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
8987 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
8988 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8989 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8990 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8991 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8992 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8993 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8994 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8995 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8996 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8997 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8998 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8999 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
9000 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
9001 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
9002 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
9003 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9004 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
9005 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
9006 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
9007 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
9008 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
9009 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
9010 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
9011 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
9012 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
9013 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
9014 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
9015 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
9016 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
9017 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
9018 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
9019 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9020 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9021 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9022 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9023 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9024 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
9025 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
9026 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
9027 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
9028 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
9029 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
9030 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
9031 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
9032 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
9033 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
9034 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
9035 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
9036
79cf14ae
RB
90372018-03-20 Richard Biener <rguenther@suse.de>
9038
9039 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
9040 parallelizable loop.
9041
14e335ed
IT
90422018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
9043
9044 PR target/84148
9045 * configure: Regenerate.
9046
83d9be55
JJ
90472018-02-16 Jakub Jelinek <jakub@redhat.com>
9048
9049 PR fortran/84418
9050 * libgomp.fortran/pr84418-1.f90: New test.
9051 * libgomp.fortran/pr84418-2.f90: New test.
9052
d1fe6124
JJ
90532018-02-14 Jakub Jelinek <jakub@redhat.com>
9054
9055 PR fortran/84313
9056 * testsuite/libgomp.fortran/threadprivate4.f90: Add
9057 -std=f2003 -fall-intrinsics into dg-additional-options.
9058
3d224921
MJ
90592018-02-08 Martin Jambor <mjambor@suse.cz>
9060
9061 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
9062 clonable.
9063
c7c30edd
MJ
90642018-02-08 Martin Jambor <mjambor@suse.cz>
9065
9066 * testsuite/libgomp.hsa.c/staticvar.c: New test.
9067
f320fdfd
RO
90682018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9069
9070 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
9071 [__cplusplus]: Declare extern "C".
9072
c31bc4ac
TV
90732018-02-07 Tom de Vries <tom@codesourcery.com>
9074
9075 PR libgomp/84217
9076 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
9077
99ae7ce5
CS
90782018-01-29 Christoph Spiel <cspiel@freenet.de>
9079 Jakub Jelinek <jakub@redhat.com>
9080
9081 PR libgomp/84096
9082 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
9083 instead of omp_lock_t.
9084
e77a1236
TV
90852018-01-25 Tom de Vries <tom@codesourcery.com>
9086
9087 PR target/84028
9088 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
9089
3dede32b
TV
90902018-01-24 Tom de Vries <tom@codesourcery.com>
9091
9092 PR target/83589
9093 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
9094
be606483
TV
90952018-01-24 Tom de Vries <tom@codesourcery.com>
9096
9097 PR target/81352
9098 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
9099
8c8e9a6b
TV
91002018-01-19 Tom de Vries <tom@codesourcery.com>
9101 Cesar Philippidis <cesar@codesourcery.com>
9102
9103 PR target/83920
9104 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
9105 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
9106
65e6aea3
JJ
91072018-01-03 Jakub Jelinek <jakub@redhat.com>
9108
85ec4feb
JJ
9109 Update copyright years.
9110
65e6aea3
JJ
9111 * libgomp.texi: Bump @copying's copyright year.
9112
60bf575c
TV
91132017-12-30 Tom de Vries <tom@codesourcery.com>
9114
9115 PR libgomp/83046
9116 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
9117 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
9118
7ec16b79
TV
91192017-12-27 Tom de Vries <tom@codesourcery.com>
9120
9121 PR c++/83046
9122 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
9123 (test_nonstatic): Fix return type to workaround PR83046.
9124
ac550b9a
JJ
91252017-12-05 Jakub Jelinek <jakub@redhat.com>
9126
9127 PR testsuite/83281
9128 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
9129 j suffix instead of i.
9130 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
9131 Likewise.
9132
ebdc83f0
CP
91332017-12-01 Cesar Philippidis <cesar@codesourcery.com>
9134
9135 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
9136 call to acc_wait (1).
9137
3b3e6283
JJ
91382017-11-24 Jakub Jelinek <jakub@redhat.com>
9139
9140 PR fortran/81304
9141 * testsuite/libgomp.fortran/pr81304.f90: New test.
9142
3b575376
JJ
91432017-11-23 Jakub Jelinek <jakub@redhat.com>
9144
9145 PR fortran/81841
9146 * libgomp.fortran/pr81841.f90: New test.
9147
b13547d8
JJ
91482017-11-22 Jakub Jelinek <jakub@redhat.com>
9149
9150 PR libgomp/83106
9151 * target.c (gomp_target_init): Compute lengths just once and
9152 use them in both malloc size and subsequent copying.
9153
efe33ced
IT
91542017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
9155
9156 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
9157 * acinclude.m4: Add cet.m4.
9158 * configure: Regenerate.
9159 * Makefile.in: Likewise.
9160 * testsuite/Makefile.in: Likewise.
9161
a7cf2612
TV
91622017-11-15 Tom de Vries <tom@codesourcery.com>
9163
9164 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
9165 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
9166 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
9167 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
9168 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
9169 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
9170
dde76623
TV
91712017-11-14 Tom de Vries <tom@codesourcery.com>
9172
9173 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
9174 non-nvidia devices.
9175
4dbeb716
JJ
91762017-11-07 Jakub Jelinek <jakub@redhat.com>
9177
9178 PR c++/82835
9179 * testsuite/libgomp.c++/pr82835.C: New test.
9180
454f8b2b
ML
91812017-11-06 Martin Liska <mliska@suse.cz>
9182
9183 * testsuite/libgomp.c++/loop-2.C: Return a value
9184 for functions with non-void return type, or change type to void,
9185 or add -Wno-return-type for test.
9186 * testsuite/libgomp.c++/loop-4.C: Likewise.
9187 * testsuite/libgomp.c++/parallel-1.C: Likewise.
9188 * testsuite/libgomp.c++/shared-1.C: Likewise.
9189 * testsuite/libgomp.c++/single-1.C: Likewise.
9190 * testsuite/libgomp.c++/single-2.C: Likewise.
9191
12e9c8ce
TV
91922017-10-31 Tom de Vries <tom@codesourcery.com>
9193
9194 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
9195 "do {} while (false)".
9196 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
9197 after HSA_DEBUG call.
9198
7324369a
JJ
91992017-10-28 Jakub Jelinek <jakub@redhat.com>
9200
9201 * target.c (struct gomp_coalesce_buf): New type.
9202 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
9203 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
9204 (gomp_copy_host2dev): Add CBUF argument, if copying into
9205 the cached ranges, memcpy into buffer instead of copying
9206 into device.
9207 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
9208 Add CBUF argument, pass it through to other calls.
9209 (gomp_map_vars): Aggregate copies from host to device if small enough
9210 and with small enough gaps in between into memcpy into a buffer and
9211 fewer host to device copies from the buffer.
9212 (gomp_update): Adjust gomp_copy_host2dev caller.
9213
933ab0e6
TS
92142017-10-17 Thomas Schwinge <thomas@codesourcery.com>
9215
9216 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
9217 run" directive.
9218 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
9219 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
9220 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
9221 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
9222
92d5d01a
TV
92232017-10-16 Tom de Vries <tom@codesourcery.com>
9224
9225 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
9226 openacc_nvidia_accel_selected.
9227 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
9228 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
9229 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
9230 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
9231 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
9232 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
9233 openacc_nvidia_accel_selected. Skip for shared memory device.
9234 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
9235 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
9236
191411e4
MJ
92372017-10-09 Martin Jambor <mjambor@suse.cz>
9238
9239 PR hsa/82416
9240 * testsuite/libgomp.hsa.c/pr82416.c: New test.
9241
e923330e
TV
92422017-10-07 Tom de Vries <tom@codesourcery.com>
9243
9244 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
9245 Remove acc_device_nvidia references.
9246 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
9247 Same.
9248
8fe3ed4c
TV
92492017-10-05 Tom de Vries <tom@codesourcery.com>
9250
9251 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
9252 vector_length(32) clause from acc parallel directive.
9253 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
9254
26596ee5
TV
92552017-10-04 Tom de Vries <tom@codesourcery.com>
9256
9257 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
9258 (main): Reduce sum of arr elements. Assert that hres is exactly
9259 representable in 32-bit floating point.
9260 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
9261 (main): Reduce sum of arr elements. Assert that hres and hmres are
9262 exactly representable in 32-bit floating point.
9263 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
9264
5c561fa9
TV
92652017-09-28 Tom de Vries <tom@codesourcery.com>
9266
9267 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
9268 setting.
9269 * testsuite/libgomp.c++/pr69393.C: Same.
9270 * testsuite/libgomp.c++/taskloop-1.C: Same.
9271 * testsuite/libgomp.c++/taskloop-3.C: Same.
9272 * testsuite/libgomp.c++/taskloop-4.C: Same.
9273 * testsuite/libgomp.c/for-4.c: Same.
9274 * testsuite/libgomp.c/pr66199-3.c: Same.
9275 * testsuite/libgomp.c/pr66199-4.c: Same.
9276 * testsuite/libgomp.c/pr66199-6.c: Same.
9277 * testsuite/libgomp.c/taskloop-1.c: Same.
9278 * testsuite/libgomp.c/taskloop-3.c: Same.
9279 * testsuite/libgomp.c/taskloop-4.c: Same.
9280 * testsuite/libgomp.fortran/aligned1.f03: Same.
9281 * testsuite/libgomp.fortran/condinc1.f: Same.
9282 * testsuite/libgomp.fortran/condinc3.f90: Same.
9283 * testsuite/libgomp.fortran/crayptr1.f90: Same.
9284 * testsuite/libgomp.fortran/crayptr2.f90: Same.
9285 * testsuite/libgomp.fortran/crayptr3.f90: Same.
9286 * testsuite/libgomp.fortran/omp_cond1.f: Same.
9287 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
9288 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
9289 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
9290 * testsuite/libgomp.fortran/recursion1.f90: Same.
9291 * testsuite/libgomp.fortran/target2.f90: Same.
9292 * testsuite/libgomp.fortran/target5.f90: Same.
9293 * testsuite/libgomp.fortran/task3.f90: Same.
9294
7d6206fe
TV
92952017-09-28 Tom de Vries <tom@codesourcery.com>
9296
9297 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
9298 vector_length(32) clause from acc parallel directive.
9299 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
9300
84c8627c
TV
93012017-09-27 Tom de Vries <tom@codesourcery.com>
9302
9303 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
9304 Remove acc_device_nvidia references.
9305
ebc6a85e
TV
93062017-09-16 Tom de Vries <tom@codesourcery.com>
9307
9308 PR c/81875
9309 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
9310
82419efb
TV
93112017-09-14 Tom de Vries <tom@codesourcery.com>
9312
9313 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
9314 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
9315 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
9316 * testsuite/libgomp.c/c.exp: Include test-cases from
9317 libgomp.c-c++-common.
9318 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
9319 files.
9320
8b586510
JJ
93212017-09-14 Jakub Jelinek <jakub@redhat.com>
9322
9323 PR c++/81314
9324 * testsuite/libgomp.c++/pr81314.C: New test.
9325
9651fbaf
GP
93262017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
9327
9328 * libgomp.texi (Top): www.openacc.org now uses https.
9329 (Enabling OpenACC): Ditto.
9330 (acc_get_num_devices): Ditto.
9331 (acc_set_device_type): Ditto.
9332 (acc_get_device_type): Ditto.
9333 (acc_set_device_num): Ditto.
9334 (acc_get_device_num): Ditto.
9335 (acc_async_test): Ditto.
9336 (acc_async_test_all): Ditto.
9337 (acc_wait): Ditto.
9338 (acc_wait_all): Ditto.
9339 (acc_wait_all_async): Ditto.
9340 (acc_wait_async): Ditto.
9341 (acc_init): Ditto.
9342 (acc_shutdown): Ditto.
9343 (acc_on_device): Ditto.
9344 (acc_malloc): Ditto.
9345 (acc_free): Ditto.
9346 (acc_copyin): Ditto.
9347 (acc_present_or_copyin): Ditto.
9348 (acc_create): Ditto.
9349 (acc_present_or_create): Ditto.
9350 (acc_copyout): Ditto.
9351 (acc_delete): Ditto.
9352 (acc_update_device): Ditto.
9353 (acc_update_self): Ditto.
9354 (acc_map_data): Ditto.
9355 (acc_unmap_data): Ditto.
9356 (acc_deviceptr): Ditto.
9357 (acc_hostptr): Ditto.
9358 (acc_is_present): Ditto.
9359 (acc_memcpy_to_device): Ditto.
9360 (acc_memcpy_from_device): Ditto.
9361 (acc_get_current_cuda_device): Ditto.
9362 (acc_get_current_cuda_context): Ditto.
9363 (acc_get_cuda_stream): Ditto.
9364 (acc_set_cuda_stream): Ditto.
9365 (ACC_DEVICE_TYPE): Ditto.
9366 (ACC_DEVICE_NUM): Ditto.
9367 (OpenACC Library Interoperability): Ditto.
9368
50aa16c3
JJ
93692017-08-09 Jakub Jelinek <jakub@redhat.com>
9370
9371 PR c/81687
9372 * testsuite/libgomp.c/pr81687-1.c: New test.
9373 * testsuite/libgomp.c/pr81687-2.c: New test.
9374
56b5041c
JJ
93752017-08-07 Jakub Jelinek <jakub@redhat.com>
9376
9377 PR c/69389
9378 * testsuite/libgomp.c/pr69389.c: New test.
9379 * testsuite/libgomp.c++/pr69389.C: New test.
9380
f4c222c0
TV
93812017-08-07 Tom de Vries <tom@codesourcery.com>
9382
9383 PR middle-end/78266
9384 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
9385 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
9386
a40ff0ae
JJ
93872017-07-27 Jakub Jelinek <jakub@redhat.com>
9388
9389 PR c/45784
9390 * testsuite/libgomp.c/pr45784.c: New test.
9391 * testsuite/libgomp.c++/pr45784.C: New test.
9392
3717fbe3
TV
93932017-07-19 Tom de Vries <tom@codesourcery.com>
9394
9395 * testsuite/libgomp.oacc-c/vec.c: New test.
9396
9607b014
TV
93972017-07-03 Tom de Vries <tom@codesourcery.com>
9398
9399 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
9400
dfb15f6b
TV
94012017-06-27 Tom de Vries <tom@codesourcery.com>
9402
9403 * plugin/plugin-nvptx.c (notify_var): New function.
9404 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
9405
22f1a037
TV
94062017-06-27 Tom de Vries <tom@codesourcery.com>
9407
9408 * env.c (parse_unsigned_long_1): Factor out of ...
9409 (parse_unsigned_long): ... here.
9410 (parse_int_1): Factor out of ...
9411 (parse_int): ... here.
9412 (parse_int_secure): New function.
9413 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
9414 * secure_getenv.h: Factor out of ...
9415 * plugin/plugin-hsa.c: ... here.
9416 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
9417
d54d1fc3
JJ
94182017-06-21 Jakub Jelinek <jakub@redhat.com>
9419
9420 PR c++/81130
9421 * testsuite/libgomp.c++/pr81130.C: New test.
9422
4f4b0ab8
RO
94232017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9424
9425 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
9426 default args.
9427 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
9428 dg-xfail-run-if default args.
9429
40ffd95f
BE
94302017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
9431
9432 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
9433 * testsuite/libgomp.c/pr39591-3.c: Likewise.
9434
01275e1e
JJ
94352017-05-30 Jakub Jelinek <jakub@redhat.com>
9436
9437 PR libgomp/80822
9438 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
9439 (gomp_affinity_init_level): Use it. Always analyze the core and thread
9440 sibling lists, depending on level just pick up what CPUs to put
9441 together into a place vs. whether add multiple ordered places.
9442
78672bd8
TS
94432017-05-24 Thomas Schwinge <thomas@codesourcery.com>
9444
7ce64403
TS
9445 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
9446 * libgomp.map (OACC_2.0.1): Add these.
9447 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
9448 for "acc_wait", and "acc_wait_all", respectively.
9449 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
9450 for "acc_wait", and "acc_wait_all", respectively.
9451 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
9452 * libgomp.texi (acc_wait, acc_wait_all): Update.
9453 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
9454 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
9455 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
9456
318686c2
TS
9457 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
9458 acc_present_or_copyin and acc_present_or_create procedures,
9459 respectively.
9460 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
9461 generally different variants of OpenACC Runtime Library functions.
9462 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
9463
a6745534
TS
9464 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
9465 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
9466
9b94fbc7
TS
9467 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
9468 of preprocessor definitions.
9469 * libgomp.h (strong_alias): Guard by "#ifdef
9470 HAVE_ATTRIBUTE_ALIAS".
9471 * oacc-mem.c: Provide "acc_pcreate" as alias for
9472 "acc_present_or_create", and "acc_pcopyin" as alias for
9473 "acc_present_or_copyin".
9474 * libgomp.map: New version "OACC_2.0.1".
9475 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
9476 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
9477 its content into...
9478 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
9479 Extend testing.
9480
78672bd8
TS
9481 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
9482 when disabling nvptx offloading.
9483
0c36d0d5
TS
94842017-05-23 Thomas Schwinge <thomas@codesourcery.com>
9485
fd71a9a2
TS
9486 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
9487 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9488 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
9489
0c36d0d5
TS
9490 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
9491 * testsuite/lib/libgomp.exp
9492 (check_effective_target_openacc_nvidia_accel_configured): New
9493 proc.
9494 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
9495 (check_effective_target_c++): New procs.
9496 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
9497 (check_effective_target_c++): Likewise.
9498
c24783c4
JJ
94992017-05-22 Jakub Jelinek <jakub@redhat.com>
9500
655e5265
JJ
9501 PR middle-end/80809
9502 * testsuite/libgomp.c/pr80809-2.c: New test.
9503 * testsuite/libgomp.c/pr80809-3.c: New test.
9504
e9e2ef9f
JJ
9505 PR middle-end/80809
9506 * testsuite/libgomp.c/pr80809-1.c: New test.
9507
c24783c4
JJ
9508 PR middle-end/80853
9509 * testsuite/libgomp.c/pr80853.c: New test.
9510
0da2f96a
TS
95112017-05-19 Thomas Schwinge <thomas@codesourcery.com>
9512
7fd549d2
TS
9513 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
9514 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
9515 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9516 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9517 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
9518
0da2f96a
TS
9519 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
9520 Debug output for failure.
9521
62ffe920
RO
95222017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9523
9524 * testsuite/lib/libgomp.exp: Load scanlang.exp.
9525
f49215b1
JJ
95262017-04-27 Jakub Jelinek <jakub@redhat.com>
9527
9528 PR bootstrap/80531
9529 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
9530 bootstrap compare failures.
9531
2260d19d
AM
95322017-04-20 Alexander Monakov <amonakov@ispras.ru>
9533
9534 * testsuite/libgomp.c/target-36.c: New testcase.
9535
19929ba9
JJ
95362017-04-13 Jakub Jelinek <jakub@redhat.com>
9537
9538 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
9539 instead of char.
9540
fbc698e0
JJ
95412017-04-11 Jakub Jelinek <jakub@redhat.com>
9542
9543 PR libgomp/80394
9544 * testsuite/libgomp.c/pr80394.c: New test.
9545
c4060df4
JJ
95462017-04-04 Jakub Jelinek <jakub@redhat.com>
9547
9548 PR libgomp/79876
9549 * config/posix/thread-stacksize.h: New file.
9550 * config/darwin/thread-stacksize.h: New file.
9551 * config/nvptx/thread-stacksize.h: New file.
9552 * env.c: Include thread-stacksize.h.
9553 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
9554 instead of 0. Call pthread_attr_setstacksize even if
9555 GOMP_DEFAULT_STACKSIZE is non-zero.
9556
e02d868a
JJ
95572017-03-30 Jakub Jelinek <jakub@redhat.com>
9558
9559 * env.c (initialize_env): Initialize stacksize to 0.
9560
7ba8651e
CP
95612017-03-22 Cesar Philippidis <cesar@codesourcery.com>
9562
9563 PR c++/80029
9564 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
9565
eebc5e2d
JJ
95662017-03-08 Jakub Jelinek <jakub@redhat.com>
9567
9568 PR c/79940
9569 * testsuite/libgomp.c/pr79940.c: New test.
9570
1eb08f52
RO
95712017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9572
9573 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
9574 targets.
9575 Add __float128 options.
9576
b0f78ff3
JDA
95772017-02-11 John David Anglin <danglin@gcc.gnu.org>
9578
9579 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
9580 hppa*-*-* dg-skip-if directive.
9581
1bbe0d8f
JJ
95822017-02-09 Jakub Jelinek <jakub@redhat.com>
9583
9584 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
9585 dg-skip-if directive into a comment.
9586
02889d23
CLT
95872017-02-09 Nathan Sidwell <nathan@codesourcery.com>
9588 Chung-Lin Tang <cltang@codesourcery.com>
9589
9590 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
9591 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
9592 add additional case.
9593 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
9594 "openacc_nvidia_accel_selected".
9595 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
9596 Add num_workers(8) clause.
9597
5896a41d
JDA
95982017-02-08 John David Anglin <danglin@gcc.gnu.org>
9599
9600 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
9601 hppa*-*-*.
9602 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
9603 include complex.h on hppa*-*-hpux*.
9604 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9605
345a8c17
TS
96062017-02-02 Thomas Schwinge <thomas@codesourcery.com>
9607
e70ab10d
TS
9608 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
9609
345a8c17
TS
9610 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
9611 GOMP_OFFLOAD_openacc_exec. Adjust all users.
9612 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
9613 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
9614 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
9615 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
9616 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
9617 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
9618 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
9619 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
9620
dced339c
TS
96212017-01-31 Thomas Schwinge <thomas@codesourcery.com>
9622
9623 * libgomp-plugin.h: #include <stdbool.h>.
9624 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
9625 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
9626 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
9627 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
9628 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
9629 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
9630 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
9631 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
9632 (GOMP_OFFLOAD_openacc_register_async_cleanup)
9633 (GOMP_OFFLOAD_openacc_async_test)
9634 (GOMP_OFFLOAD_openacc_async_test_all)
9635 (GOMP_OFFLOAD_openacc_async_wait)
9636 (GOMP_OFFLOAD_openacc_async_wait_async)
9637 (GOMP_OFFLOAD_openacc_async_wait_all)
9638 (GOMP_OFFLOAD_openacc_async_wait_all_async)
9639 (GOMP_OFFLOAD_openacc_async_set_async)
9640 (GOMP_OFFLOAD_openacc_create_thread_data)
9641 (GOMP_OFFLOAD_openacc_destroy_thread_data)
9642 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
9643 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
9644 (GOMP_OFFLOAD_openacc_get_cuda_stream)
9645 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
9646 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
9647 these.
9648 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
9649 (GOMP_OFFLOAD_unload_image): Fix argument types.
9650
23749904
JJ
96512017-01-26 Jakub Jelinek <jakub@redhat.com>
9652
c1cadde1
JJ
9653 * testsuite/lib/libgomp.exp
9654 (check_effective_target_hsa_offloading_selected_nocache): Fix up
9655 check_compile invocation. Fix up removal of executable. Drop
9656 bogus "2>&1" argument.
9657
23749904
JJ
9658 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
9659 directive.
9660
96612017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
9662 Martin Jambor <mjambor@suse.cz>
9663
9664 * plugin/hsa.h: Moved to top level include.
9665 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
9666
73aa401e
JJ
96672017-01-21 Jakub Jelinek <jakub@redhat.com>
9668
9669 PR other/79046
9670 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
9671 of cat to get version from BASE-VER file.
9672 * testsuite/Makefile.in: Regenerated.
9673
b32e85fa
JJ
96742017-01-19 Jakub Jelinek <jakub@redhat.com>
9675
9676 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
9677 for _WIN64.
9678
3c36aa6b
JJ
96792017-01-17 Jakub Jelinek <jakub@redhat.com>
9680
d190d5c0
JJ
9681 * plugin/hsa.h: Add GCC runtime library exception.
9682 * plugin/hsa_ext_finalize.h: Likewise.
9683
2393d337
JJ
9684 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
9685 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
9686 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
9687 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
9688 plugin/include/cuda as include dir and -ldl instead of -lcuda as
9689 library to link ptx plugin against.
9690 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
9691 (CUDA_CALLS): Define.
9692 (cuda_lib, cuda_lib_inited): New variables.
9693 (init_cuda_lib): New function.
9694 (CUDA_CALL_PREFIX): Define.
9695 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
9696 (CUDA_CALL): Use FN instead of (FN).
9697 (CUDA_CALL_NOCHECK): Define.
9698 (cuda_error, fini_streams_for_device, select_stream_for_async,
9699 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
9700 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
9701 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
9702 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
9703 CUDA_CALL_NOCHECK.
9704 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
9705 CUDA_CALL_NOCHECK.
9706 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
9707 Use CUDA_CALL_NOCHECK.
9708 * plugin/cuda/cuda.h: New file.
9709 * config.h.in: Regenerated.
9710 * configure: Regenerated.
9711
3c36aa6b
JJ
9712 PR other/79046
9713 * configure.ac: Add GCC_BASE_VER.
9714 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
9715 get version from BASE-VER file.
9716 * testsuite/Makefile.in: Regenerated.
9717 * configure: Regenerated.
9718 * Makefile.in: Regenerated.
9719
c508bc2d
FXC
97202017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9721
9722 PR libgomp/60670
9723 * Makefile.am: Make fincludedir multilib-aware.
9724 * Makefile.in: Regenerate.
9725
c1a9c369
JJ
97262017-01-01 Jakub Jelinek <jakub@redhat.com>
9727
cbe34bb5
JJ
9728 Update copyright years.
9729
c1a9c369
JJ
9730 * libgomp.texi: Bump @copying's copyright year.
9731
e7a7f4be
SH
97322016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9733
9734 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
9735 pthread_spinlock_t instead of gomp_mutex_t lock.
9736 (gomp_get_thread_pool): Likewise.
9737 (gomp_release_thread_pool): Likewise.
9738 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
9739 Likewise.
9740
d313d52c
SH
97412016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9742
9743 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
9744 thread pool in case nthreads == 1.
9745
630e3c3a
AM
97462016-11-30 Alexander Monakov <amonakov@ispras.ru>
9747
9748 * config/nvptx/env.c: Delete.
9749 * icv.c: Move definitions of ICV variables back ...
9750 * env.c: ...here. Do not compile environment-related functionality if
9751 LIBGOMP_OFFLOADED_ONLY is set.
9752
9e38af5c
AM
97532016-11-30 Alexander Monakov <amonakov@ispras.ru>
9754
9755 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
9756 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
9757 * configure: Regenerate.
9758 * config.h.in: Likewise.
9759
f96b7f1f
AM
97602016-11-30 Alexander Monakov <amonakov@ispras.ru>
9761
9762 * Makefile.in: Regenerate with automake-1.11.6.
9763 * aclocal.m4: Likewise.
9764 * configure: Likewise.
9765 * testsuite/Makefile.in: Likewise.
9766
6a6951b1
AM
97672016-11-28 Alexander Monakov <amonakov@ispras.ru>
9768
9769 * config/nvptx/critical.c: Delete to use generic implementation.
9770
c7ac071f
JH
97712016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
9772
9773 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
9774 ../../affinity.c as fallback.
9775 * config/nvptx/affinity.c: Delete to use fallback implementation.
9776
6103184e 97772016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 9778 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
9779 Dmitry Melnik <dm@ispras.ru>
9780
9781 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
9782 * Makefile.in. Regenerate.
9783 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
9784 (LIBGOMP_USE_PTHREADS): ...here; new define.
9785 * configure: Regenerate.
9786 * config.h.in: Likewise.
9787 * config/posix/affinity.c: Move to...
9788 * affinity.c: ...here (new file). Guard use of Pthreads-specific
9789 interface by LIBGOMP_USE_PTHREADS.
9790 * critical.c: Split out GOMP_atomic_{start,end} into...
9791 * atomic.c: ...here (new file).
9792 * env.c: Split out ICV definitions into...
9793 * icv.c: ...here (new file) and...
9794 * icv-device.c: ...here. New file.
9795 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
9796 (gomp_destroy_lock_30): Ditto.
9797 (gomp_set_lock_30): Ditto.
9798 (gomp_unset_lock_30): Ditto.
9799 (gomp_test_lock_30): Ditto.
9800 (gomp_init_nest_lock_30): Ditto.
9801 (gomp_destroy_nest_lock_30): Ditto.
9802 (gomp_set_nest_lock_30): Ditto.
9803 (gomp_unset_nest_lock_30): Ditto.
9804 (gomp_test_nest_lock_30): Ditto.
9805 * lock.c: New.
9806 * config/nvptx/lock.c: New.
9807 * config/nvptx/bar.c: New.
9808 * config/nvptx/bar.h: New.
9809 * config/nvptx/doacross.h: New.
9810 * config/nvptx/error.c: New.
9811 * config/nvptx/icv-device.c: New.
9812 * config/nvptx/mutex.h: New.
9813 * config/nvptx/pool.h: New.
9814 * config/nvptx/proc.c: New.
9815 * config/nvptx/ptrlock.h: New.
9816 * config/nvptx/sem.h: New.
9817 * config/nvptx/simple-bar.h: New.
9818 * config/nvptx/target.c: New.
9819 * config/nvptx/task.c: New.
9820 * config/nvptx/team.c: New.
9821 * config/nvptx/time.c: New.
9822 * config/posix/simple-bar.h: New.
9823 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
9824 (gomp_num_teams_var): Declare.
9825 (struct gomp_thread_pool): Change threads_dock member to
9826 gomp_simple_barrier_t.
9827 [__nvptx__] (gomp_thread): New implementation.
9828 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
9829 (gomp_thread_destructor): Ditto.
9830 (gomp_init_thread_affinity): Ditto.
9831 * team.c: Guard uses of Pthreads-specific interfaces by
9832 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
9833 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
9834 * config/nvptx/alloc.c: Delete.
9835 * config/nvptx/barrier.c: Ditto.
9836 * config/nvptx/fortran.c: Ditto.
9837 * config/nvptx/iter.c: Ditto.
9838 * config/nvptx/iter_ull.c: Ditto.
9839 * config/nvptx/loop.c: Ditto.
9840 * config/nvptx/loop_ull.c: Ditto.
9841 * config/nvptx/ordered.c: Ditto.
9842 * config/nvptx/parallel.c: Ditto.
9843 * config/nvptx/priority_queue.c: Ditto.
9844 * config/nvptx/sections.c: Ditto.
9845 * config/nvptx/single.c: Ditto.
9846 * config/nvptx/splay-tree.c: Ditto.
9847 * config/nvptx/work.c: Ditto.
9848 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9849 -foffload=-lgfortran in addition to -lgfortran.
9850 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9851 * plugin/plugin-nvptx.c: Include <limits.h>.
9852 (struct targ_fn_descriptor): Add new fields.
9853 (struct ptx_device): Ditto. Set them...
9854 (nvptx_open_device): ...here.
9855 (nvptx_adjust_launch_bounds): New.
9856 (nvptx_host2dev): Allow NULL 'nvthd'.
9857 (nvptx_dev2host): Ditto.
9858 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9859 (link_ptx): Adjust log sizes.
9860 (nvptx_host2dev): Allow NULL 'nvthd'.
9861 (nvptx_dev2host): Ditto.
9862 (nvptx_set_clocktick): New. Use it...
9863 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
9864 fields.
9865 (GOMP_OFFLOAD_dev2dev): New.
9866 (nvptx_adjust_launch_bounds): New.
9867 (nvptx_stacks_size): New.
9868 (nvptx_stacks_alloc): New.
9869 (nvptx_stacks_free): New.
9870 (GOMP_OFFLOAD_run): New.
9871 (GOMP_OFFLOAD_async_run): New (stub).
9872
56b1c60e
MJ
98732016-11-23 Martin Jambor <mjambor@suse.cz>
9874
9875 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
9876 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9877 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9878
b8d89b03 98792016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 9880 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
9881
9882 * plugin/hsa.h: New file.
9883 * plugin/hsa_ext_finalize.h: New file.
9884 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
9885 header file unistd.h, and functions secure_getenv, __secure_getenv,
9886 getuid, geteuid, getgid and getegid.
9887 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9888 -D_GNU_SOURCE.
9889 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9890 Handle various cases of secure_getenv presence, add an implementation
9891 when we can test effective UID and GID.
9892 (struct hsa_runtime_fn_info): New structure.
9893 (hsa_runtime_fn_info hsa_fns): New variable.
9894 (hsa_runtime_lib): Likewise.
9895 (support_cpu_devices): Likewise.
9896 (init_enviroment_variables): Load newly introduced ENV
9897 variables.
9898 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
9899 (hsa_fatal): Likewise.
9900 (DLSYM_FN): New macro.
9901 (init_hsa_runtime_functions): New function.
9902 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9903 structure. Depending on environment, also allow CPU devices.
9904 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9905 (get_kernarg_memory_region): Likewise.
9906 (GOMP_OFFLOAD_init_device): Likewise.
9907 (destroy_hsa_program): Likewise.
9908 (init_basic_kernel_info): New function.
9909 (GOMP_OFFLOAD_load_image): Use it.
9910 (create_and_finalize_hsa_program): Call hsa run-time functions via
9911 hsa_fns structure.
9912 (create_single_kernel_dispatch): Likewise.
9913 (release_kernel_dispatch): Likewise.
9914 (init_single_kernel): Likewise.
9915 (parse_target_attributes): Allow up multiple HSA grid dimensions.
9916 (get_group_size): New function.
9917 (run_kernel): Likewise.
9918 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9919 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9920 structure.
9921 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9922 * testsuite/libgomp-test-support.exp.in: Likewise.
9923 * Makefile.in: Regenerated.
9924 * aclocal.m4: Likewise.
9925 * config.h.in: Likewise.
9926 * configure: Likewise.
9927 * testsuite/Makefile.in: Likewise.
9928
18d2ada8 99292016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 9930 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
9931
9932 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9933 mapping clauses to target constructs.
9934 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9935
84c1b9d3
MK
99362016-11-15 Matthias Klose <doko@ubuntu.com>
9937
9938 * configure: Regenerate.
9939
b4c3a85b
JJ
99402016-11-10 Jakub Jelinek <jakub@redhat.com>
9941
8ebd1b31
JJ
9942 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9943 * omp_lib.h.in (openmp_version): Likewise.
9944 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9945 of 201307.
9946 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9947
b4c3a85b
JJ
9948 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9949 (fib_wrapper): Add map(from: x) clause.
9950 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9951 (e_53_2): Likewise.
9952 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9953 (accum): Add map(tmp) clause.
9954 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9955 (accum): Add map(tofrom: tmp) clause.
9956 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
9957 (gramSchmidt): Likewise.
9958 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
9959 map(tofrom: sum) clause.
9960 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
9961 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
9962 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
9963 only allowed on the loop iterator.
9964 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
9965 * testsuite/libgomp.fortran/taskloop2.f90: New test.
9966 * testsuite/libgomp.fortran/taskloop4.f90: New test.
9967 * testsuite/libgomp.fortran/doacross1.f90: New test.
9968 * testsuite/libgomp.fortran/doacross3.f90: New test.
9969 * testsuite/libgomp.fortran/taskloop1.f90: New test.
9970 * testsuite/libgomp.fortran/taskloop3.f90: New test.
9971 * testsuite/libgomp.fortran/doacross2.f90: New test.
9972 * testsuite/libgomp.c/doacross-1.c (main): Add missing
9973 #pragma omp atomic read.
9974 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9975 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
9976
6668eb45
CP
99772016-11-02 Cesar Philippidis <cesar@codesourcery.com>
9978 Nathan Sidwell <nathan@acm.org>
9979
9980 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
9981 to determine default geometry.
9982 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
9983 dimension.
9984
f10e37a1
JJ
99852016-11-01 Jakub Jelinek <jakub@redhat.com>
9986
9987 * hashtab.h: Use standard GPLv3 with runtime exception
9988 boilerplate.
9989
015c7760
AH
99902016-10-27 Aldy Hernandez <aldyh@redhat.com>
9991
9992 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9993 size when allocating new thread.
9994
20a1e5b8
MP
99952016-09-14 Marek Polacek <polacek@redhat.com>
9996
9997 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9998
1cad9284
JJ
99992016-08-19 Jakub Jelinek <jakub@redhat.com>
10000
10001 PR fortran/71014
10002 * testsuite/libgomp.fortran/pr71014.f90: New test.
10003
2c71d454
CLT
100042016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
10005
10006 PR middle-end/70895
10007 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
10008 firstprivate clauses.
10009 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
10010 copy clauses.
10011 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
10012 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
10013 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
10014 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10015 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10016 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
10017 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10018 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
10019 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10020 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10021 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10022 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
10023
7c713714
CLT
100242016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
10025
10026 PR fortran/70598
10027 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
10028
5c934396
JJ
100292016-08-08 Jakub Jelinek <jakub@redhat.com>
10030
10031 PR c++/58706
10032 * testsuite/libgomp.c++/pr58706.C: New test.
10033
9ef64248
TS
100342016-08-04 Thomas Schwinge <thomas@codesourcery.com>
10035
bbc79c0e
TS
10036 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
10037 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
10038 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
10039 Likewise.
10040 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
10041 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
10042 Likewise.
10043 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
10044
9ef64248
TS
10045 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
10046 test, and don't hardcode -O0.
10047
c1311c86
NS
100482016-08-03 Nathan Sidwell <nathan@codesourcery.com>
10049
10050 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
10051
b1c9c068
CP
100522016-07-15 Cesar Philippidis <cesar@codesourcery.com>
10053
10054 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
10055 test.
10056
b4410f63
L
100572016-07-03 H.J. Lu <hongjiu.lu@intel.com>
10058
10059 PR middle-end/71734
10060 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
10061 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
10062
a8dbab92
JJ
100632016-07-01 Jakub Jelinek <jakub@redhat.com>
10064
10065 PR fortran/71717
10066 * testsuite/libgomp.fortran/associate3.f90: New test.
10067
9b6a8d0f
JJ
100682016-06-17 Jakub Jelinek <jakub@redhat.com>
10069
10070 * testsuite/libgomp.c++/target-21.C: New test.
10071
283635f9
JJ
100722016-06-16 Jakub Jelinek <jakub@redhat.com>
10073
10074 * testsuite/libgomp.c++/target-20.C: New test.
10075
27d6ba88
TS
100762016-06-10 Thomas Schwinge <thomas@codesourcery.com>
10077 Cesar Philippidis <cesar@codesourcery.com>
10078
10079 PR middle-end/71373
10080 * libgomp.oacc-c/nested-function-1.c: New file.
10081 * libgomp.oacc-c/nested-function-2.c: Likewise.
10082 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
10083 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
10084 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
10085
4b1ffdb1
TS
100862016-06-10 Thomas Schwinge <thomas@codesourcery.com>
10087
10088 PR c/71381
10089 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
10090 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
10091 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
10092
d821b794
CLT
100932016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
10094
10095 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
10096 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
10097
3616a8c5
CP
100982016-06-01 Cesar Philippidis <cesar@codesourcery.com>
10099
10100 PR c/70688
5eed9a88 10101 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 10102
7211a097
JJ
101032016-05-26 Jakub Jelinek <jakub@redhat.com>
10104
10105 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
10106 instead of invalid schedule(static, 0).
10107 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
10108
b4557008
CLT
101092016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
10110
10111 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
10112 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
10113 parameter, use to set async stream around call to gomp_unmap_vars,
10114 call gomp_unmap_vars() with 'do_copyfrom' set to true.
10115 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
10116 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
10117 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
10118 (event_add): Add int parameter, initialize 'val' field when
10119 adding new ptx_event struct.
10120 (nvptx_evec): Adjust event_add() call arguments.
10121 (nvptx_host2dev): Likewise.
10122 (nvptx_dev2host): Likewise.
10123 (nvptx_wait_async): Likewise.
10124 (nvptx_wait_all_async): Likewise.
10125 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
10126 pass to event_add() call.
10127 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
10128 parameter.
10129 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
10130 call openacc.register_async_cleanup_func() hook.
10131 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
10132 * target.c (gomp_copy_from_async): Delete function.
10133 (gomp_map_vars): Remove async_refcount.
10134 (gomp_unmap_vars): Likewise.
10135 (gomp_load_image_to_device): Likewise.
10136 (omp_target_associate_ptr): Likewise.
10137 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
10138 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
10139 (gomp_copy_from_async): Remove.
10140
6ce13072
CLT
101412016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
10142
10143 * target.c (gomp_device_copy): New function.
10144 (gomp_copy_host2dev): Likewise.
10145 (gomp_copy_dev2host): Likewise.
10146 (gomp_free_device_memory): Likewise.
10147 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
10148 (gomp_map_pointer): Likewise.
10149 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
10150 NULL value from alloc_func plugin hook.
10151 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
10152 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
10153 (gomp_unmap_vars): Likewise.
10154 (gomp_update): Adjust to call gomp_copy_dev2host and
10155 gomp_copy_host2dev functions.
10156 (gomp_unload_image_from_device): Handle false value from
10157 unload_image_func plugin hook.
10158 (gomp_init_device): Handle false value from init_device_func
10159 plugin hook.
10160 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
10161 (omp_target_free): Adjust to call gomp_free_device_memory.
10162 (omp_target_memcpy): Handle return values from host2dev_func,
10163 dev2host_func, and dev2dev_func plugin hooks.
10164 (omp_target_memcpy_rect_worker): Likewise.
10165 (gomp_target_fini): Handle false value from fini_device_func
10166 plugin hook.
10167 * libgomp.h (struct gomp_device_descr): Adjust return type of
10168 init_device_func, fini_device_func, unload_image_func, free_func,
10169 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
10170 * oacc-init.c (acc_shutdown_1): Handle false value from
10171 fini_device_func plugin hook.
10172 * oacc-host.c (host_init_device): Change return type to bool.
10173 (host_fini_device): Likewise.
10174 (host_unload_image): Likewise.
10175 (host_free): Likewise.
10176 (host_dev2host): Likewise.
10177 (host_host2dev): Likewise.
10178 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
10179 (acc_memcpy_to_device): Likewise.
10180 (acc_memcpy_from_device): Likewise.
10181 (delete_copyout): Add libfnname parameter, handle free_func
10182 hook fatal error case.
10183 (acc_delete): Adjust delete_copyout call.
10184 (acc_copyout): Likewise.
10185 (update_dev_host): Move gomp_mutex_unlock to after
10186 host2dev/dev2host hook calls.
10187
10188 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
10189 to 'hsa_error_msg', for clarity.
10190 (hsa_fatal): Likewise.
10191 (hsa_error): New function.
10192 (init_hsa_context): Change return type to bool, adjust to return
10193 false on error.
10194 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
10195 return value.
10196 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
10197 return false on error.
10198 (get_agent_info): Adjust to return NULL on error.
10199 (destroy_hsa_program): Change return type to bool, adjust to
10200 return false on error.
10201 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
10202 (destroy_module): Change return type to bool, adjust to
10203 return false on error.
10204 (GOMP_OFFLOAD_unload_image): Likewise.
10205 (GOMP_OFFLOAD_fini_device): Likewise.
10206 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
10207 (GOMP_OFFLOAD_free): Change to return false when called.
10208 (GOMP_OFFLOAD_dev2host): Likewise.
10209 (GOMP_OFFLOAD_host2dev): Likewise.
10210 (GOMP_OFFLOAD_dev2dev): Likewise.
10211
10212 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
10213 (CUDA_CALL): Likewise.
10214 (CUDA_CALL_ASSERT): Likewise.
10215 (map_init): Change return type to bool, use CUDA_CALL* macros.
10216 (map_fini): Likewise.
10217 (init_streams_for_device): Change return type to bool, adjust
10218 call to map_init.
10219 (fini_streams_for_device): Change return type to bool, adjust
10220 call to map_fini.
10221 (select_stream_for_async): Release stream_lock before calls to
10222 GOMP_PLUGIN_fatal, adjust call to map_init.
10223 (nvptx_init): Use CUDA_CALL* macros.
10224 (nvptx_attach_host_thread_to_device): Change return type to bool,
10225 use CUDA_CALL* macros.
10226 (nvptx_open_device): Use CUDA_CALL* macros.
10227 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
10228 macros.
10229 (nvptx_get_num_devices): Use CUDA_CALL* macros.
10230 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
10231 (nvptx_exec): Use CUDA_CALL* macros.
10232 (nvptx_alloc): Use CUDA_CALL* macros.
10233 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
10234 (nvptx_host2dev): Likewise.
10235 (nvptx_dev2host): Likewise.
10236 (nvptx_wait): Use CUDA_CALL* macros.
10237 (nvptx_wait_async): Likewise.
10238 (nvptx_wait_all): Likewise.
10239 (nvptx_wait_all_async): Likewise.
10240 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
10241 use CUDA_CALL* macros, adjust call to map_fini.
10242 (GOMP_OFFLOAD_init_device): Change return type to bool,
10243 adjust code accordingly.
10244 (GOMP_OFFLOAD_fini_device): Likewise.
10245 (GOMP_OFFLOAD_load_image): Adjust calls to
10246 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
10247 use CUDA_CALL* macros.
10248 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
10249 return code.
10250 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
10251 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
10252 handle error return.
10253 (GOMP_OFFLOAD_dev2host): Likewise.
10254 (GOMP_OFFLOAD_host2dev): Likewise.
10255 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
10256 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
10257
e46c7770
CP
102582016-05-24 Cesar Philippidis <cesar@codesourcery.com>
10259
10260 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
10261 (acc_free): Likewise.
10262 (acc_memcpy_to_device): Likewise.
10263 (acc_memcpy_from_device): Likewise.
10264 (acc_deviceptr): Likewise.
10265 (acc_hostptr): Likewise.
10266 (acc_is_present): Likewise.
10267 (acc_map_data): Likewise.
10268 (acc_unmap_data): Likewise.
10269 (present_create_copy): Likewise.
10270 (delete_copyout): Likewise.
10271 (update_dev_host): Likewise.
10272 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
10273 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
10274 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
10275 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10276 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
10277 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
10278 it only runs on nvptx targets.
10279 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
10280 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
10281 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10282 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10283 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10284 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
10285 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
10286 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
10287 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
10288 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
10289 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10290 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
10291 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
10292 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
10293 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
10294 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10295 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
10296 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
10297 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
10298 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
10299 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
10300 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
10301 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
10302
a5057543
MJ
103032016-05-23 Martin Jambor <mjambor@suse.cz>
10304
10305 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
10306
e37288a6
CLT
103072016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
10308
10309 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
10310 to gomp_init_targets_once.
10311 (acc_set_device_type): Remove !cached_base_dev condition on call to
10312 gomp_init_targets_once, move call to before acc_device_lock acquire,
10313 to avoid deadlock.
10314 (acc_get_device_num): Remove !cached_base_dev condition on call to
10315 gomp_init_targets_once.
10316 (acc_set_device_num): Likewise.
10317
51d9ed48
MJ
103182016-05-16 Martin Jambor <mjambor@suse.cz>
10319
92a285c1 10320 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 10321
5b37e866
NS
103222016-05-02 Nathan Sidwell <nathan@codesourcery.com>
10323
10324 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
10325 expected partitioning.
10326
e7ff0319
CP
103272016-04-29 Cesar Philippidis <cesar@codesourcery.com>
10328
10329 PR middle-end/70626
10330 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
10331 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
10332 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
10333
c2bd3b69
AM
103342016-04-21 Alexander Monakov <amonakov@ispras.ru>
10335
10336 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
10337 non-fatal.
10338
84311083
JJ
103392016-04-19 Jakub Jelinek <jakub@redhat.com>
10340
10341 PR middle-end/70680
10342 * testsuite/libgomp.c/pr70680-1.c: New test.
10343 * testsuite/libgomp.c/pr70680-2.c: New test.
10344
aadc043f
CP
103452016-04-14 Cesar Philippidis <cesar@codesourcery.com>
10346
10347 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
10348 pass parameter variables to subroutines.
10349
e387fc64
CP
103502016-04-14 Cesar Philippidis <cesar@codesourcery.com>
10351
10352 PR middle-end/70643
10353 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
10354
10c3c424
CP
103552016-04-13 Cesar Philippidis <cesar@codesourcery.com>
10356
10357 PR testsuite/68242
10358 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
10359 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10360
27f9add3
TS
103612016-04-12 Thomas Schwinge <thomas@codesourcery.com>
10362
58d32aeb
TS
10363 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
10364 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
10365 GOACC_declare prototype.
10366
d97633ef
TS
10367 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
10368 Merge this file, and...
10369 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
10370 ... this file, and...
10371 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
10372 ... this file, and...
10373 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
10374 ... this file, and...
10375 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
10376 ... this file, and...
10377 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
10378 ... this file, and...
10379 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
10380 ... this file, and...
10381 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
10382 ... this file, and...
10383 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
10384 ... this file, and...
10385 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
10386 ... this file, and...
10387 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
10388 ... this file, and...
10389 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
10390 ... this file, and...
10391 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
10392 ... this file into...
10393 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
10394 file.
10395
27f9add3
TS
10396 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
10397 Make failure observable.
10398
21f3a236
JJ
103992016-04-12 Jakub Jelinek <jakub@redhat.com>
10400
10401 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
10402 field.
10403 * target.c (gomp_target_fallback_firstprivate,
10404 gomp_target_unshare_firstprivate): Removed.
10405 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
10406 before waiting for dependencies.
10407 (gomp_target_task_fn): Don't copy firstprivate vars here.
10408 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
10409 firstprivate_copies here.
10410 (gomp_create_target_task): Don't initialize firstprivate_copies field.
10411 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
10412 explicit/implicit firstprivate.
10413
c42cfb5c
CP
104142016-04-08 Cesar Philippidis <cesar@codesourcery.com>
10415
10416 PR lto/70289
10417 PR ipa/70348
10418 PR tree-optimization/70373
10419 PR middle-end/70533
10420 PR middle-end/70534
10421 PR middle-end/70535
10422 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
10423 test.
10424 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
10425 test.
10426 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
10427 test.
10428 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
10429 test.
10430 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
10431 test.
10432 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
10433 test.
10434 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
10435 test.
10436 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
10437 test.
10438 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
10439 test.
10440 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
10441 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
10442 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
10443 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
10444 test.
10445 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
10446 test.
10447 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
10448 test.
10449 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
10450 test.
10451 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
10452 coverage.
10453 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10454 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
10455 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
10456 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
10457 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
10458 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
10459 coverage.
10460 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10461 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10462 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10463 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10464 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
10465 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
10466 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
10467 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
10468 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
10469 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10470 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10471 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10472 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
10473 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10474 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
10475
2620c80d
TS
104762016-03-30 Thomas Schwinge <thomas@codesourcery.com>
10477 James Norris <jnorris@codesourcery.com>
10478 Nathan Sidwell <nathan@codesourcery.com>
10479 Julian Brown <julian@codesourcery.com>
10480 Cesar Philippidis <cesar@codesourcery.com>
10481 Chung-Lin Tang <cltang@codesourcery.com>
10482 Tom de Vries <tom@codesourcery.com>
10483
10484 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
10485 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
10486 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
10487 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
10488 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
10489 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
10490 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
10491 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
10492 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
10493 XFAIL.
10494 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
10495 Incorporate...
10496 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
10497 file.
10498 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
10499 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
10500 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
10501 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
10502 Likewise.
10503 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
10504 Likewise.
10505 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
10506 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
10507 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
10508 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
10509 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
10510 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
10511 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
10512 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
10513 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
10514 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
10515 Likewise.
10516 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
10517 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
10518 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
10519 file...
10520 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
10521 file into...
10522 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
10523 file. Update.
10524 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
10525 file.
10526 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
10527 Likewise.
10528 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
10529 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
10530 ... this new file. Update.
10531 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
10532 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
10533 ... this new file. Update.
10534 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
10535 file. Incorporate...
10536 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
10537 file, and...
10538 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
10539 file, and...
10540 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
10541 file.
10542 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
10543
ce83104b
TS
105442016-03-29 Thomas Schwinge <thomas@codesourcery.com>
10545
10546 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
10547 set-torture-options.
10548
6e0df3b7
TS
105492016-03-24 Thomas Schwinge <thomas@codesourcery.com>
10550
10551 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
10552 gcc-dg-runtest.
10553 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10554 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
10555 -fno-builtin-acc_on_device instead of -O0.
10556 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
10557 -O0.
10558 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10559 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
10560 Likewise.
10561 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10562 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10563 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10564 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10565 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10566 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10567 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10568 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10569 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10570 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10571 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10572 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10573 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10574 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10575 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10576 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10577 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10578 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
10579 Don't specify -O2.
10580 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
10581 Likewise.
10582 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
10583 Likewise.
10584
f9c8babb
ML
105852016-03-24 Martin Liska <mliska@suse.cz>
10586
10587 * plugin/plugin-hsa.c (packet_store_release): New function
10588 that is taken from the HSA runtime manual.
10589 (GOMP_OFFLOAD_run): Use the function.
10590
04833609
JJ
105912016-03-23 Jakub Jelinek <jakub@redhat.com>
10592
10593 PR c++/70376
10594 * testsuite/libgomp.c++/pr70376.C: New test.
10595
d79ee524
TV
105962016-03-23 Tom de Vries <tom@codesourcery.com>
10597
10598 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
10599 initialization of lresult and lvresult.
10600 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
10601
b6d1f2b5
JN
106022016-03-23 James Norris <jnorris@codesourcery.com>
10603 Daichi Fukuoka <dc-fukuoka@sgi.com>
10604
10605 PR libgomp/69414
10606 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
10607 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
10608 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
10609 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
10610
7397fce2
ML
106112016-03-23 Martin Liska <mliska@suse.cz>
10612
10613 PR hsa/70337
10614 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
10615 argument just in case a dispatched kernel uses that argument.
10616
ee2e7d51
TS
106172016-03-16 Thomas Schwinge <thomas@codesourcery.com>
10618
10619 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
10620 -ftree-parallelize-loops/-fopenacc changes.
10621 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
10622 Likewise.
10623 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10624 Likewise.
10625 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
10626 Likewise.
10627 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
10628 Likewise.
10629 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
10630 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
10631
be9f7143
TS
106322016-03-13 Thomas Schwinge <thomas@codesourcery.com>
10633
10634 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
10635 always_ld_library_path the path to libgcc_s.
10636
f6c1032d
CP
106372016-03-10 Cesar Philippidis <cesar@codesourcery.com>
10638
10639 PR testsuite/70009
10640 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
10641
5a6452e6
TV
106422016-03-09 Tom de Vries <tom@codesourcery.com>
10643
10644 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
10645 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
10646 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10647 Same.
10648 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
10649 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
10650 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
10651 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
10652
96a71bd5
MJ
106532016-03-07 Martin Jambor <mjambor@suse.cz>
10654
10655 * testsuite/lib/libgomp.exp
10656 (check_effective_target_hsa_offloading_selected_nocache): New.
10657 (check_effective_target_hsa_offloading_selected): Likewise.
10658 * testsuite/libgomp.hsa.c/c.exp: Likewise.
10659 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
10660 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
10661 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
10662 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
10663 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
10664 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
10665 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
10666 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
10667 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
10668 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
10669 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
10670 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
10671 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
10672 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
10673 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
10674 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
10675
02e0b5b2
MJ
106762016-03-07 Martin Jambor <mjambor@suse.cz>
10677
10678 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
10679 non-shared memory accelerators.
10680 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
10681 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
10682 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
10683 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
10684 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
10685 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
10686 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
10687 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
10688 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
10689
45548f30
MJ
106902016-03-07 Martin Jambor <mjambor@suse.cz>
10691
10692 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
10693 ALWAYS_CFLAGS.
10694
da3d46cb
JJ
106952016-03-02 Jakub Jelinek <jakub@redhat.com>
10696
10697 PR libgomp/69555
10698 * testsuite/libgomp.c++/pr69555-1.C: New test.
10699 * testsuite/libgomp.c++/pr69555-2.C: New test.
10700
622174b2
KM
107012016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
10702 Martin Jambor <mjambor@suse.cz>
10703
10704 * testsuite/lib/libgomp.exp
10705 (check_effective_target_offload_device_shared_as): New proc.
10706 * testsuite/libgomp.c++/declare_target-1.C: New test.
10707
e6861a99
IV
107082016-02-25 Ilya Verbin <ilya.verbin@intel.com>
10709
10710 PR driver/68463
10711 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
10712
f99c3557
TS
107132016-02-23 Thomas Schwinge <thomas@codesourcery.com>
10714
10715 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
10716 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
10717 dims.
10718 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
10719 -ftree-parallelize-loops/-fopenacc changes.
10720 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
10721 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
10722 Likewise.
10723 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10724 Likewise.
10725 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10726 Likewise.
10727 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10728 Likewise.
10729 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10730 Likewise.
10731 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10732 Likewise.
10733 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
10734 Likewise.
10735 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
10736 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
10737 Likewise.
10738 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10739 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10740 Likewise.
10741 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10742 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10743 Likewise.
10744
d5ace3b5
CP
107452016-02-22 Cesar Philippidis <cesar@codesourcery.com>
10746
10747 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10748
f3609a89
JJ
107492016-02-19 Jakub Jelinek <jakub@redhat.com>
10750
10751 PR driver/69805
10752 * testsuite/libgomp.c/pr69805.c: New test.
10753
2175df99
TV
107542016-02-16 Tom de Vries <tom@codesourcery.com>
10755
10756 PR lto/67709
10757 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10758
17b6426c
TV
107592016-02-09 Tom de Vries <tom@codesourcery.com>
10760
10761 PR tree-optimization/69599
10762 * testsuite/libgomp.c/omp-nested-3.c: New test.
10763 * testsuite/libgomp.c/pr46032-2.c: New test.
10764 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
10765 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
10766
34df756c
TV
107672016-02-09 Tom de Vries <tom@codesourcery.com>
10768
10769 PR lto/69707
10770 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10771
5854ee30
AM
107722016-02-02 Alexander Monakov <amonakov@ispras.ru>
10773
10774 * testsuite/libgomp.c/target-31.c: Fix testcase.
10775
e70b6ad7
AM
107762016-02-02 Alexander Monakov <amonakov@ispras.ru>
10777
10778 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
10779 clause.
10780 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
10781 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
10782 reduction and map clauses.
10783 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10784
bd78a45f
JN
107852016-02-02 James Norris <jnorris@codesourcery.com>
10786
10787 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10788
41d809d3
TS
107892016-02-02 Thomas Schwinge <thomas@codesourcery.com>
10790
18f60146
TS
10791 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10792 * oacc-parallel.c (GOACC_host_data): Remove function definition.
10793
1a06f5e6
TS
10794 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10795 cases.
10796
033ff3d1
TS
10797 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
10798 variables.
10799 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
10800 (hsa_kmt_lib): Set variables.
10801 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
10802 always_ld_library_path.
10803 * Makefile.in: Regenerate.
10804 * configure: Likewise.
10805 * testsuite/Makefile.in: Likewise.
10806
4a88d9b7
TS
10807 * plugin/configfrag.ac (offload_additional_options)
10808 (offload_additional_lib_paths): Don't amend for hsa offloading.
10809 * configure: Regenerate.
10810
41d809d3
TS
10811 * plugin/configfrag.ac: Don't configure for offloading target if
10812 we don't build the corresponding plugin.
10813 * configure: Regenerate.
10814
b6adbb9f
NS
108152016-02-01 Nathan Sidwell <nathan@codesourcery.com>
10816
10817 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10818 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10819
8dfdb419
TV
108202016-01-26 Tom de Vries <tom@codesourcery.com>
10821
10822 PR tree-optimization/69110
10823 * testsuite/libgomp.c/pr69110.c: New test.
10824
02ef53f2
RB
108252016-01-25 Richard Biener <rguenther@suse.de>
10826
10827 PR lto/69393
10828 * testsuite/libgomp.c++/pr69393.C: New testcase.
10829
eb4048f2
IV
108302016-01-22 Ilya Verbin <ilya.verbin@intel.com>
10831
10832 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
10833 function wasn't mapped to the device with non-shared memory.
10834
b235cdd5
IV
108352016-01-20 Ilya Verbin <ilya.verbin@intel.com>
10836
10837 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10838
b2b40051
MJ
108392016-01-19 Martin Jambor <mjambor@suse.cz>
10840 Martin Liska <mliska@suse.cz>
10841
10842 * plugin/Makefrag.am: Add HSA plugin requirements.
10843 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10844 (HSA_RUNTIME_LIB): Likewise.
10845 (HSA_RUNTIME_CPPFLAGS): Likewise.
10846 (HSA_RUNTIME_INCLUDE): New substitution.
10847 (HSA_RUNTIME_LIB): Likewise.
10848 (HSA_RUNTIME_LDFLAGS): Likewise.
10849 (hsa-runtime): New configure option.
10850 (hsa-runtime-include): Likewise.
10851 (hsa-runtime-lib): Likewise.
10852 (PLUGIN_HSA): New substitution variable.
10853 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10854 configure options.
10855 (PLUGIN_HSA_CPPFLAGS): Likewise.
10856 (PLUGIN_HSA_LDFLAGS): Likewise.
10857 (PLUGIN_HSA_LIBS): Likewise.
10858 Check that we have access to HSA run-time.
10859 * libgomp-plugin.h (offload_target_type): New element
10860 OFFLOAD_TARGET_TYPE_HSA.
10861 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
10862 args.
10863 (bool gomp_create_target_task): Updated.
10864 (gomp_device_descr): Extra parameter of run_func and async_run_func,
10865 new field can_run_func.
10866 * libgomp_g.h (GOMP_target_ext): Update prototype.
10867 * oacc-host.c (host_run): Added a new parameter args.
10868 * target.c (calculate_firstprivate_requirements): New function.
10869 (copy_firstprivate_data): Likewise.
10870 (gomp_target_fallback_firstprivate): Use them.
10871 (gomp_target_unshare_firstprivate): New function.
10872 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
10873 devices.
10874 (GOMP_target): Do host fallback for all shared memory devices. Do not
10875 pass any args to plugins.
10876 (GOMP_target_ext): Introduce device-specific argument parameter args.
10877 Allow host fallback if device shares memory. Do not remap data if
10878 device has shared memory.
10879 (gomp_target_task_fn): Likewise. Also treat shared memory devices
10880 like host fallback for mappings.
10881 (GOMP_target_data): Treat shared memory devices like host fallback.
10882 (GOMP_target_data_ext): Likewise.
10883 (GOMP_target_update): Likewise.
10884 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
10885 gomp_create_target_task.
10886 (GOMP_target_enter_exit_data): Likewise.
10887 (omp_target_alloc): Treat shared memory devices like host fallback.
10888 (omp_target_free): Likewise.
10889 (omp_target_is_present): Likewise.
10890 (omp_target_memcpy): Likewise.
10891 (omp_target_memcpy_rect): Likewise.
10892 (omp_target_associate_ptr): Likewise.
10893 (gomp_load_plugin_for_device): Also load can_run.
10894 * task.c (GOMP_PLUGIN_target_task_completion): Free
10895 firstprivate_copies.
10896 (gomp_create_target_task): Accept new argument args and store it to
10897 ttask.
10898 * plugin/plugin-hsa.c: New file.
10899
5d7804a9
TV
109002016-01-18 Tom de Vries <tom@codesourcery.com>
10901
10902 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10903 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10904 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10905 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10906 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10907 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10908 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10909 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10910 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10911 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10912 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10913 Same.
10914 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10915 Same.
10916 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10917 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10918 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10919 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10920 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10921 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10922 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10923 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10924 Same.
10925 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10926
cb11f3cf
JJ
109272016-01-15 Jakub Jelinek <jakub@redhat.com>
10928
10929 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10930
33a126a6
CP
109312016-01-15 Cesar Philippidis <cesar@codesourcery.com>
10932
10933 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10934
cdf6119d
JN
109352016-01-12 James Norris <jnorris@codesourcery.com>
10936
10937 * libgomp.texi: Updates for OpenACC.
10938
0d58938e
AM
109392016-01-11 Alexander Monakov <amonakov@ispras.ru>
10940
10941 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10942
95918b49
L
109432016-01-07 H.J. Lu <hongjiu.lu@intel.com>
10944
10945 PR fortran/66680
10946 * testsuite/libgomp.fortran/pr66680.f90: New test.
10947
8fc708b7
JJ
109482016-01-07 Jakub Jelinek <jakub@redhat.com>
10949
10950 PR middle-end/68960
10951 * testsuite/libgomp.c/pr68960.c: New test.
10952
e9b596c1
NS
109532016-01-06 Nathan Sidwell <nathan@acm.org>
10954
1a14faf2 10955 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
10956 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10957
21fa2a29
JJ
109582016-01-04 Jakub Jelinek <jakub@redhat.com>
10959
818ab71a
JJ
10960 Update copyright years.
10961
21fa2a29
JJ
10962 * libgomp.texi: Bump @copying's copyright year.
10963
9310efbc
NS
109642015-12-31 Nathan Sidwell <nathan@acm.org>
10965
10966 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
10967 dg-additional-options syntax.
10968 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10969 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10970 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10971 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10972 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10973 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10974 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10975 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10976 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10977 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10978 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10979 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10980 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10981 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10982 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10983 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10984 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10985 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10986
4a38b02b
IV
109872015-12-15 Ilya Verbin <ilya.verbin@intel.com>
10988
10989 * libgomp.h (REFCOUNT_LINK): Define.
10990 (struct splay_tree_key_s): Add link_key.
10991 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
10992 Replace target address of the pointer with target address of newly
10993 mapped object in the splay tree. Set link pointer on target to the
10994 device address of the mapped object.
10995 (gomp_unmap_vars): Restore target address of the pointer in the splay
10996 tree for REFCOUNT_LINK objects after unmapping.
10997 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
10998 declare target link" objects.
10999 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
11000 "omp declare target link" objects, which were mapped for the image.
11001 (gomp_exit_data): Restore target address of the pointer in the splay
11002 tree for REFCOUNT_LINK objects after unmapping.
11003 * testsuite/libgomp.c/target-link-1.c: New file.
11004
d84ffc0a
IV
110052015-12-14 Ilya Verbin <ilya.verbin@intel.com>
11006
11007 * libgomp.h (gomp_device_state): New enum.
11008 (struct gomp_device_descr): Replace is_initialized with state.
11009 (gomp_fini_device): Remove declaration.
11010 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
11011 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
11012 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
11013 (acc_set_device_type): Use state instead of is_initialized.
11014 (acc_set_device_num): Likewise.
11015 * target.c (resolve_device): Use state instead of is_initialized.
11016 Do not initialize finalized device.
11017 (gomp_map_vars): Do nothing if device is finalized.
11018 (gomp_unmap_vars): Likewise.
11019 (gomp_update): Likewise.
11020 (GOMP_offload_register_ver): Use state instead of is_initialized.
11021 (GOMP_offload_unregister_ver): Likewise.
11022 (gomp_init_device): Likewise.
11023 (gomp_unload_device): Likewise.
11024 (gomp_fini_device): Remove.
11025 (gomp_get_target_fn_addr): Do nothing if device is finalized.
11026 (GOMP_target): Go to host fallback if device is finalized.
11027 (GOMP_target_ext): Likewise.
11028 (gomp_exit_data): Do nothing if device is finalized.
11029 (gomp_target_task_fn): Go to host fallback if device is finalized.
11030 (gomp_target_fini): New static function.
11031 (gomp_target_init): Use state instead of is_initialized.
11032 Call gomp_target_fini at exit.
11033
76680678
TV
110342015-12-09 Tom de Vries <tom@codesourcery.com>
11035
11036 PR tree-optimization/68716
11037 * testsuite/libgomp.c/omp-nested-2.c: New test.
11038
ff7a55bf
TS
110392015-12-02 Thomas Schwinge <thomas@codesourcery.com>
11040
11041 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
11042 target openacc_nvidia_accel_selected.
11043 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
11044 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
11045 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
11046 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
11047
37d5ad46
JB
110482015-12-01 Julian Brown <julian@codesourcery.com>
11049 James Norris <James_Norris@mentor.com>
11050
11051 * oacc-parallel.c (GOACC_host_data): New function.
11052 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
11053 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
11054 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
11055 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
11056 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
11057 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
11058 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
11059
db941d7e
CP
110602015-11-30 James Norris <jnorris@codesourcery.com>
11061 Cesar Philippidis <cesar@codesourcery.com>
11062
11063 libgomp/
11064 * libgomp.oacc-fortran/routine-5.f90: New test.
11065 * libgomp.oacc-fortran/routine-7.f90: New test.
11066 * libgomp.oacc-fortran/routine-9.f90: New test.
11067
e0ca27c5
TV
110682015-11-30 Tom de Vries <tom@codesourcery.com>
11069
11070 PR tree-optimization/46032
11071 * testsuite/libgomp.c/pr46032.c: New test.
11072
aec17bfe
JJ
110732015-11-27 Jakub Jelinek <jakub@redhat.com>
11074
8e4e4719
JJ
11075 PR libgomp/68579
11076 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
11077 (gomp_create_target_task): Call it before freeing
11078 GOMP_TARGET_TASK_DATA tasks.
11079
aec17bfe
JJ
11080 PR c/63326
11081 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
11082 in between case label and OpenMP standalone directives.
11083 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
11084
6cfe90e6
DE
110852015-11-26 David Edelsohn <dje.gcc@gmail.com>
11086
11087 * configure: Regenerate.
11088
0e65fd7d
JJ
110892015-11-26 Jakub Jelinek <jakub@redhat.com>
11090
11091 * testsuite/libgomp.c/target-35.c: New test.
11092
dc7a8b4b
JN
110932015-11-22 James Norris <jnorris@codesourcery.com>
11094 Cesar Philippidis <cesar@codesourcery.com>
11095
11096 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
11097 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11098 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11099 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11100 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11101
48a78aee
JJ
111022015-11-20 Jakub Jelinek <jakub@redhat.com>
11103
11104 PR middle-end/68221
11105 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
11106 * testsuite/libgomp.c/reduction-12.c: Likewise.
11107 * testsuite/libgomp.c++/reduction-11.C: Likewise.
11108 * testsuite/libgomp.c++/reduction-12.C: Likewise.
11109
2d256816
NS
111102015-11-19 Nathan Sidwell <nathan@codesourcery.com>
11111
11112 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
11113 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
11114 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
11115 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
11116 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
11117 and fix.
11118 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
11119 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
11120
33f47f42
NS
111212015-11-18 Nathan Sidwell <nathan@codesourcery.com>
11122
11123 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
11124 worker & gang cases.
11125 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
11126
3d7bfee0
CP
111272015-11-17 Cesar Philippidis <cesar@codesourcery.com>
11128
11129 * config/nvptx/priority_queue.c: New file.
11130
00b9bd52
JJ
111312015-11-14 Jakub Jelinek <jakub@redhat.com>
11132
11133 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
11134 sections.
11135
e4606348
JJ
111362015-11-14 Jakub Jelinek <jakub@redhat.com>
11137 Aldy Hernandez <aldyh@redhat.com>
11138 Ilya Verbin <ilya.verbin@intel.com>
11139
11140 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
11141 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
11142 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
11143 iterators or IV by chunk size.
11144 * parallel.c (gomp_resolve_num_threads): Don't assume that
11145 if thr->ts.team is non-NULL, then pool must be non-NULL.
11146 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
11147 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
11148 GOMP_PLUGIN_target_task_completion.
11149 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
11150 * Makefile.in: Regenerate.
11151 * libgomp.h: Shuffle prototypes and forward definitions around so
11152 priority queues can be defined.
11153 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
11154 (enum gomp_target_task_state): New enum.
11155 (struct gomp_target_task): Add state, tgt, task and team fields.
11156 (gomp_create_target_task): Change return type to bool, add
11157 state argument.
11158 (gomp_target_task_fn): Change return type to bool.
11159 (struct gomp_device_descr): Add async_run_func.
11160 (struct gomp_task): Remove children, next_child, prev_child,
11161 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
11162 Add pnode field.
11163 (struct gomp_taskgroup): Remove children.
11164 Add taskgroup_queue.
11165 (struct gomp_team): Change task_queue type to a priority queue.
11166 (splay_compare): Define inline.
11167 (priority_queue_offset): New.
11168 (priority_node_to_task): New.
11169 (task_to_priority_node): New.
11170 * oacc-mem.c: Do not include splay-tree.h.
11171 * priority_queue.c: New file.
11172 * priority_queue.h: New file.
11173 * splay-tree.c: Do not include splay-tree.h.
11174 (splay_tree_foreach_internal): New.
11175 (splay_tree_foreach): New.
11176 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
11177 (splay_tree_callback): Define typedef.
11178 * target.c (splay_compare): Move to libgomp.h.
11179 (GOMP_target): Don't adjust *thr in any way around running offloaded
11180 task.
11181 (GOMP_target_ext): Likewise. Handle target nowait.
11182 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
11183 return value from gomp_create_target_task, if false, fallthrough
11184 as if no dependencies exist.
11185 (gomp_target_task_fn): Change return type to bool, return true
11186 if the task should have another part scheduled later. Handle
11187 target nowait.
11188 (gomp_load_plugin_for_device): Initialize async_run.
11189 * task.c (gomp_init_task): Initialize children_queue.
11190 (gomp_clear_parent_in_list): New.
11191 (gomp_clear_parent_in_tree): New.
11192 (gomp_clear_parent): Handle priorities.
11193 (GOMP_task): Likewise.
11194 (priority_queue_move_task_first,
11195 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
11196 New functions.
11197 (gomp_create_target_task): Use priority queues. Change return type
11198 to bool, add state argument, return false if for async
11199 {{enter,exit} data,update} constructs no dependencies need to be
11200 waited for, handle target nowait. Set task->fn to NULL instead of
11201 gomp_target_task_fn.
11202 (verify_children_queue): Remove.
11203 (priority_list_upgrade_task): New.
11204 (priority_queue_upgrade_task): New.
11205 (verify_task_queue): Remove.
11206 (priority_list_downgrade_task): New.
11207 (priority_queue_downgrade_task): New.
11208 (gomp_task_run_pre): Use priority queues.
11209 Abstract code out to priority_queue_downgrade_task.
11210 (gomp_task_run_post_handle_dependers): Use priority queues.
11211 (gomp_task_run_post_remove_parent): Likewise.
11212 (gomp_task_run_post_remove_taskgroup): Likewise.
11213 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
11214 tasks specially.
11215 (GOMP_taskwait): Likewise.
11216 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
11217 priority-queue_upgrade_task.
11218 (GOMP_taskgroup_start): Use priority queues.
11219 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
11220 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
11221 barrier.
11222 * taskloop.c (GOMP_taskloop): Handle priorities.
11223 * team.c (gomp_new_team): Call priority_queue_init.
11224 (free_team): Call priority_queue_free.
11225 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
11226 team created for target nowait in implicit parallel region.
11227 (gomp_team_start): For nested check, test thr->ts.level instead of
11228 thr->ts.team != NULL.
11229 * testsuite/libgomp.c/doacross-3.c: New test.
11230 * testsuite/libgomp.c/ordered-5.c: New test.
11231 * testsuite/libgomp.c/priority.c: New test.
11232 * testsuite/libgomp.c/target-31.c: New test.
11233 * testsuite/libgomp.c/target-32.c: New test.
11234 * testsuite/libgomp.c/target-33.c: New test.
11235 * testsuite/libgomp.c/target-34.c: New test.
11236
1d1ab74f
NS
112372015-11-13 Nathan Sidwell <nathan@codesourcery.com>
11238
c5a64cfe
NS
11239 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
11240
1d1ab74f
NS
11241 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
11242 loop is sequential.
11243
dd3c1b14
NS
112442015-11-13 Nathan Sidwell <nathan@codesourcery.com>
11245
11246 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
11247 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
11248
6e232ba4
JN
112492015-11-12 James Norris <jnorris@codesourcery.com>
11250 Joseph Myers <joseph@codesourcery.com>
11251
11252 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
11253 * oacc-parallel.c (GOACC_declare): New function.
11254 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
11255 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
11256 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
11257 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
11258 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
11259
fffeedeb
NS
112602015-11-12 Nathan Sidwell <nathan@codesourcery.com>
11261
11262 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
11263
182190f2
NS
112642015-11-1 Nathan Sidwell <nathan@codesourcery.com>
11265
11266 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
11267 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
11268
36fa0f5f
NS
112692015-11-09 Nathan Sidwell <nathan@codesourcery.com>
11270
d350c40c
NS
11271 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
11272 inadvertent commit.
11273
112742015-11-09 Nathan Sidwell <nathan@codesourcery.com>
11275
36fa0f5f
NS
11276 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
11277 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
11278 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
11279 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
11280 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
11281
66a5f0b4
TS
112822015-11-06 Thomas Schwinge <thomas@codesourcery.com>
11283
11284 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
11285 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
11286
e01d41e5
JJ
112872015-11-05 Jakub Jelinek <jakub@redhat.com>
11288 Ilya Verbin <ilya.verbin@intel.com>
11289
11290 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
11291 GOMP_loop_nonmonotonic_dynamic_start,
11292 GOMP_loop_nonmonotonic_guided_next,
11293 GOMP_loop_nonmonotonic_guided_start,
11294 GOMP_loop_ull_nonmonotonic_dynamic_next,
11295 GOMP_loop_ull_nonmonotonic_dynamic_start,
11296 GOMP_loop_ull_nonmonotonic_guided_next,
11297 GOMP_loop_ull_nonmonotonic_guided_start,
11298 GOMP_parallel_loop_nonmonotonic_dynamic,
11299 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
11300 (GOMP_target_41): Renamed to ...
11301 (GOMP_target_ext): ... this. Add num_teams and thread_limit
11302 arguments.
11303 (GOMP_target_data_41): Renamed to ...
11304 (GOMP_target_data_ext): ... this.
11305 (GOMP_target_update_41): Renamed to ...
11306 (GOMP_target_update_ext): ... this.
11307 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
11308 GOMP_target_data_ext and GOMP_target_update_ext instead of
11309 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
11310 Export GOMP_loop_nonmonotonic_dynamic_next,
11311 GOMP_loop_nonmonotonic_dynamic_start,
11312 GOMP_loop_nonmonotonic_guided_next,
11313 GOMP_loop_nonmonotonic_guided_start,
11314 GOMP_loop_ull_nonmonotonic_dynamic_next,
11315 GOMP_loop_ull_nonmonotonic_dynamic_start,
11316 GOMP_loop_ull_nonmonotonic_guided_next,
11317 GOMP_loop_ull_nonmonotonic_guided_start,
11318 GOMP_parallel_loop_nonmonotonic_dynamic and
11319 GOMP_parallel_loop_nonmonotonic_guided.
11320 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
11321 GOMP_parallel_loop_nonmonotonic_guided,
11322 GOMP_loop_nonmonotonic_dynamic_start,
11323 GOMP_loop_nonmonotonic_guided_start,
11324 GOMP_loop_nonmonotonic_dynamic_next,
11325 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
11326 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
11327 GOMP_loop_ull_nonmonotonic_guided_start,
11328 GOMP_loop_ull_nonmonotonic_dynamic_next,
11329 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
11330 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
11331 functions.
11332 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
11333 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
11334 Use gomp_map_val function.
11335 (gomp_target_fallback_firstprivate): New static function.
11336 (GOMP_target_41): Renamed to ...
11337 (GOMP_target_ext): ... this. Add num_teams and thread_limit
11338 arguments. Move firstprivate fallback handling into a new
11339 function.
11340 (GOMP_target_data_41): Renamed to ...
11341 (GOMP_target_data_ext): ... this.
11342 (GOMP_target_update_41): Renamed to ...
11343 (GOMP_target_update_ext): ... this.
11344 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
11345 gomp_map_0len_lookup instead of gomp_map_lookup.
11346 (omp_target_is_present): Use gomp_map_0len_lookup instead of
11347 gomp_map_lookup.
11348 * testsuite/libgomp.c/target-28.c: Likewise.
11349 * testsuite/libgomp.c/monotonic-1.c: New test.
11350 * testsuite/libgomp.c/monotonic-2.c: New test.
11351 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
11352 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
11353 * testsuite/libgomp.c/pr66199-5.c: New test.
11354 * testsuite/libgomp.c/pr66199-6.c: New test.
11355 * testsuite/libgomp.c/pr66199-7.c: New test.
11356 * testsuite/libgomp.c/pr66199-8.c: New test.
11357 * testsuite/libgomp.c/pr66199-9.c: New test.
11358 * testsuite/libgomp.c/reduction-11.c: New test.
11359 * testsuite/libgomp.c/reduction-12.c: New test.
11360 * testsuite/libgomp.c/reduction-13.c: New test.
11361 * testsuite/libgomp.c/reduction-14.c: New test.
11362 * testsuite/libgomp.c/reduction-15.c: New test.
11363 * testsuite/libgomp.c/target-12.c (main): Adjust for
11364 omp_target_is_present change for one-past-last element.
11365 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
11366 the same var is both mapped and privatized.
11367 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
11368 handling of zero-length array sections.
11369 * testsuite/libgomp.c/target-28.c: New test.
11370 * testsuite/libgomp.c/target-29.c: New test.
11371 * testsuite/libgomp.c/target-30.c: New test.
11372 * testsuite/libgomp.c/target-teams-1.c: New test.
11373 * testsuite/libgomp.c++/member-6.C: New test.
11374 * testsuite/libgomp.c++/member-7.C: New test.
11375 * testsuite/libgomp.c++/monotonic-1.C: New test.
11376 * testsuite/libgomp.c++/monotonic-2.C: New test.
11377 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
11378 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
11379 * testsuite/libgomp.c++/pr66199-3.C: New test.
11380 * testsuite/libgomp.c++/pr66199-4.C: New test.
11381 * testsuite/libgomp.c++/pr66199-5.C: New test.
11382 * testsuite/libgomp.c++/pr66199-6.C: New test.
11383 * testsuite/libgomp.c++/pr66199-7.C: New test.
11384 * testsuite/libgomp.c++/pr66199-8.C: New test.
11385 * testsuite/libgomp.c++/pr66199-9.C: New test.
11386 * testsuite/libgomp.c++/reduction-11.C: New test.
11387 * testsuite/libgomp.c++/reduction-12.C: New test.
11388 * testsuite/libgomp.c++/target-13.C: New test.
11389 * testsuite/libgomp.c++/target-14.C: New test.
11390 * testsuite/libgomp.c++/target-15.C: New test.
11391 * testsuite/libgomp.c++/target-16.C: New test.
11392 * testsuite/libgomp.c++/target-17.C: New test.
11393 * testsuite/libgomp.c++/target-18.C: New test.
11394 * testsuite/libgomp.c++/target-19.C: New test.
11395
ccc8282b
NS
113962015-11-04 Nathan Sidwell <nathan@codesourcery.com>
11397
11398 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
11399 and reduction copy.
11400 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11401 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11402 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11403 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11404 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
11405 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
11406 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
11407 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
11408 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
11409 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
11410 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
11411 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
11412 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
11413 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
11414
5d6823a2
NS
114152015-11-04 Nathan Sidwell <nathan@codesourcery.com>
11416
11417 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
11418 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
11419 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
11420 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
11421 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
11422 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
11423 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
11424 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
11425
5c06742f
NS
114262015-11-03 Nathan Sidwell <nathan@codesourcery.com>
11427
11428 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
11429 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
11430 (GOMP_OFFLOAD_openacc_parallel): Likewise.
11431 * oacc-host.c (host_openacc_exec): Likewise.
11432 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
11433
4bf9e5a8
TS
114342015-11-03 Julian Brown <julian@codesourcery.com>
11435 Thomas Schwinge <thomas@codesourcery.com>
11436
11437 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
11438 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
11439 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
11440 Likewise.
11441 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
11442 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
11443
114442015-11-03 James Norris <jnorris@codesourcery.com>
11445
11446 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
11447 file.
11448 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
11449 Likewise.
11450 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
11451 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
11452 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11453 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
11454 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11455
a0e701d8
NS
114562015-10-29 Nathan Sidwell <nathan@codesourcery.com>
11457
11458 * openacc.h (enum acc_device_t): Reformat. Ensure layout
11459 compatibility.
11460 (enum acc_async_t): Reformat.
11461 (acc_on_device): Declare compatible with builtin and provide C++
11462 wrapper.
11463 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
11464
41e977ac
TS
114652015-10-29 Thomas Schwinge <thomas@codesourcery.com>
11466 Cesar Philippidis <cesar@codesourcery.com>
11467
11468 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
11469 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
11470 ... this. Add a description of the test at the top of the file.
11471 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
11472 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
11473 ... this. Add a description of the test at the top of the file.
11474
e3091406
NS
114752015-10-28 Nathan Sidwell <nathan@codesourcery.com>
11476
11477 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
11478 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
11479 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
11480 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
11481 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
11482 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
11483
a1c1908b
NS
114842015-10-27 Nathan Sidwell <nathan@codesourcery.com>
11485
11486 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
11487 dimensions.
11488
b3962a4a
TS
114892015-10-27 Thomas Schwinge <thomas@codesourcery.com>
11490
11491 PR testsuite/68063
11492 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
11493
88bae6f4
TS
114942015-10-27 James Norris <jnorris@codesourcery.com>
11495
11496 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
11497 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
11498
8baa7864
TS
114992015-10-26 Thomas Schwinge <thomas@codesourcery.com>
11500
bdeb752c
TS
11501 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
11502 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11503
ecd4fd43
TS
11504 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
11505 acc_device_nvidia usage.
11506 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
11507 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11508 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
11509
aa8b7d30
TS
11510 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
11511 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
11512
7c8f138d
TS
11513 PR libgomp/66518
11514 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
11515
8baa7864
TS
11516 PR libgomp/65437
11517 PR libgomp/66518
11518 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
11519 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
11520
88ebcde5
TV
115212015-10-23 Tom de Vries <tom@codesourcery.com>
11522
11523 PR testsuite/68063
11524 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
11525
9ef83c04
NS
115262015-10-20 Nathan Sidwell <nathan@codesourcery.com>
11527
11528 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
11529 vector_length.
11530 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11531
3837c6d6
IV
115322015-10-14 Ilya Verbin <ilya.verbin@intel.com>
11533 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
11534
11535 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
11536 to 0 when mapnum is 0.
11537
ac8a1965
SH
115382015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
11539
11540 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
11541 Cast to int from int32_t.
11542
d9a6bd32
JJ
115432015-10-13 Jakub Jelinek <jakub@redhat.com>
11544 Aldy Hernandez <aldyh@redhat.com>
11545 Ilya Verbin <ilya.verbin@intel.com>
11546
11547 * config/linux/affinity.c (omp_get_place_num_procs,
11548 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
11549 * config/linux/doacross.h: New file.
11550 * config/posix/affinity.c (omp_get_place_num_procs,
11551 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
11552 * config/posix/doacross.h: New file.
11553 * env.c: Include gomp-constants.h.
11554 (struct gomp_task_icv): Rename run_sched_modifier to
11555 run_sched_chunk_size.
11556 (gomp_max_task_priority_var): New variable.
11557 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
11558 (handle_omp_display_env): Change _OPENMP value from 201307 to
11559 201511. Print OMP_MAX_TASK_PRIORITY.
11560 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
11561 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
11562 chunk_size and run_sched_modifier to run_sched_chunk_size.
11563 (omp_get_max_task_priority, omp_get_initial_device,
11564 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
11565 omp_get_partition_place_nums): New functions.
11566 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
11567 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
11568 to chunk_size.
11569 (omp_get_num_places_, omp_get_place_num_procs_,
11570 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
11571 omp_get_place_proc_ids_8_, omp_get_place_num_,
11572 omp_get_partition_num_places_, omp_get_partition_place_nums_,
11573 omp_get_partition_place_nums_8_, omp_get_initial_device_,
11574 omp_get_max_task_priority_): New functions.
11575 * libgomp_g.h (GOMP_loop_doacross_static_start,
11576 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
11577 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
11578 GOMP_loop_ull_doacross_dynamic_start,
11579 GOMP_loop_ull_doacross_guided_start,
11580 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
11581 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
11582 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
11583 GOMP_target_data_41, GOMP_target_update_41,
11584 GOMP_target_enter_exit_data): New prototypes.
11585 (GOMP_task): Add prototype argument.
11586 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
11587 (struct gomp_doacross_work_share): New type.
11588 (struct gomp_work_share): Add doacross field.
11589 (struct gomp_task_icv): Rename run_sched_modifier to
11590 run_sched_chunk_size.
11591 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
11592 GOMP_TASK_UNDEFERRED. Add comments.
11593 (struct gomp_task_depend_entry): Add comments.
11594 (struct gomp_task): Likewise.
11595 (struct gomp_taskgroup): Likewise.
11596 (struct gomp_target_task): New type.
11597 (struct gomp_team): Add comment.
11598 (gomp_get_place_proc_ids_8, gomp_doacross_init,
11599 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
11600 gomp_create_target_task, gomp_target_task_fn): New prototypes.
11601 (struct target_var_desc): New type.
11602 (struct target_mem_desc): Adjust comment. Use struct
11603 target_var_desc instead of splay_tree_key for list.
11604 (REFCOUNT_INFINITY): Define.
11605 (struct splay_tree_key_s): Remove copy_from field.
11606 (struct gomp_device_descr): Add dev2dev_func field.
11607 (enum gomp_map_vars_kind): New enum.
11608 (gomp_map_vars): Add one argument.
11609 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
11610 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
11611 omp_get_place_num_procs, omp_get_place_num_procs_,
11612 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
11613 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
11614 omp_get_place_num_, omp_get_partition_num_places,
11615 omp_get_partition_num_places_, omp_get_partition_place_nums,
11616 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
11617 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
11618 omp_target_free, omp_target_is_present, omp_target_memcpy,
11619 omp_target_memcpy_rect, omp_target_associate_ptr and
11620 omp_target_disassociate_ptr.
11621 (GOMP_4.0.2): Renamed to ...
11622 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
11623 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
11624 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
11625 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11626 GOMP_loop_doacross_static_start, GOMP_doacross_post,
11627 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
11628 GOMP_loop_ull_doacross_guided_start,
11629 GOMP_loop_ull_doacross_runtime_start,
11630 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
11631 GOMP_doacross_ull_wait.
11632 * libgomp.texi: Document omp_get_max_task_priority.
11633 Rename modifier argument to chunk_size for omp_set_schedule and
11634 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
11635 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
11636 to run_sched_chunk_size renaming.
11637 (GOMP_loop_ordered_runtime_start): Likewise.
11638 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
11639 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11640 GOMP_parallel_loop_runtime_start): New functions.
11641 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
11642 to run_sched_chunk_size renaming.
11643 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
11644 GOMP_loop_doacross_guided_start): New functions or aliases.
11645 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
11646 run_sched_modifier to run_sched_chunk_size renaming.
11647 (GOMP_loop_ull_ordered_runtime_start): Likewise.
11648 (gomp_loop_ull_doacross_static_start,
11649 gomp_loop_ull_doacross_dynamic_start,
11650 gomp_loop_ull_doacross_guided_start,
11651 GOMP_loop_ull_doacross_runtime_start): New functions.
11652 (GOMP_loop_ull_doacross_static_start,
11653 GOMP_loop_ull_doacross_dynamic_start,
11654 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
11655 * oacc-mem.c (acc_map_data, present_create_copy,
11656 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
11657 to gomp_map_vars.
11658 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
11659 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
11660 instead of false to gomp_map_vars.
11661 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
11662 * omp.h.in (omp_lock_hint_t): New type.
11663 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11664 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11665 omp_get_place_num, omp_get_partition_num_places,
11666 omp_get_partition_place_nums, omp_get_initial_device,
11667 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
11668 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
11669 omp_target_associate_ptr, omp_target_disassociate_ptr): New
11670 prototypes.
11671 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
11672 (omp_lock_hint_none, omp_lock_hint_uncontended,
11673 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11674 omp_lock_hint_speculative): New parameters.
11675 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11676 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11677 omp_get_place_num, omp_get_partition_num_places,
11678 omp_get_partition_place_nums, omp_get_initial_device,
11679 omp_get_max_task_priority): New interfaces.
11680 (omp_set_schedule, omp_get_schedule): Rename modifier argument
11681 to chunk_size.
11682 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
11683 (omp_lock_hint_none, omp_lock_hint_uncontended,
11684 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11685 omp_lock_hint_speculative): New parameters.
11686 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11687 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11688 omp_get_place_num, omp_get_partition_num_places,
11689 omp_get_partition_place_nums, omp_get_initial_device,
11690 omp_get_max_task_priority): New functions and subroutines.
11691 * ordered.c: Include stdarg.h and string.h.
11692 (MAX_COLLAPSED_BITS): Define.
11693 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
11694 gomp_doacross_ull_init, GOMP_doacross_ull_post,
11695 GOMP_doacross_ull_wait): New functions.
11696 * target.c: Include errno.h.
11697 (resolve_device): If device is not initialized, call
11698 gomp_init_device on it.
11699 (gomp_map_lookup): New function.
11700 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
11701 Don't bump refcount if REFCOUNT_INFINITY. Handle
11702 GOMP_MAP_ALWAYS_TO_P.
11703 (get_kind): Rename is_openacc argument to short_mapkind.
11704 (gomp_map_pointer): Use gomp_map_lookup.
11705 (gomp_map_fields_existing): New function.
11706 (gomp_map_vars): Rename is_openacc argument to short_mapkind
11707 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
11708 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
11709 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
11710 Adjust for tgt->list changed type and copy_from living in there.
11711 (gomp_copy_from_async): Adjust for tgt->list changed type and
11712 copy_from living in there.
11713 (gomp_unmap_vars): Likewise.
11714 (gomp_update): Likewise. Rename is_openacc argument to
11715 short_mapkind. Don't fail if object is not mapped.
11716 (gomp_load_image_to_device): Initialize refcount to
11717 REFCOUNT_INFINITY.
11718 (gomp_target_fallback): New function.
11719 (gomp_get_target_fn_addr): Likewise.
11720 (GOMP_target): Adjust gomp_map_vars caller, use
11721 gomp_get_target_fn_addr and gomp_target_fallback.
11722 (GOMP_target_41): New function.
11723 (gomp_target_data_fallback): New function.
11724 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
11725 (GOMP_target_data_41): New function.
11726 (GOMP_target_update): Adjust gomp_update caller.
11727 (GOMP_target_update_41): New function.
11728 (gomp_exit_data, GOMP_target_enter_exit_data,
11729 gomp_target_task_fn, omp_target_alloc, omp_target_free,
11730 omp_target_is_present, omp_target_memcpy,
11731 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
11732 omp_target_associate_ptr, omp_target_disassociate_ptr,
11733 gomp_load_plugin_for_device): New functions.
11734 * task.c: Include gomp-constants.h. Include taskloop.c
11735 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
11736 (gomp_task_handle_depend): New function.
11737 (GOMP_task): Use it. Add priority argument. Use
11738 gomp-constant.h constants instead of hardcoded numbers.
11739 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
11740 (gomp_create_target_task): New function.
11741 (verify_children_queue, verify_taskgroup_queue,
11742 verify_task_queue): New functions.
11743 (gomp_task_run_pre): Call verify_*_queue functions.
11744 If an upcoming tied task is about to leave the sibling or
11745 taskgroup queues in an invalid state, adjust appropriately.
11746 Remove taskgroup argument. Add comments.
11747 (gomp_task_run_post_handle_dependers): Add comments.
11748 (gomp_task_run_post_remove_parent): Likewise.
11749 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
11750 (GOMP_taskwait): Likewise. Add comments.
11751 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
11752 problem such that the first non parent_depends_on task does not
11753 end up at the end of the children queue.
11754 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
11755 GOMP_TASK_UNDEFERRED.
11756 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
11757 * taskloop.c: New file.
11758 * testsuite/lib/libgomp.exp
11759 (check_effective_target_offload_device_nonshared_as): New proc.
11760 * testsuite/libgomp.c/affinity-2.c: New test.
11761 * testsuite/libgomp.c/doacross-1.c: New test.
11762 * testsuite/libgomp.c/doacross-2.c: New test.
11763 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
11764 Add map clause to target.
11765 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
11766 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
11767 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
11768 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
11769 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
11770 Likewise.
11771 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
11772 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
11773 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
11774 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
11775 not defined. Use those where needed.
11776 * testsuite/libgomp.c/for-4.c: New test.
11777 * testsuite/libgomp.c/for-5.c: New test.
11778 * testsuite/libgomp.c/for-6.c: New test.
11779 * testsuite/libgomp.c/linear-1.c: New test.
11780 * testsuite/libgomp.c/ordered-4.c: New test.
11781 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
11782 only allowed on the loop iterator.
11783 * testsuite/libgomp.c/pr66199-3.c: New test.
11784 * testsuite/libgomp.c/pr66199-4.c: New test.
11785 * testsuite/libgomp.c/reduction-7.c: New test.
11786 * testsuite/libgomp.c/reduction-8.c: New test.
11787 * testsuite/libgomp.c/reduction-9.c: New test.
11788 * testsuite/libgomp.c/reduction-10.c: New test.
11789 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
11790 map(tofrom:s).
11791 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
11792 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
11793 * testsuite/libgomp.c/target-11.c: New test.
11794 * testsuite/libgomp.c/target-12.c: New test.
11795 * testsuite/libgomp.c/target-13.c: New test.
11796 * testsuite/libgomp.c/target-14.c: New test.
11797 * testsuite/libgomp.c/target-15.c: New test.
11798 * testsuite/libgomp.c/target-16.c: New test.
11799 * testsuite/libgomp.c/target-17.c: New test.
11800 * testsuite/libgomp.c/target-18.c: New test.
11801 * testsuite/libgomp.c/target-19.c: New test.
11802 * testsuite/libgomp.c/target-20.c: New test.
11803 * testsuite/libgomp.c/target-21.c: New test.
11804 * testsuite/libgomp.c/target-22.c: New test.
11805 * testsuite/libgomp.c/target-23.c: New test.
11806 * testsuite/libgomp.c/target-24.c: New test.
11807 * testsuite/libgomp.c/target-25.c: New test.
11808 * testsuite/libgomp.c/target-26.c: New test.
11809 * testsuite/libgomp.c/target-27.c: New test.
11810 * testsuite/libgomp.c/taskloop-1.c: New test.
11811 * testsuite/libgomp.c/taskloop-2.c: New test.
11812 * testsuite/libgomp.c/taskloop-3.c: New test.
11813 * testsuite/libgomp.c/taskloop-4.c: New test.
11814 * testsuite/libgomp.c++/ctor-13.C: New test.
11815 * testsuite/libgomp.c++/doacross-1.C: New test.
11816 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
11817 Replace offload_device with offload_device_nonshared_as.
11818 * testsuite/libgomp.c++/for-12.C: New test.
11819 * testsuite/libgomp.c++/for-13.C: New test.
11820 * testsuite/libgomp.c++/for-14.C: New test.
11821 * testsuite/libgomp.c++/linear-1.C: New test.
11822 * testsuite/libgomp.c++/member-1.C: New test.
11823 * testsuite/libgomp.c++/member-2.C: New test.
11824 * testsuite/libgomp.c++/member-3.C: New test.
11825 * testsuite/libgomp.c++/member-4.C: New test.
11826 * testsuite/libgomp.c++/member-5.C: New test.
11827 * testsuite/libgomp.c++/ordered-1.C: New test.
11828 * testsuite/libgomp.c++/reduction-5.C: New test.
11829 * testsuite/libgomp.c++/reduction-6.C: New test.
11830 * testsuite/libgomp.c++/reduction-7.C: New test.
11831 * testsuite/libgomp.c++/reduction-8.C: New test.
11832 * testsuite/libgomp.c++/reduction-9.C: New test.
11833 * testsuite/libgomp.c++/reduction-10.C: New test.
11834 * testsuite/libgomp.c++/reference-1.C: New test.
11835 * testsuite/libgomp.c++/simd14.C: New test.
11836 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11837 * testsuite/libgomp.c++/target-5.C: New test.
11838 * testsuite/libgomp.c++/target-6.C: New test.
11839 * testsuite/libgomp.c++/target-7.C: New test.
11840 * testsuite/libgomp.c++/target-8.C: New test.
11841 * testsuite/libgomp.c++/target-9.C: New test.
11842 * testsuite/libgomp.c++/target-10.C: New test.
11843 * testsuite/libgomp.c++/target-11.C: New test.
11844 * testsuite/libgomp.c++/target-12.C: New test.
11845 * testsuite/libgomp.c++/taskloop-1.C: New test.
11846 * testsuite/libgomp.c++/taskloop-2.C: New test.
11847 * testsuite/libgomp.c++/taskloop-3.C: New test.
11848 * testsuite/libgomp.c++/taskloop-4.C: New test.
11849 * testsuite/libgomp.c++/taskloop-5.C: New test.
11850 * testsuite/libgomp.c++/taskloop-6.C: New test.
11851 * testsuite/libgomp.c++/taskloop-7.C: New test.
11852 * testsuite/libgomp.c++/taskloop-8.C: New test.
11853 * testsuite/libgomp.c++/taskloop-9.C: New test.
11854 * testsuite/libgomp.fortran/affinity1.f90: New test.
11855 * testsuite/libgomp.fortran/affinity2.f90: New test.
11856
1f600fea
TV
118572015-10-13 Tom de Vries <tom@codesourcery.com>
11858
11859 PR tree-optimization/67476
11860 * testsuite/libgomp.c/autopar-3.c: New test.
11861 * testsuite/libgomp.c/autopar-4.c: New test.
11862 * testsuite/libgomp.c/autopar-5.c: New test.
11863 * testsuite/libgomp.c/autopar-6.c: New test.
11864 * testsuite/libgomp.c/autopar-7.c: New test.
11865 * testsuite/libgomp.c/autopar-8.c: New test.
11866
058a654b
JN
118672015-10-12 James Norris <jnorris@codesourcery.com>
11868
11869 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11870 initializer.
11871
9e531d37
DM
118722015-10-09 David Malcolm <dmalcolm@redhat.com>
11873
11874 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11875 using load_gcc_lib.
11876
113020dc
TS
118772015-10-02 Thomas Schwinge <thomas@codesourcery.com>
11878
11879 * oacc-ptx.h: Remove file, moving its content into...
11880 * config/nvptx/fortran.c: ... here...
11881 * config/nvptx/oacc-init.c: ..., here...
11882 * config/nvptx/oacc-parallel.c: ..., and here.
11883 * config/nvptx/openacc.f90: New file.
11884 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11885 (link_ptx): Don't link in predefined bits of PTX code.
11886
cc3cd79b
NS
118872015-09-30 Nathan Sidwell <nathan@codesourcery.com>
11888 Bernd Schmidt <bernds@codesourcery.com>
11889
11890 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11891 (struct targ_ptx_obj): New.
11892 (nvptx_tdata): Move earlier, change data format.
11893 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
11894 objects.
11895 (GOMP_OFFLOAD_load_image): Adjust.
11896
4e2a5450
TS
118972015-09-30 Thomas Schwinge <thomas@codesourcery.com>
11898
11899 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11900 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11901 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11902 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11903 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11904 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11905 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11906 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11907 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11908 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11909 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11910 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11911 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11912 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11913 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11914 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11915 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11916 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11917 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11918 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11919 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11920 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11921 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11922 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11923 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11924 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11925 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11926 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11927 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11928 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11929 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11930 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11931 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11932 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11933 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11934 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11935 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11936 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11937 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11938 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11939 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11940 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11941 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11942 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11943 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11944 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11945 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11946 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11947 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11948 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11949 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11950 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11951 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11952 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11953 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11954 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11955 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11956 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11957 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11958 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11959 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11960 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11961 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11962
164453bb
NS
119632015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11964
11965 * oacc-init.c (acc_on_device): Force optimization level.
11966
a12a0437
NS
119672015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11968
11969 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11970 (cuda_errlist): Delete.
11971 (cuda_error): Reimplement.
11972
3e32ee19
NS
119732015-09-28 Nathan Sidwell <nathan@codesourcery.com>
11974
11975 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
11976 array.
11977 * libgomp.map (GOACC_parallel_keyed): New.
11978 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
11979 all callers.
11980 (GOACC_parallel_keyed): New interface. Lose geometry arguments
11981 and take keyed varargs list. Adjust call to exec_func.
11982 (GOACC_parallel): Force host fallback.
11983 * libgomp_g.h (GOACC_parallel): Remove.
11984 (GOACC_parallel_keyed): Declare.
11985 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 11986 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
11987 (nvptx_exec): Lose separate geometry args, take array. Process
11988 dynamic dimensions and adjust.
11989 (struct nvptx_tdata): Replace fn_names field with fn_descs.
11990 (GOMP_OFFLOAD_load_image): Adjust for change in function table
11991 data.
11992 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11993 passing.
11994 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
11995 passing.
11996
6bb4c3e2
CLT
119972015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
11998
11999 PR libgomp/67141
12000 * oacc-int.h (goacc_host_init): Add declaration.
12001 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
12002 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
12003
74032f47 120042015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 12005 Sebastian Pop <s.pop@samsung.com>
74032f47 12006
93d90219 12007 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
12008 match o/p.
12009 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
12010 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
12011 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
12012 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
12013 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
12014
97875f4a
JJ
120152015-09-03 Jakub Jelinek <jakub@redhat.com>
12016
12017 * configure.tgt: Add missing ;; in between nvptx and rtems
12018 snippets.
12019
06441dd5
SH
120202015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
12021
12022 * config/posix/pool.h (gomp_adjust_thread_attr): New.
12023 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
12024 (gomp_thread_pool_reservoir): Add priority member.
12025 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
12026 priority.
12027 (parse_thread_pools): Likewise.
12028 * team.c (gomp_team_start): Call configuration provided
12029 gomp_adjust_thread_attr(). Destroy thread attributes if
12030 necessary.
12031 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
12032
66c59f92
SH
120332015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
12034
12035 * config/posix/pool.h: New.
12036 * config/rtems/pool.h: Likewise.
12037 * config/rtems/proc.c: Likewise.
12038 * libgomp.h (gomp_thread_destructor): Declare.
12039 * team.c: Include configuration provided "pool.h".
12040 (gomp_get_thread_pool): Define in configuration.
12041 (gomp_team_end): Call configuration defined
12042 gomp_release_thread_pool().
12043
13c41b2e
SH
120442015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
12045
12046 * config/rtems/bar.c: New.
12047 * config/rtems/bar.h: Likewise.
12048 * config/rtems/mutex.c: Likewise.
12049 * config/rtems/mutex.h: Likewise.
12050 * config/rtems/sem.c: Likewise.
12051 * config/rtems/sem.h: Likewise.
12052 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
12053 <sys/lock.h> header file.
12054 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
12055 supported by Newlib.
12056 * configure: Regenerate.
12057
7892ec67
SH
120582015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
12059
12060 * team.c (gomp_new_thread_pool): Delete and move content to ...
12061 (gomp_get_thread_pool): ... new function. Allocate and
12062 initialize thread pool on demand.
12063 (get_last_team): Use gomp_get_thread_pool().
12064 (gomp_team_start): Delete thread pool initialization.
12065
1b96e9a4
TV
120662015-09-03 Tom de Vries <tom@codesourcery.com>
12067
12068 PR tree-optimization/65637
12069 * testsuite/libgomp.c/autopar-2.c: New test.
12070
3ff2d74e
TV
120712015-08-29 Tom de Vries <tom@codesourcery.com>
12072
12073 PR tree-optimization/46193
12074 * testsuite/libgomp.c/pr46193.c: New test.
12075
2a21ff19
NS
120762015-08-24 Nathan Sidwell <nathan@codesourcery.com>
12077
12078 libgomp/
12079 * libgomp.map: Add 4.0.2 version.
12080 * target.c (offload_image_descr): Add version field.
12081 (gomp_load_image_to_device): Add version argument. Adjust plugin
12082 call. Improve load mismatch diagnostic.
12083 (gomp_unload_image_from_device): Add version argument. Adjust plugin
12084 call.
12085 (GOMP_offload_regster): Make stub function, move bulk to ...
12086 (GOMP_offload_register_ver): ... here. Process version argument.
12087 (GOMP_offload_unregister): Make stub function, move bulk to ...
12088 (GOMP_offload_unregister_ver): ... here. Process version argument.
12089 (gomp_init_device): Process version field.
12090 (gomp_unload_device): Process version field.
12091 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
12092 macros. Check plugin version.
12093 * libgomp.h (gomp_device_descr): Add version function field. Adjust
12094 loader and unloader types.
12095 * oacc-host.c: Include gomp-constants.h.
12096 (host_version): New.
12097 (host_load_image, host_unload_image): Adjust.
12098 (host_dispatch): Add host_version.
12099 * plugin/plugin-nvptx.c: Include gomp-constants.h.
12100 (GOMP_OFFLOAD_version): New.
12101 (GOMP_OFFLOAD_load_image): Add version arg and check it.
12102 (GOMP_OFFLOAD_unload_image): Likewise.
12103 * plugin/plugin-host.c: Include gomp-constants.h.
12104 (GOMP_OFFLOAD_version): New.
12105 (GOMP_OFFLOAD_load_image): Add version arg.
12106 (GOMP_OFFLOAD_unload_image): Likewise.
12107
1358a747
TV
121082015-08-24 Tom de Vries <tom@codesourcery.com>
12109
12110 PR tree-optimization/65468
12111 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
12112
6be5c241
TV
121132015-08-24 Tom de Vries <tom@codesourcery.com>
12114
12115 PR tree-optimization/65468
12116 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
12117
bfe7ac89
JV
121182015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
12119
12120 PR libgomp/66761
12121 PR libgomp/67303
12122 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
12123 (gomp_iter_guided_next): Idem.
12124 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
12125 (gomp_iter_ull_guided_next): Idem.
12126 * config/linux/wait.h (do_spin): Idem.
12127
b97e78b7
TS
121282015-08-10 Thomas Schwinge <thomas@codesourcery.com>
12129
12130 * libgomp-plugin.h (enum offload_target_type): Remove
12131 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
12132 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
12133 * openacc.h (enum acc_device_t): Likewise.
12134 * openacc_lib.h: Likewise.
12135 * oacc-init.c (name_of_acc_device_t): Don't handle it.
12136 (acc_on_device): Just use __builtin_acc_on_device.
12137 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
12138 of acc_on_device builtin.
12139 * plugin/plugin-host.h: Remove file.
12140 * plugin/plugin-host.c: Likewise, but salvage some content into...
12141 * oacc-host.c: ... this file.
12142 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
12143 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
12144 * Makefile.in: Regenerate.
12145 * configure: Likewise.
12146 * testsuite/lib/libgomp.exp
12147 (check_effective_target_openacc_host_nonshm_selected): Remove.
12148 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
12149 ACC_DEVICE_TYPE=host_nonshm.
12150 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12151 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12152 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12153 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12154 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12155 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12156
44a7d18d
TS
121572015-08-10 Thomas Schwinge <thomas@codesourcery.com>
12158 Jakub Jelinek <jakub@redhat.com>
12159
12160 * config/nvptx/affinity.c: New file.
12161 * config/nvptx/alloc.c: Likewise.
12162 * config/nvptx/bar.c: Likewise.
12163 * config/nvptx/barrier.c: Likewise.
12164 * config/nvptx/critical.c: Likewise.
12165 * config/nvptx/env.c: Likewise.
12166 * config/nvptx/error.c: Likewise.
12167 * config/nvptx/fortran.c: Likewise.
12168 * config/nvptx/iter.c: Likewise.
12169 * config/nvptx/iter_ull.c: Likewise.
12170 * config/nvptx/libgomp-plugin.c: Likewise.
12171 * config/nvptx/lock.c: Likewise.
12172 * config/nvptx/loop.c: Likewise.
12173 * config/nvptx/loop_ull.c: Likewise.
12174 * config/nvptx/mutex.c: Likewise.
12175 * config/nvptx/oacc-async.c: Likewise.
12176 * config/nvptx/oacc-cuda.c: Likewise.
12177 * config/nvptx/oacc-host.c: Likewise.
12178 * config/nvptx/oacc-init.c: Likewise.
12179 * config/nvptx/oacc-mem.c: Likewise.
12180 * config/nvptx/oacc-parallel.c: Likewise.
12181 * config/nvptx/oacc-plugin.c: Likewise.
12182 * config/nvptx/omp-lock.h: Likewise.
12183 * config/nvptx/ordered.c: Likewise.
12184 * config/nvptx/parallel.c: Likewise.
12185 * config/nvptx/proc.c: Likewise.
12186 * config/nvptx/ptrlock.c: Likewise.
12187 * config/nvptx/sections.c: Likewise.
12188 * config/nvptx/sem.c: Likewise.
12189 * config/nvptx/single.c: Likewise.
12190 * config/nvptx/splay-tree.c: Likewise.
12191 * config/nvptx/target.c: Likewise.
12192 * config/nvptx/task.c: Likewise.
12193 * config/nvptx/team.c: Likewise.
12194 * config/nvptx/time.c: Likewise.
12195 * config/nvptx/work.c: Likewise.
12196 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
12197 * configure: Regenerate.
12198 * configure.tgt (config_path): Set to "nvptx" for target
12199 nvptx*-*-*.
12200
96a2d174
TS
122012015-08-10 Thomas Schwinge <thomas@codesourcery.com>
12202
12203 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
12204
9ebddeb0
NS
122052015-08-03 Nathan Sidwell <nathan@codesourcery.com>
12206
12207 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
12208 (cuda_errlist): Constify.
12209 (errmsg): Move into ...
12210 (cuda_error): ... here. Make smaller.
12211 (_XSTR, _STR): Delete.
12212 (cuda_synames): Delete.
12213 (verify_device_library): Delete.
12214 (nvptx_init): Don't call it.
12215
12efb1d7
TV
122162015-07-28 Tom de Vries <tom@codesourcery.com>
12217
12218 * testsuite/libgomp.c/uns-outer-4.c: New test.
12219
710ee218
CP
122202015-07-24 Cesar Philippidis <cesar@codesourcery.com>
12221
12222 * testsuite/libgomp.c/pr66714.c: New test.
12223
27c4ac7d
MB
122242015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
12225
12226 PR libgomp/66950
12227 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
12228 (fib_ref): New function.
12229 (fib): Correct corner cases in the recursion.
12230 (main): Replace the non-simd loop with fib_ref call.
12231 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
12232 subroutine.
12233 (fibonacci): Lower the parameter N to 30. Correct accordingly check
12234 for the last array element value. Replace the non-simd loop with
12235 fib_ref call. Remove redundant b_ref array. Remove the comparison
12236 of the last array element with according Fibonacci sequence element.
12237 (fib): Correct corner cases in the recursion.
12238
22be2349
NS
122392015-07-21 Nathan Sidwell <nathan@codesourcery.com>
12240
12241 * target.c (gomp_offload_image_to_device): Rename to ...
12242 (gomp_load_image_to_device): ... here.
12243 (GOMP_offload_register): Adjust call.
12244 (gomp_init_device): Likewise.
12245 (gomp_unload_image_from_device): New. Broken out of ...
12246 (GOMP_offload_unregister): ... here. Call it.
12247 (gomp_unload_device): New.
12248 * libgomp.h (gomp_unload_device): Declare.
12249 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
12250 mem maps.
12251
f3e9a059
NS
122522015-07-20 Nathan Sidwell <nathan@codesourcery.com>
12253
a091118d
NS
12254 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
12255 wait=-specific if.
12256 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
12257 !=0 condition.
12258 (goacc_waits): Move !num_waits handling to ...
12259 (GOACC_wait): ... here, the only caller that might have zero waits.
12260
f3e9a059
NS
12261 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
12262 (struct ptx_image_data): Move earlier, add fns field.
12263 (struct ptx_device): Add images and image_lock fields.
12264 (ptx_images, ptx_image_lock): Delete.
12265 (nvptx_open_device): Initialize images and image_lock fields.
12266 (nvptx_close_device): Destroy image_lock.
12267 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
12268 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
12269 fields.
12270
afb2d80b
NS
122712015-07-17 Nathan Sidwell <nathan@codesourcery.com>
12272
896c28a7
NS
12273 * target.c (GOMP_offload_register): Use int for device type arg.
12274 (GOMP_offload_unregister): Likewise.
12275
ebe4a560
NS
12276 * target.c (struct_offload_image_descr): Constify host_table.
12277 (gomp_offload_image_to_device): Likewise.
12278 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
12279
afb2d80b
NS
12280 * libgomp.h (gomp_device_descr): Constify target data arguments.
12281 * target.c (struct offload_image_descr): Constify target_data.
12282 (gomp_offload_image_to_device): Likewise.
12283 (GOMP_offload_register): Likewise.
93d90219 12284 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
12285 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
12286 GOMP_OFFLOAD_unload_image): Constify target data.
12287 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
12288 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
12289
a4cb876d
NS
122902015-07-16 Nathan Sidwell <nathan@codesourcery.com>
12291
12292 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
12293 Workaround driver library const error.
12294 (struct nvptx_tdata, nvptx_tdata_t): New.
12295 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
12296 type.
12297
28ef6a27
MB
122982015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
12299
12300 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
12301 of EPS parameter from integer to real.
12302 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
12303 type of EPS parameter from integer to real.
12304
6dba0113
SH
123052015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
12306
12307 * team.c (get_last_team): New.
12308 (gomp_new_team): Recycle last non-nested team if possible.
12309 (gomp_team_end): Move team work share list free lock destruction
12310 to ...
12311 (free_team): ... here.
12312
4c1cb4da
MB
123132015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
12314
12315 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
12316 and ref from int to double. Replaced their comparison with
12317 an inequality of their difference and EPS.
12318 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
12319 comparison of pri and a reference number with an inequality of their
12320 difference and EPS.
12321 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
12322 the comparison of sum and sum_ref with an inequality of their
12323 difference and EPS.
12324 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
12325 the comparison of pri and a reference number with an inequality of
12326 their difference and EPS.
12327
343587dc
MB
123282015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
12329
12330 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
12331 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
12332 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
12333 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
12334 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
12335 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
12336 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
12337 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
12338 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
12339 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
12340 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
12341 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
12342 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
12343 variables.
12344 (vec_mult): Likewise. Add #pragma omp taskwait.
12345 (main): Adjust caller.
12346 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
12347 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
12348 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
12349 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
12350 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
12351 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
12352 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
12353 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
12354 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
12355 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
12356 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
12357 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
12358 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
12359 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
12360 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
12361 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
12362 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
12363 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
12364 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
12365 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
12366 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
12367 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
12368 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
12369 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
12370 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
12371 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
12372 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
12373 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
12374 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
12375 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
12376 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
12377 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
12378 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
12379 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
12380 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
12381 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
12382 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
12383 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
12384 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
12385 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
12386 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
12387 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
12388 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
12389 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
12390 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
12391 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
12392 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
12393 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
12394 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
12395 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
12396 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
12397 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
12398 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
12399 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
12400 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
12401 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
12402 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
12403 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
12404 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
12405 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
12406 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
12407 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
12408 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
12409 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
12410 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
12411 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
12412 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
12413 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
12414 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
12415 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
12416 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
12417 (vec_mult): Add !$omp taskwait.
12418 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
12419 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
12420 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
12421 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
12422 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
12423 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
12424 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
12425 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
12426 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
12427 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
12428 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
12429 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
12430 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
12431 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
12432 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
12433 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
12434 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
12435 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
12436 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
12437 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
12438 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
12439 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
12440 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
12441 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
12442 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
12443 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
12444 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
12445 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
12446 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
12447 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
12448 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
12449 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
12450 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
12451 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
12452 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
12453 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
12454 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
12455 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
12456 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
12457 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
12458 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
12459 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
12460 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
12461 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
12462 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
12463 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
12464 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
12465 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
12466 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
12467 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
12468 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
12469 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
12470 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
12471 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
12472 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
12473 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
12474 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
12475 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
12476 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
12477 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
12478 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
12479 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
12480 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
12481 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
12482 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
12483 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
12484 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
12485
9f620bf1
TV
124862015-07-10 Tom de Vries <tom@codesourcery.com>
12487
12488 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
12489 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
12490
a92defda
TS
124912015-07-08 Thomas Schwinge <thomas@codesourcery.com>
12492
12493 PR libgomp/65099
12494 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
12495 in a 64-bit configuration.
12496 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
12497 offloading testing if no such device is available.
12498 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12499 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12500
cadb53a5
TV
125012015-07-08 Tom de Vries <tom@codesourcery.com>
12502
12503 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
12504 second call to f.
12505 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12506
712cb0bb
TV
125072015-07-07 Tom de Vries <tom@codesourcery.com>
12508
12509 PR tree-optimization/66642
12510 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
12511 iteration count case.
12512 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
12513 function, factor out of ...
12514 (main): ... here. Test low iteration count case.
12515
e5210c77
SH
125162015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
12517
12518 * libgomp.h (gomp_thread_pool): Comment last_team field.
12519
f70360e7
UB
125202015-07-02 Uros Bizjak <ubizjak@gmail.com>
12521
12522 * testsuite/libgomp.c++/pr66702-1.C: Require
12523 vect_simd_clones effective target.
12524 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
12525
b451c271
TV
125262015-06-30 Tom de Vries <tom@codesourcery.com>
12527
12528 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
12529 already set. Use DEFAULT_CFLAGS in dg-runtest.
12530 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
12531 "-O2".
12532
f8e89d9f
TV
125332015-06-30 Tom de Vries <tom@codesourcery.com>
12534
12535 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
12536 already set. Use DEFAULT_CFLAGS in dg-runtest.
12537 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
12538 * testsuite/libgomp.c++/pr64824.C: Same.
12539 * testsuite/libgomp.c++/pr64868.C: Same.
12540 * testsuite/libgomp.c++/pr66199-1.C: Same.
12541 * testsuite/libgomp.c++/pr66199-2.C: Same.
12542 * testsuite/libgomp.c++/target-2.C: Same.
12543 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
12544 -std=<standard> option.
12545 * testsuite/libgomp.c++/udr-11.C: Same.
12546 * testsuite/libgomp.c++/udr-12.C: Same.
12547 * testsuite/libgomp.c++/udr-13.C: Same.
12548 * testsuite/libgomp.c++/udr-14.C: Same.
12549 * testsuite/libgomp.c++/udr-15.C: Same.
12550 * testsuite/libgomp.c++/udr-16.C: Same.
12551 * testsuite/libgomp.c++/udr-17.C: Same.
12552 * testsuite/libgomp.c++/udr-18.C: Same.
12553 * testsuite/libgomp.c++/udr-19.C: Same.
12554 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
12555 * testsuite/libgomp.c++/simd-1.C: Same.
12556 * testsuite/libgomp.c++/simd-2.C: Same.
12557 * testsuite/libgomp.c++/simd-3.C: Same.
12558 * testsuite/libgomp.c++/simd-4.C: Same.
12559 * testsuite/libgomp.c++/simd-5.C: Same.
12560 * testsuite/libgomp.c++/simd-6.C: Same.
12561 * testsuite/libgomp.c++/simd-7.C: Same.
12562 * testsuite/libgomp.c++/simd-8.C: Same.
12563 * testsuite/libgomp.c++/simd-9.C: Same.
12564 * testsuite/libgomp.c++/simd10.C: Same.
12565 * testsuite/libgomp.c++/simd11.C: Same.
12566 * testsuite/libgomp.c++/simd12.C: Same.
12567 * testsuite/libgomp.c++/simd13.C: Same.
12568
3446fe48
JJ
125692015-06-30 Jakub Jelinek <jakub@redhat.com>
12570
12571 PR middle-end/66702
12572 * testsuite/libgomp.c++/pr66702-1.C: New test.
12573 * testsuite/libgomp.c++/pr66702-2.C: New test.
12574
8a36714a
TV
125752015-06-30 Tom de Vries <tom@codesourcery.com>
12576
12577 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
12578 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
12579 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
12580 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
12581
4f75d608
TV
125822015-06-30 Tom de Vries <tom@codesourcery.com>
12583
12584 PR tree-optimization/66652
12585 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
12586 using restrict pointers.
12587 (main): Add arguments to calls to f.
12588 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12589
6d9d1eeb
AT
125902015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
12591
12592 * configure.ac: Fix check for header <sys/sysctl.h>.
12593 * configure: Regenerate.
12594 * config.h.in: Likewise.
12595
1222f22b
TV
125962015-06-23 Tom de Vries <tom@codesourcery.com>
12597
12598 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
12599 abort.
12600 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
12601
d7efbbf6
TS
126022015-06-19 Thomas Schwinge <thomas@codesourcery.com>
12603
bfcd036f
TS
12604 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
12605 acc_device_nvidia.
12606
d7efbbf6
TS
12607 PR libgomp/66518
12608 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
12609 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12610
d7bfc710
TV
126112015-06-15 Tom de Vries <tom@codesourcery.com>
12612
12613 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
12614 dg-additional-options for any remaining options.
12615 * testsuite/libgomp.c/atomic-2.c: Same.
12616 * testsuite/libgomp.c/atomic-4.c: Same.
12617 * testsuite/libgomp.c/atomic-5.c: Same.
12618 * testsuite/libgomp.c/atomic-6.c: Same.
12619 * testsuite/libgomp.c/autopar-1.c: Same.
12620 * testsuite/libgomp.c/copyin-1.c: Same.
12621 * testsuite/libgomp.c/copyin-2.c: Same.
12622 * testsuite/libgomp.c/copyin-3.c: Same.
12623 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
12624 * testsuite/libgomp.c/nestedfn-5.c: Same.
12625 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
12626 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
12627 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
12628 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12629 * testsuite/libgomp.c/pr32362-1.c: Same.
12630 * testsuite/libgomp.c/pr32362-2.c: Same.
12631 * testsuite/libgomp.c/pr32362-3.c: Same.
12632 * testsuite/libgomp.c/pr39591-1.c: Same.
12633 * testsuite/libgomp.c/pr39591-2.c: Same.
12634 * testsuite/libgomp.c/pr39591-3.c: Same.
12635 * testsuite/libgomp.c/pr58392.c: Same.
12636 * testsuite/libgomp.c/pr58756.c: Same.
12637 * testsuite/libgomp.c/simd-1.c: Same.
12638 * testsuite/libgomp.c/simd-10.c: Same.
12639 * testsuite/libgomp.c/simd-11.c: Same.
12640 * testsuite/libgomp.c/simd-12.c: Same.
12641 * testsuite/libgomp.c/simd-13.c: Same.
12642 * testsuite/libgomp.c/simd-14.c: Same.
12643 * testsuite/libgomp.c/simd-15.c: Same.
12644 * testsuite/libgomp.c/simd-2.c: Same.
12645 * testsuite/libgomp.c/simd-3.c: Same.
12646 * testsuite/libgomp.c/simd-4.c: Same.
12647 * testsuite/libgomp.c/simd-5.c: Same.
12648 * testsuite/libgomp.c/simd-6.c: Same.
12649 * testsuite/libgomp.c/simd-7.c: Same.
12650 * testsuite/libgomp.c/simd-8.c: Same.
12651 * testsuite/libgomp.c/simd-9.c: Same.
12652
fb5b5352
TV
126532015-06-15 Tom de Vries <tom@codesourcery.com>
12654
12655 * testsuite/libgomp.c/pr35625.c: Fix typo.
12656
ca431bef
TV
126572015-06-15 Tom de Vries <tom@codesourcery.com>
12658
12659 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
12660 in dg-options.
12661 * testsuite/libgomp.c/atomic-3.c: Same.
12662 * testsuite/libgomp.c/debug-1.c: Same.
12663 * testsuite/libgomp.c/nqueens-1.c: Same.
12664 * testsuite/libgomp.c/pr26171.c: Same.
12665 * testsuite/libgomp.c/pr48591.c: Same.
12666 * testsuite/libgomp.c/pr64824.c: Same.
12667 * testsuite/libgomp.c/pr64868.c: Same.
12668 * testsuite/libgomp.c/pr66133.c: Same.
12669 * testsuite/libgomp.c/pr66199-1.c: Same.
12670 * testsuite/libgomp.c/pr66199-2.c: Same.
12671 * testsuite/libgomp.c/target-8.c: Same.
12672
0d8a9e20
TV
126732015-06-15 Tom de Vries <tom@codesourcery.com>
12674
12675 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
12676 -std={gnu99,c99}.
12677 * testsuite/libgomp.c/for-1.c: Same.
12678 * testsuite/libgomp.c/for-2.c: Same.
12679 * testsuite/libgomp.c/for-3.c: Same.
12680 * testsuite/libgomp.c/pr35625.c: Same.
12681 * testsuite/libgomp.c/pr39154.c: Same.
12682 * testsuite/libgomp.c/simd-16.c: Same.
12683 * testsuite/libgomp.c/simd-17.c: Same.
12684
a6860be9
TV
126852015-06-13 Tom de Vries <tom@codesourcery.com>
12686
12687 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
12688
ab3306d2
TV
126892015-06-13 Tom de Vries <tom@codesourcery.com>
12690
12691 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
12692 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12693 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
12694 (N): Define.
12695 (main): Use N instead of hardcoded constants.
12696
7c82d827
TV
126972015-06-05 Tom de Vries <tom@codesourcery.com>
12698
12699 merge from gomp4 branch:
12700 2015-05-28 Tom de Vries <tom@codesourcery.com>
12701
12702 PR tree-optimization/65443
12703 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
12704 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
12705 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
12706
c469078d
BRF
127072015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
12708
12709 * testsuite/libgomp.graphite/bounds.c: Adjust for
12710 cleanup-tree-dump removal.
12711 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
12712 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12713 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12714 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12715 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12716 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12717 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12718 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12719 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12720 * testsuite/libgomp.graphite/pr41118.c: Likewise.
12721
bb3caa35
UB
127222015-05-28 Uros Bizjak <ubizjak@gmail.com>
12723
12724 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
12725 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
12726 (futex_wake) [!__x86_64__]: Ditto.
12727
9fb5fd44
JB
127282015-05-28 Julian Brown <julian@codesourcery.com>
12729
12730 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
12731 function comment. Only call gomp_fatal if new argument is true.
12732 (acc_dev_num_out_of_range): New function.
12733 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
12734 acc_dev_num_out_of_range as appropriate.
12735 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
12736 (acc_get_device_num, acc_set_device_num): Update calls to
12737 resolve_device.
9fb5fd44
JB
12738 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12739 output.
12740
32eaed93
JB
127412015-05-28 Julian Brown <julian@codesourcery.com>
12742
12743 PR libgomp/65742
32eaed93
JB
12744 * oacc-init.c (plugin/plugin-host.h): Include.
12745 (acc_on_device): Check whether we're in an offloaded region for
12746 host_nonshm
12747 plugin. Don't use __builtin_acc_on_device.
12748 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
12749 nonshm_exec flag in thread-local data.
12750 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
12751 data for host_nonshm plugin.
12752 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
12753 for host_nonshm plugin.
12754 * plugin/plugin-host.h: New.
12755
ea023bcf
UB
127562015-05-27 Uros Bizjak <ubizjak@gmail.com>
12757
8ed501f1
UB
12758 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12759
127602015-05-27 Uros Bizjak <ubizjak@gmail.com>
12761
12762 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12763 Declare as int.
12764 (FUTEX_PRIVATE_FLAG): Remove L suffix.
12765 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12766 Declare as int.
12767
127682015-05-27 Uros Bizjak <ubizjak@gmail.com>
12769
bb3caa35 12770 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 12771
1716efeb
CLT
127722015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
12773
12774 * target.c (gomp_map_pointer): New function abstracting out
12775 GOMP_MAP_POINTER handling.
12776 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
12777 gomp_map_pointer().
12778
41b37d5e
JJ
127792015-05-19 Jakub Jelinek <jakub@redhat.com>
12780
12781 PR middle-end/66199
12782 * testsuite/libgomp.c/pr66199-1.c: New test.
12783 * testsuite/libgomp.c/pr66199-2.c: New test.
12784 * testsuite/libgomp.c++/pr66199-1.C: New test.
12785 * testsuite/libgomp.c++/pr66199-2.C: New test.
12786 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
12787 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
12788
c8319826
JB
127892015-05-19 Julian Brown <julian@codesourcery.com>
12790
12791 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12792 on cuInit failure.
12793
b37dddbc
JJ
127942015-05-13 Jakub Jelinek <jakub@redhat.com>
12795
12796 PR middle-end/66133
12797 * testsuite/libgomp.c/pr66133.c: New test.
12798
55fba601
MH
127992015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
12800
12801 * Makefile.in: Regenerated with automake-1.11.6.
12802 * aclocal.m4: Likewise.
12803 * config.h.in: Likewise.
12804 * configure: Likewise.
12805 * testsuite/Makefile.in: Likewise.
12806
1be0899d
JM
128072015-05-08 Jason Merrill <jason@redhat.com>
12808
12809 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12810 _Complex.
12811
12812 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12813
d2463960
JB
128142015-05-06 Julian Brown <julian@codesourcery.com>
12815
12816 * oacc-init.c (acc_device_lock): Add explanatory comment.
12817 (resolve_device): Add comment about locking requirement.
12818 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
12819 gomp_init_device and gomp_fini_device calls.
12820 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12821 (acc_get_device_num, acc_set_device_num): Add locking around
12822 resolve_device and gomp_init_device calls.
12823
e38fdba4
JB
128242015-05-06 Julian Brown <julian@codesourcery.com>
12825
12826 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
12827 goacc_thread_lock on error paths.
12828 * oacc-mem.c (lookup_host): Remove locking from function. Note
12829 locking requirement for caller in function comment.
12830 (lookup_dev): Likewise.
12831 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
12832 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
12833 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
12834 Add locking.
12835
ae8ffbbb
TS
128362015-05-05 Thomas Schwinge <thomas@codesourcery.com>
12837
12838 PR testsuite/65205
12839 PR libgomp/65993
12840 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12841 don't expect "0x" prefix for "%p" format specifier, don't expect
12842 "(nil)" for NULL pointer.
12843 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12844 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12845 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12846 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12847 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12848 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12849 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12850 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12851 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12852 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12853 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12854 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12855 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12856 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12857 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12858 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12859 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12860 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12861 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12862 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12863 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12864 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12865 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12866 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12867 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12868 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12869 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12870 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12871 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12872 accurately specify what we're looking for.
12873 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12874 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12875 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12876 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12877 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12878
1309f1d2
JN
128792015-04-30 James Norris <jnorris@codesourcery.com>
12880
12881 PR testsuite/65205
12882 * testsuite/lib/libgomp.exp
12883 (check_effective_target_openacc_host_selected)
12884 (check_effective_target_openacc_host_nonshm_selected): New
12885 procedures.
12886 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12887 dg-shouldfail.
12888 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12889 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12890 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12891 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12892 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12893 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12894 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12895 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12896 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12897 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12898 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12899 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12900 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12901 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12902 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12903 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12904 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12905 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12906 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12907 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12908 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12909 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12910 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12911 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12912 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12913 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12914 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12915 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12916 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12917 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12918 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12919 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12920 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12921 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12922 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12923 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12924 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12925 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12926 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12927 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12928 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12929 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12930 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12931
d93bdab5
JB
129322015-04-08 Julian Brown <julian@codesourcery.com>
12933
12934 * libgomp.h (target_mem_desc: Remove mem_map field.
12935 (acc_dispatch_t): Remove open_device_func, close_device_func,
12936 get_device_num_func, set_device_num_func, target_data members.
12937 Change create_thread_data_func argument to device number instead of
12938 generic pointer.
12939 * oacc-async.c (assert.h): Include.
12940 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12941 (acc_wait_all, acc_wait_all_async): Use current host thread's
12942 active device, not base_dev.
12943 * oacc-cuda.c (acc_get_current_cuda_device)
12944 (acc_get_current_cuda_context, acc_get_cuda_stream)
12945 (acc_set_cuda_stream): Likewise.
12946 * oacc-host.c (host_dispatch): Don't set open_device_func,
12947 close_device_func, get_device_num_func or set_device_num_func.
12948 * oacc-init.c (base_dev, init_key): Remove.
12949 (cached_base_dev): New.
12950 (name_of_acc_device_t): New.
12951 (acc_init_1): Initialise default-numbered device, not zeroth.
12952 (acc_shutdown_1): Close all devices of a given type.
12953 (goacc_destroy_thread): Don't use base_dev.
12954 (lazy_open, lazy_init, lazy_init_and_open): Remove.
12955 (goacc_attach_host_thread_to_device): New.
12956 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
12957 (acc_get_num_devices): Don't use base_dev.
12958 (acc_set_device_type): Reimplement.
12959 (acc_get_device_type): Don't use base_dev.
12960 (acc_get_device_num): Tweak logic.
12961 (acc_set_device_num): Likewise.
12962 (acc_on_device): Use acc_get_device_type.
12963 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
12964 (goacc_lazy_initialize): Reimplement with acc_init and
12965 goacc_attach_host_thread_to_device.
12966 * oacc-int.h (goacc_thread): Add base_dev field.
12967 (base_dev): Remove extern declaration.
12968 (goacc_attach_host_thread_to_device): Add prototype.
12969 * oacc-mem.c (acc_malloc): Use current thread's device instead of
12970 base_dev.
12971 (acc_free): Likewise.
12972 (acc_memcpy_to_device): Likewise.
12973 (acc_memcpy_from_device): Likewise.
12974 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
12975 goacc_lazy_initialize (throughout).
12976 (GOACC_parallel): Use tgt_offset to locate target functions.
12977 * target.c (gomp_map_vars): Don't set tgt->mem_map.
12978 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
12979 (gomp_load_plugin_for_device): Remove open_device, close_device,
12980 get_device_num, set_device_num openacc hook initialisation. Don't set
12981 openacc.target_data.
12982 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
12983 (GOMP_OFFLOAD_openacc_close_device)
12984 (GOMP_OFFLOAD_openacc_get_device_num)
12985 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
12986 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
12987 to int.
12988 * plugin/plugin-nvptx.c (ptx_inited): Remove.
12989 (instantiated_devices, ptx_dev_lock): New.
12990 (struct ptx_image_data): New.
12991 (ptx_devices, ptx_images, ptx_image_lock): New.
12992 (fini_streams_for_device): Reorder cuStreamDestroy call.
12993 (nvptx_get_num_devices): Remove forward declaration.
12994 (nvptx_init): Change return type to bool.
12995 (nvptx_fini): Remove.
12996 (nvptx_attach_host_thread_to_device): New.
12997 (nvptx_open_device): Return struct ptx_device* instead of void*.
12998 (nvptx_close_device): Change argument type to struct ptx_device*,
12999 return type to void.
13000 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
13001 (kernel_target_data, kernel_host_table): Remove static globals.
13002 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
13003 (GOMP_OFFLOAD_init_device): Reimplement.
13004 (GOMP_OFFLOAD_fini_device): Likewise.
13005 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
13006 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
13007 (GOMP_OFFLOAD_host2dev): Use ORD argument.
13008 (GOMP_OFFLOAD_openacc_open_device)
13009 (GOMP_OFFLOAD_openacc_close_device)
13010 (GOMP_OFFLOAD_openacc_set_device_num)
13011 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
13012 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
13013 (device number).
13014
13015 testsuite/
13016 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
13017
a51df54e
IV
130182015-04-06 Ilya Verbin <ilya.verbin@intel.com>
13019
13020 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
13021 * libgomp.h (struct gomp_memory_mapping): Remove.
13022 (struct target_mem_desc): Change type of mem_map from
13023 gomp_memory_mapping * to splay_tree_s *.
13024 (struct gomp_device_descr): Remove register_image_func, get_table_func.
13025 Add load_image_func, unload_image_func.
13026 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
13027 Remove offload_regions_registered.
13028 (gomp_init_tables): Remove.
13029 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
13030 to splay_tree_s *.
13031 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
13032 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
13033 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
13034 offload_regions_registered.
13035 Initialize load_image_func, unload_image_func, mem_map.root.
13036 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
13037 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
13038 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
13039 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
13040 gomp_memory_mapping *. Use dev's lock and splay_tree.
13041 (lookup_dev): Use dev's lock.
13042 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
13043 (acc_is_present): Likewise.
13044 (acc_map_data): Likewise.
13045 (acc_unmap_data): Likewise. Use dev's lock.
13046 (present_create_copy): Likewise.
13047 (delete_copyout): Pass dev to lookup_host instead of mem_map.
13048 (update_dev_host): Likewise.
13049 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
13050 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
13051 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
13052 (GOMP_OFFLOAD_get_table): Remove
13053 (GOMP_OFFLOAD_load_image): New function.
13054 (GOMP_OFFLOAD_unload_image): New function.
13055 * target.c (register_lock): New mutex for offload image registration.
13056 (num_devices): Do not guard with PLUGIN_SUPPORT.
13057 (gomp_realloc_unlock): New static function.
13058 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
13059 before gomp_fatal.
13060 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
13061 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
13062 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
13063 mem_map's.
13064 (gomp_unmap_vars): Likewise.
13065 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
13066 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
13067 (gomp_offload_image_to_device): New static function.
13068 (GOMP_offload_register): Add mutex lock.
13069 Call gomp_offload_image_to_device for all initialized devices.
13070 Replace gomp_realloc with gomp_realloc_unlock.
13071 (GOMP_offload_unregister): New function.
13072 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
13073 get_table_func from the plugin with calls to init_device_func and
13074 gomp_offload_image_to_device.
13075 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
13076 to splay_tree_s *.
13077 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
13078 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
13079 (GOMP_target_data): Do not call gomp_init_tables.
13080 (GOMP_target_update): Likewise. Remove argument from gomp_update.
13081 (gomp_load_plugin_for_device): Replace register_image and get_table
13082 with load_image and unload_image in DLSYM ().
13083 (gomp_register_images_for_device): Remove function.
13084 (gomp_target_init): Do not initialize current_device.mem_map.*,
13085 current_device.offload_regions_registered.
13086 Remove call to gomp_register_images_for_device.
13087 Do not free offload_images and num_offload_images.
13088
6c384511
JJ
130892015-03-30 Jakub Jelinek <jakub@redhat.com>
13090
13091 PR fortran/65597
13092 * testsuite/libgomp.fortran/pr65597.f90: New test.
13093
3e8165a5
TV
130942015-03-27 Tom de Vries <tom@codesourcery.com>
13095
13096 PR testsuite/65594
13097 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
13098 (init, check): New function.
13099 (foo): Change return type to void.
13100 (main): Call init and check.
13101
4d688c9a
TV
131022015-03-27 Tom de Vries <tom@codesourcery.com>
13103
13104 PR testsuite/65594
13105 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
13106 (foo): Use M for non-inner loops to scale down test-case.
13107
01c0b3b0
KT
131082015-03-25 Kai Tietz <ktietz@redhat.com>
13109
13110 PR libgomp/64972
13111 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
13112 (GOACC_data_start): Likewise.
13113 * target.c (gomp_map_vars): Likewise.
13114
844d9a76
JDA
131152015-03-21 John David Anglin <danglin@gcc.gnu.org>
13116
13117 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
13118 hppa*-*-hpux*.
13119
9b65e171
JJ
131202015-03-19 Jakub Jelinek <jakub@redhat.com>
13121
13122 * testsuite/libgomp.c/target-10.c: New test.
13123 * testsuite/libgomp.c++/target-4.C: New test.
13124
db397e2e
IV
131252015-03-13 Ilya Verbin <ilya.verbin@intel.com>
13126
13127 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
13128 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
13129
cd93945d
SH
131302015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
13131
13132 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
13133 * configure.ac (*-*-rtems*): Assume Pthread is supported.
13134 (pthread.h): Check for this header file.
13135 * configure: Regenerate.
13136
05deba9f
TV
131372015-02-25 Tom de Vries <tom@codesourcery.com>
13138
13139 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
13140 (check_reduction_op, check_reduction_macro, max, min):
13141 Declare.
13142 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
13143 function.
13144 (main): Use new functions.
13145
196904d8
IT
131462015-02-18 Ilya Tocar <ilya.tocar@intel.com>
13147
13148 * target.c (gomp_load_plugin_for_device): Use const char * instead of
13149 char * for variables holding dlerror return values.
13150 (DLSYM_OPT): Ditto.
13151
a2818955
TS
131522015-02-17 Thomas Schwinge <thomas@codesourcery.com>
13153
13154 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
13155
26f93312
TS
131562015-02-17 Thomas Schwinge <thomas@codesourcery.com>
13157 Cesar Philippidis <cesar@codesourcery.com>
13158
13159 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
13160 GOACC_ctaid, and GOACC_nctaid routines.
13161
fa01ffcc
JJ
131622015-02-11 Jakub Jelinek <jakub@redhat.com>
13163
13164 PR c/64824
13165 * testsuite/libgomp.c/atomic-18.c: New test.
13166 * testsuite/libgomp.c++/atomic-16.C: New test.
13167
4886ec8e
JJ
131682015-02-04 Jakub Jelinek <jakub@redhat.com>
13169
13170 PR c/64824
13171 PR c/64868
13172 * testsuite/libgomp.c/pr64824.c: New test.
13173 * testsuite/libgomp.c/pr64868.c: New test.
13174 * testsuite/libgomp.c++/pr64824.C: New test.
13175 * testsuite/libgomp.c++/pr64868.C: New test.
13176
02d3e45e
DE
131772015-02-01 David Edelsohn <dje.gcc@gmail.com>
13178
13179 PR libgomp/64635
13180 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
13181 Link with -lpthread.
13182 * config/aix/plugin-suffix.h: Delete.
13183
b5f7a6ca
JH
131842015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
13185
13186 PR libgomp/64635
13187 * configure.tgt (*-*-aix*): Use config_path "aix posix".
13188 (*-*-darwin*): Use config_path "bsd darwin posix".
13189 (*-*-hpux*): Use config_path "hpux posix".
13190 * target.c: Add include of plugin-suffix.h and use
13191 SONAME_SUFFIX macro.
13192 * config/aix/plugin-suffix.h: New file.
13193 * config/darwin/plugin-suffix.h: New file.
13194 * config/hpux/plugin-suffix.h: New file.
13195 * config/posix/plugin-suffix.h: New file.
13196
b8910447
JJ
131972015-01-23 Jakub Jelinek <jakub@redhat.com>
13198
13199 PR middle-end/64734
13200 * libgomp.c/pr64734.c: New test.
13201
a0c88d06
TV
132022015-01-23 Tom de Vries <tom@codesourcery.com>
13203
13204 PR libgomp/64672
13205 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
13206
1506ae0e
TV
132072015-01-23 Tom de Vries <tom@codesourcery.com>
13208
13209 PR libgomp/64707
13210 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
13211 dg-options.
13212
128b26dc
TS
132132015-01-19 Thomas Schwinge <thomas@codesourcery.com>
13214
bed62c21 13215 PR libgomp/64625
128b26dc
TS
13216 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
13217 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
13218 formal parameter. Update all users.
13219 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
13220 Document unused formal parameter.
13221
6e36114c
TS
132222015-01-16 Thomas Schwinge <thomas@codesourcery.com>
13223
13224 * oacc-parallel.c: Don't include <alloca.h>.
13225 (GOACC_parallel): Use gomp_alloca instead of alloca.
13226
973e9808
GP
132272015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
13228
13229 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
13230
41dbbb37
TS
132312015-01-15 Thomas Schwinge <thomas@codesourcery.com>
13232 James Norris <jnorris@codesourcery.com>
13233 Tom de Vries <tom@codesourcery.com>
13234 Julian Brown <julian@codesourcery.com>
13235 Cesar Philippidis <cesar@codesourcery.com>
13236 Nathan Sidwell <nathan@codesourcery.com>
13237 Tobias Burnus <burnus@net-b.de>
13238
13239 * Makefile.am (search_path): Add $(top_srcdir)/../include.
13240 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
13241 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
13242 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
13243 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
13244 Include $(top_srcdir)/plugin/Makefrag.am.
13245 (nodist_libsubinclude_HEADERS): Add openacc.h.
13246 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
13247 openacc.f90, openacc.mod, openacc_kinds.mod.
13248 (omp_lib.mod): Generalize into...
13249 (%.mod): ... this new rule.
13250 (openacc_kinds.mod, openacc.mod): New rules.
13251 * plugin/configfrag.ac: New file.
13252 * configure.ac: Move plugin/offloading support into it. Include
13253 it. Instantiate testsuite/libgomp-test-support.pt.exp.
13254 * plugin/Makefrag.am: New file.
13255 * testsuite/Makefile.am (OFFLOAD_TARGETS)
13256 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
13257 export.
13258 (libgomp-test-support.exp): New rule.
13259 (all-local): Depend on it.
13260 * Makefile.in: Regenerate.
13261 * testsuite/Makefile.in: Regenerate.
13262 * config.h.in: Likewise.
13263 * configure: Likewise.
13264 * configure.tgt: Harden shell syntax.
13265 * env.c: Include "oacc-int.h".
13266 (parse_acc_device_type): New function.
13267 (gomp_debug_var, goacc_device_type, goacc_device_num): New
13268 variables.
13269 (initialize_env): Initialize those. Call
13270 goacc_runtime_initialize.
13271 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
13272 (gomp_fatal): Call gomp_vfatal.
13273 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
13274 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
13275 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
13276 (splay_tree_node, splay_tree, splay_tree_key)
13277 (struct target_mem_desc, struct splay_tree_key_s)
13278 (struct gomp_memory_mapping, struct acc_dispatch_t)
13279 (struct gomp_device_descr, gomp_acc_insert_pointer)
13280 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
13281 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
13282 (gomp_free_memmap, gomp_fini_device): New declarations.
13283 (gomp_vdebug, gomp_debug): New macros.
13284 Include "splay-tree.h".
13285 * libgomp.map (OACC_2.0): New symbol version. Use for
13286 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
13287 acc_set_device_type_h_, acc_get_device_type,
13288 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
13289 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
13290 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
13291 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
13292 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
13293 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
13294 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
13295 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
13296 acc_copyin_array_h_, acc_present_or_copyin,
13297 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
13298 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
13299 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
13300 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
13301 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
13302 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
13303 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
13304 acc_update_device, acc_update_device_32_h_,
13305 acc_update_device_64_h_, acc_update_device_array_h_,
13306 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
13307 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
13308 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
13309 acc_is_present_64_h_, acc_is_present_array_h_,
13310 acc_memcpy_to_device, acc_memcpy_from_device,
13311 acc_get_current_cuda_device, acc_get_current_cuda_context,
13312 acc_get_cuda_stream, acc_set_cuda_stream.
13313 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
13314 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
13315 GOACC_update, GOACC_wait, GOACC_get_thread_num,
13316 GOACC_get_num_threads.
13317 (GOMP_PLUGIN_1.0): New symbol version. Use for
13318 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
13319 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
13320 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
13321 GOMP_PLUGIN_acc_thread.
13322 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
13323 environment variable.
13324 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
13325 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
13326 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
13327 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
13328 (splay_tree_remove): New declarations.
13329 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
13330 (splay_tree_remove, splay_tree_lookup): Move into...
13331 * splay-tree.c: ... this new file.
13332 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
13333 (splay_tree_node, splay_tree, splay_tree_key)
13334 (struct target_mem_desc, struct splay_tree_key_s)
13335 (struct gomp_device_descr): Don't declare.
13336 (num_devices_openmp): New variable.
13337 (gomp_get_num_devices ): Use it.
13338 (gomp_init_targets_once): New function.
13339 (gomp_get_num_devices ): Use it.
13340 (get_kind, gomp_copy_from_async, gomp_free_memmap)
13341 (gomp_fini_device, gomp_register_image_for_device): New functions.
13342 (gomp_map_vars): Add devaddrs parameter.
13343 (gomp_update): Add mm parameter.
13344 (gomp_init_device): Move most of it into...
13345 (gomp_init_tables): ... this new function.
13346 (gomp_register_images_for_device): Remove function.
13347 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
13348 Make them hidden instead of static.
13349 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
13350 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
13351 (GOMP_target_end_data, GOMP_target_update)
13352 (gomp_load_plugin_for_device, gomp_target_init): Update for
13353 OpenACC changes.
13354 * oacc-async.c: New file.
13355 * oacc-cuda.c: Likewise.
13356 * oacc-host.c: Likewise.
13357 * oacc-init.c: Likewise.
13358 * oacc-int.h: Likewise.
13359 * oacc-mem.c: Likewise.
13360 * oacc-parallel.c: Likewise.
13361 * oacc-plugin.c: Likewise.
13362 * oacc-plugin.h: Likewise.
13363 * oacc-ptx.h: Likewise.
13364 * openacc.f90: Likewise.
13365 * openacc.h: Likewise.
13366 * openacc_lib.h: Likewise.
13367 * plugin/plugin-host.c: Likewise.
13368 * plugin/plugin-nvptx.c: Likewise.
13369 * libgomp-plugin.c: Likewise.
13370 * libgomp-plugin.h: Likewise.
13371 * libgomp_target.h: Remove file after merging content into the
13372 former file. Update all users.
13373 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
13374 (offload_targets_s, offload_targets_s_openacc): New variables.
13375 (check_effective_target_openacc_nvidia_accel_present)
13376 (check_effective_target_openacc_nvidia_accel_selected): New
13377 procedures.
13378 (libgomp_init): Update for OpenACC changes.
13379 * testsuite/libgomp-test-support.exp.in: New file.
13380 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
13381 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13382 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
13383 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
13384 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
13385 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
13386 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
13387 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
13388 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13389 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
13390 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
13391 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
13392 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
13393 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
13394 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
13395 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
13396 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
13397 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
13398 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
13399 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
13400 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
13401 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
13402 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13403 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
13404 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
13405 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
13406 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
13407 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
13408 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
13409 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
13410 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
13411 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13412 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13413 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
13414 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
13415 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
13416 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
13417 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
13418 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
13419 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
13420 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13421 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13422 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13423 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13424 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13425 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
13426 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
13427 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13428 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13429 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13430 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13431 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13432 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13433 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
13434 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
13435 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13436 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13437 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
13438 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13439 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
13440 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
13441 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
13442 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13443 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
13444 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
13445 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
13446 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
13447 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
13448 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
13449 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
13450 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
13451 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13452 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13453 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13454 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
13455 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
13456 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13457 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13458 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
13459 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
13460 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
13461 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
13462 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13463 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13464 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13465 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
13466 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
13467 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
13468 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
13469 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
13470 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
13471 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
13472 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
13473 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
13474 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
13475 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
13476 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
13477 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
13478 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
13479 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
13480 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
13481 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
13482 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
13483 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
13484 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
13485 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
13486 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
13487 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
13488 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
13489 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
13490 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
13491 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
13492 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
13493 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
13494 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
13495 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
13496 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
13497 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
13498 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
13499 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
13500 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
13501 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
13502 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
13503 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
13504 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
13505 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
13506 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
13507 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
13508 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
13509 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
13510 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
13511 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
13512 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
13513 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
13514 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
13515 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13516 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13517 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13518 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13519 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
13520 Likewise.
13521 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
13522 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
13523 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
13524 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13525 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
13526 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
13527 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
13528 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
13529 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
13530 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
13531 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13532 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13533 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13534 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
13535 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
13536 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
13537 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
13538 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
13539 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
13540 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
13541 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
13542 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
13543 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
13544 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
13545 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
13546 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
13547 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
13548 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
13549 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
13550 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
13551 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
13552 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
13553 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
13554 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
13555 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
13556 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
13557 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
13558 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
13559 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
13560 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
13561 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
13562 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
13563 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
13564 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
13565 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
13566 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
13567 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
13568 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
13569 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
13570 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13571 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13572 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13573 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13574 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13575 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
13576 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
13577 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
13578 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
13579 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
13580 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
13581
f1f3453e
TS
135822015-01-10 Thomas Schwinge <thomas@codesourcery.com>
13583 Julian Brown <julian@codesourcery.com>
13584 David Malcolm <dmalcolm@redhat.com>
13585
13586 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
13587 to "GNU Offloading and Multi Processing Runtime Library". Change
13588 all users.
13589 * configure: Regenerate.
13590 * libgomp.texi: Update.
13591
f9a0eca4
TS
135922015-01-08 Thomas Schwinge <thomas@codesourcery.com>
13593
b335ef4e
TS
13594 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
13595 "$tgt_dir/lib32".
13596 * configure: Regenerate.
13597
f9a0eca4
TS
13598 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
13599 "intelmic" in $offload_targets.
13600
b67cd4e3
JJ
136012015-01-05 Jakub Jelinek <jakub@redhat.com>
13602
5624e564
JJ
13603 Update copyright years.
13604
b67cd4e3
JJ
13605 * libgomp.texi: Bump @copying's copyright year.
13606
3b41b583
KT
136072014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13608
13609 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 13610 Move load of target-supports.exp earlier.
3b41b583 13611
2354caec
IV
136122014-12-10 Ilya Verbin <ilya.verbin@intel.com>
13613
13614 * testsuite/libgomp.c/target-9.c: New test.
13615
f50eecba
VR
136162014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
13617
13618 * config.h.in: Regenerate.
13619 * configure: Regenerate.
13620 * configure.ac: Add GCC_CHECK_EMUTLS.
13621 * libgomp.h: Add check for USE_EMUTLS: this case
13622 is equal to HAVE_TLS.
13623 * team.c: Likewise.
13624
68bc9270
UB
136252014-12-03 Uros Bizjak <ubizjak@gmail.com>
13626
13627 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
13628
476ff787
AT
136292014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
13630 Ilya Verbin <ilya.verbin@intel.com>
13631
13632 * testsuite/libgomp.c/target-critical-1.c: New test.
13633
31a30e62
JJ
136342014-11-26 Jakub Jelinek <jakub@redhat.com>
13635
13636 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 13637 to dg-options unless expensive testing is on.
31a30e62
JJ
13638 (TESTITERS): Define to N if not defined.
13639 (main): Use TESTITERS instead of N.
13640 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
13641 dg-additional-options depending on whether expensive testing is on.
13642 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
13643 Decrease N to 100000 and CHUNKSZ to 10000.
13644
3f9e8f13
JJ
136452014-11-24 Jakub Jelinek <jakub@redhat.com>
13646
13647 PR fortran/63938
31a30e62
JJ
13648 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
13649 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 13650
c8451a46
SE
136512014-11-21 Steve Ellcey <sellcey@imgtec.com>
13652
13653 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
13654
a699d672
L
136552014-11-21 H.J. Lu <hongjiu.lu@intel.com>
13656
13657 PR bootstrap/63784
13658 * configure: Regenerated.
13659
4a19f719
UB
136602014-11-19 Uros Bizjak <ubizjak@gmail.com>
13661
13662 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
13663 vect_simd_clones effective target.
13664 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13665
b1bf6c52
JJ
136662014-11-14 Jakub Jelinek <jakub@redhat.com>
13667
13668 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
13669 of 32 as block_size.
13670 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
13671 instead of 32 as block_size.
13672
d64ae614
AT
136732014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
13674 Ilya Verbin <ilya.verbin@intel.com>
13675
13676 * Makefile.in: Regenerate.
13677 * configure: Regenerate.
13678 * configure.ac: Set up offload_additional_options,
13679 offload_additional_lib_paths and offload_targets.
13680 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
13681 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
13682 * testsuite/Makefile.in: Regenerate.
13683 * testsuite/lib/libgomp.exp (libgomp_init): Append
13684 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
13685 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
13686 build directory to LD_LIBRARY_PATH for intelmic offload targets.
13687
122d7303
AT
136882014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
13689 Ilya Verbin <ilya.verbin@intel.com>
13690 Kirill Yukhin <kirill.yukhin@intel.com>
13691 Ilya Tocar <ilya.tocar@intel.com>
13692
13693 * testsuite/lib/libgomp.exp
13694 (check_effective_target_offload_device): New.
13695 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
13696 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
13697 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
13698 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
13699 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
13700 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
13701 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
13702 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
13703 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
13704 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
13705 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
13706 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
13707 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
13708 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
13709 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
13710 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
13711 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
13712 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
13713 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
13714 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
13715 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
13716 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
13717 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
13718 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
13719 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
13720 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
13721 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
13722 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
13723 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
13724 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
13725 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
13726 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
13727 * testsuite/libgomp.c/target-7.c: Fix test.
13728 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
13729 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
13730 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
13731 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
13732 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
13733 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
13734 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
13735 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
13736 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
13737 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
13738 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
13739 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
13740 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
13741 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
13742 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
13743 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
13744 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
13745 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
13746 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13747 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
13748 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
13749 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
13750 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
13751 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
13752 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
13753 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
13754 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
13755 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
13756 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
13757 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
13758 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
13759
1df3f842
JJ
137602014-11-13 Jakub Jelinek <jakub@redhat.com>
13761 Ilya Verbin <ilya.verbin@intel.com>
13762 Thomas Schwinge <thomas@codesourcery.com>
13763 Andrey Turetskiy <andrey.turetskiy@intel.com>
13764
13765 * libgomp.map (GOMP_4.0.1): New symbol version.
13766 Add GOMP_offload_register.
13767 * libgomp_target.h: New file.
13768 * splay-tree.h: New file.
13769 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
13770 (gomp_target_init): New forward declaration.
13771 (gomp_is_initialized): New static variable.
13772 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
13773 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
13774 New structures.
13775 (offload_images, num_offload_images, devices, num_devices): New static
13776 variables.
13777 (splay_compare): New static function.
13778 (struct gomp_device_descr): New structure.
13779 (gomp_get_num_devices): Call gomp_target_init.
13780 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
13781 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
13782 (GOMP_offload_register): New function.
13783 (GOMP_target): Arrange for host callback to be performed in a separate
13784 initial thread and contention group, inheriting ICVs from
13785 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
13786 Add device initialization and lookup for target function in splay tree.
13787 (GOMP_target_data): Add device initialization and call gomp_map_vars.
13788 (GOMP_target_end_data): Call gomp_unmap_vars.
13789 (GOMP_target_update): Add device initialization and call gomp_update.
13790 (gomp_load_plugin_for_device, gomp_register_images_for_device)
13791 (gomp_target_init): New static functions.
13792
85c64bbe
BS
137932014-11-13 Bernd Schmidt <bernds@codesourcery.com>
13794 Thomas Schwinge <thomas@codesourcery.com>
13795 Ilya Verbin <ilya.verbin@intel.com>
13796 Andrey Turetskiy <andrey.turetskiy@intel.com>
13797
13798 * config.h.in: Regenerate.
13799 * configure: Regenerate.
13800 * configure.ac: Check for libdl, required for plugin support.
13801 (PLUGIN_SUPPORT): Define if plugins are supported.
13802 (enable_offload_targets): Support Intel MIC targets.
13803 (OFFLOAD_TARGETS): List of target names suitable for offloading.
13804
ebf6d33b
FXC
138052014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13806
13807 PR target/63610
13808 * configure: Regenerate.
13809
8c768629
RO
138102014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13811
13812 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13813
c1d62412
MP
138142014-10-06 Marek Polacek <polacek@redhat.com>
13815
13816 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
13817 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
13818 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
13819 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13820
44a0c6cb
MP
138212014-10-06 Marek Polacek <polacek@redhat.com>
13822
13823 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
13824 * testsuite/libgomp.c/nqueens-1.c: Likewise.
13825 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13826 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13827 * testsuite/libgomp.c/pr36802-2.c: Likewise.
13828 * testsuite/libgomp.c/pr36802-3.c: Likewise.
13829 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
13830 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13831 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
13832 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
13833 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
13834 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13835 * testsuite/libgomp.c/omp-single-1.c: Likewise.
13836 * testsuite/libgomp.c/omp-single-2.c: Likewise.
13837 * testsuite/libgomp.c/omp_matvec.c: Likewise.
13838 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
13839 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
13840 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
13841 declarations.
13842
5771c391
JJ
138432014-10-03 Jakub Jelinek <jakub@redhat.com>
13844
13845 PR libgomp/61200
13846 * testsuite/libgomp.c/pr61200.c: New test.
13847
bce16b88
JJ
138482014-09-18 Jakub Jelinek <jakub@redhat.com>
13849
13850 PR c++/63248
13851 * testsuite/libgomp.c++/pr63248.C: New test.
13852
3696163c
JJ
138532014-08-04 Jakub Jelinek <jakub@redhat.com>
13854
13855 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
13856 is not zero, but taskgroup->children is NULL and there are
13857 any task->children, schedule those instead of waiting.
13858 * testsuite/libgomp.c/depend-6.c: New test.
13859 * testsuite/libgomp.c/depend-7.c: New test.
13860 * testsuite/libgomp.c/depend-8.c: New test.
13861 * testsuite/libgomp.c/depend-9.c: New test.
13862 * testsuite/libgomp.c/depend-10.c: New test.
13863
0494285a
JJ
138642014-08-01 Jakub Jelinek <jakub@redhat.com>
13865
13866 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13867 (struct gomp_taskwait): New type.
13868 (struct gomp_task): Add taskwait and parent_depends_on, remove
13869 in_taskwait and taskwait_sem fields.
13870 (gomp_finish_task): Don't destroy taskwait_sem.
13871 * task.c (gomp_init_task): Don't init in_taskwait, instead init
13872 taskwait and parent_depends_on.
13873 (GOMP_task): For if (0) tasks with depend clause that depend on
13874 earlier tasks don't defer them, instead call
13875 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13876 Initialize redundant_out field, for redundant out entries just
13877 move them at the end of linked list instead of removing them
13878 completely, and set redundant_out flag instead of redundant.
13879 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
13880 that task.
13881 (gomp_task_run_post_handle_dependers): If parent is in
13882 gomp_task_maybe_wait_for_dependencies and newly runnable task
13883 is not parent_depends_on, queue it in parent->children linked
13884 list after all runnable tasks with parent_depends_on set.
13885 Adjust for addition of taskwait indirection.
13886 (gomp_task_run_post_remove_parent): If parent is in
13887 gomp_task_maybe_wait_for_dependencies and task to be removed
13888 is parent_depends_on, decrement n_depend and if needed awake
13889 parent. Adjust for addition of taskwait indirection.
13890 (GOMP_taskwait): Adjust for addition of taskwait indirection.
13891 (gomp_task_maybe_wait_for_dependencies): New function.
13892 * testsuite/libgomp.c/depend-5.c: New test.
13893
60ab4b44
TB
138942014-07-13 Tobias Burnus <burnus@net-b.de>
13895
13896 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 13897 with TS 18508/Fortran 2015.
60ab4b44 13898
773ec47f
MP
138992014-07-06 Marek Polacek <polacek@redhat.com>
13900
13901 PR c/6940
13902 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13903
f707da16
JJ
139042014-07-03 Jakub Jelinek <jakub@redhat.com>
13905
13906 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13907 matches regex $lang_source_re, add $lang_include_flags to options.
13908 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13909 * testsuite/libgomp.c++/c++.exp: Likewise.
13910 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
13911 and lang_include_flags instead of adding -fintrinsic-modules-path= to
13912 ALWAYS_CFLAGS.
13913 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13914
07b6c044
TS
139152014-07-03 Thomas Schwinge <thomas@codesourcery.com>
13916
13917 * testsuite/libgomp.fortran/fortran.exp: Explain
13918 gfortran-dg-runtest usage.
13919
da6f124d
JJ
139202014-06-25 Jakub Jelinek <jakub@redhat.com>
13921
13922 * testsuite/libgomp.fortran/simd5.f90: New test.
13923 * testsuite/libgomp.fortran/simd6.f90: New test.
13924 * testsuite/libgomp.fortran/simd7.f90: New test.
13925
b46ebd6c
JJ
139262014-06-24 Jakub Jelinek <jakub@redhat.com>
13927
56ad0e38
JJ
13928 * testsuite/libgomp.c/for-2.c: Define SC to static for
13929 #pragma omp for simd testing.
13930 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13931 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13932 SC macro.
13933 * testsuite/libgomp.c/simd-14.c: New test.
13934 * testsuite/libgomp.c/simd-15.c: New test.
13935 * testsuite/libgomp.c/simd-16.c: New test.
13936 * testsuite/libgomp.c/simd-17.c: New test.
13937 * testsuite/libgomp.c++/for-10.C: Define SC to static for
13938 #pragma omp for simd testing.
13939 * testsuite/libgomp.c++/simd10.C: New test.
13940 * testsuite/libgomp.c++/simd11.C: New test.
13941 * testsuite/libgomp.c++/simd12.C: New test.
13942 * testsuite/libgomp.c++/simd13.C: New test.
13943
b46ebd6c
JJ
13944 * testsuite/libgomp.fortran/aligned1.f03: New test.
13945 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
13946 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13947 tasks with !$omp parallel !$omp single.
13948 * testsuite/libgomp.fortran/target8.f90: New test.
13949 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13950 not to use trim in the combiner, instead call elemental function.
13951 (fn): New elemental function.
13952 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13953 Make elemental.
13954 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13955 omp_in): Likewise.
13956 * testsuite/libgomp.fortran/udr12.f90: New test.
13957 * testsuite/libgomp.fortran/udr13.f90: New test.
13958 * testsuite/libgomp.fortran/udr14.f90: New test.
13959 * testsuite/libgomp.fortran/udr15.f90: New test.
13960
f014c653
JJ
139612014-06-18 Jakub Jelinek <jakub@redhat.com>
13962
13963 * omp_lib.f90.in (openmp_version): Set to 201307.
13964 * omp_lib.h.in (openmp_version): Likewise.
13965 * testsuite/libgomp.c/target-8.c: New test.
13966 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
13967 and inbranch clauses.
13968 * testsuite/libgomp.fortran/depend-3.f90: New test.
13969 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
13970 openmp_version.
13971 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13972 * testsuite/libgomp.fortran/target1.f90: New test.
13973 * testsuite/libgomp.fortran/target2.f90: New test.
13974 * testsuite/libgomp.fortran/target3.f90: New test.
13975 * testsuite/libgomp.fortran/target4.f90: New test.
13976 * testsuite/libgomp.fortran/target5.f90: New test.
13977 * testsuite/libgomp.fortran/target6.f90: New test.
13978 * testsuite/libgomp.fortran/target7.f90: New test.
13979
92d28cbb
JJ
139802014-06-10 Jakub Jelinek <jakub@redhat.com>
13981
13982 PR fortran/60928
13983 * testsuite/libgomp.fortran/allocatable9.f90: New test.
13984 * testsuite/libgomp.fortran/allocatable10.f90: New test.
13985 * testsuite/libgomp.fortran/allocatable11.f90: New test.
13986 * testsuite/libgomp.fortran/allocatable12.f90: New test.
13987 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
13988 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
13989 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
13990 * testsuite/libgomp.fortran/associate1.f90: New test.
13991 * testsuite/libgomp.fortran/associate2.f90: New test.
13992 * testsuite/libgomp.fortran/procptr1.f90: New test.
13993
5f23671d
JJ
139942014-06-06 Jakub Jelinek <jakub@redhat.com>
13995
13996 * testsuite/libgomp.fortran/simd1.f90: New test.
13997 * testsuite/libgomp.fortran/udr1.f90: New test.
13998 * testsuite/libgomp.fortran/udr2.f90: New test.
13999 * testsuite/libgomp.fortran/udr3.f90: New test.
14000 * testsuite/libgomp.fortran/udr4.f90: New test.
14001 * testsuite/libgomp.fortran/udr5.f90: New test.
14002 * testsuite/libgomp.fortran/udr6.f90: New test.
14003 * testsuite/libgomp.fortran/udr7.f90: New test.
14004 * testsuite/libgomp.fortran/udr8.f90: New test.
14005 * testsuite/libgomp.fortran/udr9.f90: New test.
14006 * testsuite/libgomp.fortran/udr10.f90: New test.
14007 * testsuite/libgomp.fortran/udr11.f90: New test.
14008
0389fbb5
UB
140092014-05-27 Uros Bizjak <ubizjak@gmail.com>
14010
14011 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
14012 vect_simd_clones effective target.
14013 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
14014
decaaec8
JJ
140152014-05-21 Jakub Jelinek <jakub@redhat.com>
14016
14017 PR middle-end/61252
14018 * testsuite/libgomp.c++/simd-9.C: New test.
14019
72832460
UB
140202014-05-18 Uros Bizjak <ubizjak@gmail.com>
14021
14022 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
14023 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
14024 texts according to their @menu entry positions.
14025
dd2fc525
JJ
140262014-05-11 Jakub Jelinek <jakub@redhat.com>
14027
14028 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
14029 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
14030 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
14031 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
14032 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
14033 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
14034 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
14035 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
14036 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
14037 * testsuite/libgomp.fortran/depend-1.f90: New test.
14038 * testsuite/libgomp.fortran/depend-2.f90: New test.
14039 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
14040 * testsuite/libgomp.fortran/simd1.f90: New test.
14041 * testsuite/libgomp.fortran/simd2.f90: New test.
14042 * testsuite/libgomp.fortran/simd3.f90: New test.
14043 * testsuite/libgomp.fortran/simd4.f90: New test.
14044 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
14045
95782571
JJ
140462014-05-02 Jakub Jelinek <jakub@redhat.com>
14047
14048 * testsuite/libgomp.c/simd-10.c: New test.
14049 * testsuite/libgomp.c/simd-11.c: New test.
14050 * testsuite/libgomp.c/simd-12.c: New test.
14051 * testsuite/libgomp.c/simd-13.c: New test.
14052
f7468577
JJ
140532014-04-24 Jakub Jelinek <jakub@redhat.com>
14054
42056eac
JJ
14055 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
14056 atomic type clauses in any order and optional comma in between.
14057 * testsuite/libgomp.c++/atomic-15.C: Likewise.
14058 * testsuite/libgomp.c/atomic-17.c: Likewise.
14059
f7468577
JJ
14060 * testsuite/libgomp.c/simd-7.c: New test.
14061 * testsuite/libgomp.c/simd-8.c: New test.
14062 * testsuite/libgomp.c/simd-9.c: New test.
14063 * testsuite/libgomp.c/loop-16.c: New test.
14064
ab18f2f5
RH
140652014-04-02 Richard Henderson <rth@redhat.com>
14066
14067 * config/linux/futex.h (futex_wait): Get error value from errno.
14068 (futex_wake): Likewise.
14069
8bcc90b0
JJ
140702014-03-25 Jakub Jelinek <jakub@redhat.com>
14071
14072 PR c++/60331
14073 * testsuite/libgomp.c++/udr-11.C: New test.
14074 * testsuite/libgomp.c++/udr-12.C: New test.
14075 * testsuite/libgomp.c++/udr-13.C: New test.
14076 * testsuite/libgomp.c++/udr-14.C: New test.
14077 * testsuite/libgomp.c++/udr-15.C: New test.
14078 * testsuite/libgomp.c++/udr-16.C: New test.
14079 * testsuite/libgomp.c++/udr-17.C: New test.
14080 * testsuite/libgomp.c++/udr-18.C: New test.
14081 * testsuite/libgomp.c++/udr-19.C: New test.
14082
18d73c7f
RS
140832014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14084
14085 Update copyright years
14086
f9030485
RS
140872014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14088
14089 * hashtab.h: Use the standard form for the copyright notice.
14090
98db73df
TB
140912014-01-02 Tobias Burnus <burnus@net-b.de>
14092
14093 * libgomp.texi: Bump @copying's copyright year.
14094
ae246f7f
AT
140952013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
14096
93d90219 14097 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
14098 alloca () with __builtin_alloca ().
14099 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
14100 * testsuite/libgomp.c/lock-3.c: Likewise.
14101 * testsuite/libgomp.c/pr48591.c: Likewise.
14102
fa00a5fe
JJ
141032013-12-17 Jakub Jelinek <jakub@redhat.com>
14104
14105 PR testsuite/59534
14106 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
14107 comparisons.
14108
e9792e1d
JJ
141092013-12-16 Jakub Jelinek <jakub@redhat.com>
14110
14111 PR libgomp/58756
14112 * testsuite/libgomp.c/pr58756.c: New test.
14113
cab37c89
JJ
141142013-12-12 Jakub Jelinek <jakub@redhat.com>
14115
14116 PR libgomp/59467
14117 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
14118 !$omp parallel.
14119
de14871c
TS
141202013-11-07 Thomas Schwinge <thomas@codesourcery.com>
14121
1707a5de
TS
14122 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
14123 ALWAYS_CFLAGS.
14124 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
14125 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
14126 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
14127 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
14128 Likewise.
14129
70f05c43
TS
14130 * libgomp_g.h: Include <stddef.h> for size_t.
14131
de14871c
TS
14132 * libgomp.spec.in: Update comment about libgomp's dependencies.
14133 * configure.ac: Likewise.
14134 * configure: Regenerate.
14135
83fd6c5b
TB
141362013-10-16 Tobias Burnus <burnus@net-b.de>
14137
14138 * libgomp.texi: (Runtime Library Routines): Update references for
14139 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
14140 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
14141 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
14142 (Environment Variables): Update references for OpenMP 4.0. Add
14143 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
14144 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
14145 order.
14146
c8673881
JJ
141472013-10-14 Jakub Jelinek <jakub@redhat.com>
14148
14149 * env.c (parse_bind_var): Initialize value to avoid
14150 (false positive) warning.
14151
f89163fd
JJ
141522013-10-12 Jakub Jelinek <jakub@redhat.com>
14153
14154 PR libgomp/58691
14155 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
14156 to check variable.
14157 (gomp_init_num_threads): Move i variable declaration into
14158 #ifdef CPU_ALLOC_SIZE block.
14159 * config/linux/affinity.c (gomp_affinity_init_level): Test
14160 gomp_places_list_len == 0 rather than gomp_places_list == 0
14161 when checking for topology reading error.
14162 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
14163 * env.c (parse_affinity): Add ignore argument, if true, don't populate
14164 gomp_places_list, only parse env var and always return false.
14165 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
14166 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
14167 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
14168 and either of these variables were parsed correctly into a places
14169 list.
14170
1d340638
TS
141712013-10-11 Thomas Schwinge <thomas@codesourcery.com>
14172 Jakub Jelinek <jakub@redhat.com>
14173
14174 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
14175 of 5 loopfn matches.
14176 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14177 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14178 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
14179 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14180 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14181 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14182 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14183 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14184
71a81c21
TS
141852013-10-11 Thomas Schwinge <thomas@codesourcery.com>
14186
bd87f731
TS
14187 * Makefile.am (omp_lib.mod): Streamline rule.
14188 * Makefile.in: Regenerate.
14189
f5745bed
TS
14190 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
14191 exceptions.
14192
b5512c66
TS
14193 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
14194 * testsuite/libgomp.fortran/lib1.f90: Likewise.
14195 * testsuite/libgomp.fortran/lib2.f: Likewise.
14196 * testsuite/libgomp.fortran/lib3.f: Likewise.
14197
451c19c4
TS
14198 * configure.ac: Typo fix.
14199 * configure: Regenerate.
14200
86a6016d
TS
14201 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
14202 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
14203
71a81c21
TS
14204 * omp.h.in: Don't touch the user's namespace.
14205
acf0174b
JJ
142062013-10-11 Jakub Jelinek <jakub@redhat.com>
14207 Tobias Burnus <burnus@net-b.de>
14208 Richard Henderson <rth@redhat.com>
14209
14210 * target.c: New file.
14211 * Makefile.am (libgomp_la_SOURCES): Add target.c.
14212 * Makefile.in: Regenerated.
14213 * libgomp_g.h (GOMP_task): Add depend argument.
14214 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
14215 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
14216 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
14217 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
14218 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
14219 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
14220 GOMP_taskgroup_start, GOMP_taskgroup_end,
14221 GOMP_parallel_sections): New prototypes.
14222 * fortran.c (omp_is_initial_device): Add ialias_redirect.
14223 (omp_is_initial_device_): New function.
14224 (ULP, STR1, STR2, ialias_redirect): Removed.
14225 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
14226 omp_set_default_device_8_, omp_get_default_device_,
14227 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
14228 functions.
14229 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
14230 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
14231 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
14232 @@GOMP_4.0.
14233 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
14234 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
14235 omp_set_default_device, omp_set_default_device_,
14236 omp_set_default_device_8_, omp_get_default_device,
14237 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
14238 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
14239 omp_get_team_num_): Export @@OMP_4.0.
14240 * team.c (struct gomp_thread_start_data): Add place field.
14241 (gomp_thread_start): Clear thr->thread_pool and
14242 thr->task before returning. Use gomp_team_barrier_wait_final
14243 instead of gomp_team_barrier_wait. Initialize thr->place.
14244 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
14245 team_cancelled and task_queued_count fields.
14246 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
14247 before calling pthread_exit.
14248 (gomp_free_thread): No longer static. Use
14249 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
14250 (gomp_team_start): Add flags argument. Set
14251 thr->thread_pool->threads_busy to nthreads immediately after creating
14252 new pool. Use gomp_managed_threads_lock instead of
14253 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
14254 (gomp_team_end): Use gomp_managed_threads_lock instead of
14255 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
14256 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 14257 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
14258 rather than thr->ts.work_share.
14259 (initialize_team): Don't call gomp_sem_init here.
14260 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
14261 caller.
14262 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
14263 * env.c (gomp_global_icv): Add default_device_var, target_data and
14264 bind_var initializers.
14265 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
14266 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
14267 gomp_places_list_len): New variables.
14268 (parse_bind_var, parse_one_place, parse_places_var): New functions.
14269 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
14270 sized places.
14271 (gomp_cancel_var): New global variable.
14272 (parse_int): New function.
14273 (handle_omp_display_env): New function.
14274 (initialize_env): Use it. Initialize default_device_var.
14275 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
14276 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
14277 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
14278 been successfully parsed (and call gomp_init_affinity in that case).
14279 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
14280 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
14281 omp_get_team_num, omp_is_initial_device): New functions.
14282 * libgomp.h: Include stdlib.h.
14283 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
14284 Define.
14285 (struct target_mem_desc): Forward declare.
14286 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
14287 and thread_limit_var fields.
14288 (gomp_get_num_devices): New prototype.
14289 (gomp_cancel_var): New extern decl.
14290 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
14291 team_cancelled and task_queued_count fields. Add comments about
14292 task_{,queued_,running_}count.
14293 (gomp_cancel_kind): New enum.
14294 (gomp_work_share_end_cancel): New prototype.
14295 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
14296 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
14297 and depend fields.
14298 (struct gomp_taskgroup): New type.
14299 (struct gomp_task_depend_entry,
14300 struct gomp_dependers_vec): New types.
14301 (gomp_finish_task): Free depend_hash if non-NULL.
14302 (struct gomp_team_state): Add place_partition_off
14303 and place_partition_len fields.
14304 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
14305 gomp_places_list_len): New extern decls.
14306 (struct gomp_thread): Add place field.
14307 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
14308 (gomp_init_thread_affinity): Add place argument.
14309 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
14310 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
14311 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
14312 gomp_affinity_init_level, gomp_affinity_print_place): New
14313 prototypes.
14314 (gomp_team_start): Add flags argument.
14315 (gomp_thread_limit_var, gomp_remaining_threads_count,
14316 gomp_remaining_threads_lock): Remove.
14317 (gomp_managed_threads_lock): New variable.
14318 (struct gomp_thread_pool): Add threads_busy field.
14319 (gomp_free_thread): New prototype.
14320 * task.c: Include hashtab.h.
14321 (hash_entry_type): New typedef.
14322 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
14323 (gomp_init_task): Clear dependers, depend_hash, depend_count,
14324 copy_ctors_done and taskgroup fields.
14325 (GOMP_task): Add depend argument, handle depend clauses. If
14326 gomp_team_barrier_cancelled or if it's taskgroup has been
14327 cancelled, don't queue or start new tasks. Set copy_ctors_done
14328 field if needed. Initialize taskgroup field. If copy_ctors_done
14329 and already cancelled, don't discard the task. If taskgroup is
14330 non-NULL, enqueue the task into taskgroup queue. Increment
14331 num_children field in taskgroup. Increment task_queued_count.
14332 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
14333 gomp_task_run_post_remove_taskgroup): New inline functions.
14334 (gomp_task_run_post_handle_depend_hash,
14335 gomp_task_run_post_handle_dependers,
14336 gomp_task_run_post_handle_depend): New functions.
14337 (GOMP_taskwait): Use them. If more than one new tasks
14338 have been queued, wake other threads if needed.
14339 (gomp_barrier_handle_tasks): Likewise. If
14340 gomp_team_barrier_cancelled, don't start any new tasks, just free
14341 all tasks.
14342 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
14343 * omp_lib.f90.in
14344 (omp_proc_bind_kind, omp_proc_bind_false,
14345 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
14346 omp_proc_bind_spread): New params.
14347 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
14348 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
14349 omp_get_team_num, omp_is_initial_device): New interfaces.
14350 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
14351 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
14352 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
14353 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
14354 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
14355 useless use omp_lib_kinds.
14356 * omp.h.in (omp_proc_bind_t): New typedef.
14357 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
14358 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
14359 omp_get_team_num, omp_is_initial_device): New prototypes.
14360 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
14361 through to gomp_team_start.
14362 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
14363 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
14364 Adjust gomp_parallel_loop_start callers.
14365 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
14366 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
14367 GOMP_loop_end_cancel): New functions.
14368 (GOMP_parallel_end): Add ialias_redirect.
14369 * hashtab.h: New file.
14370 * libgomp.texi (Environment Variables): Minor cleanup,
14371 update section refs to OpenMP 4.0rc2.
14372 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
14373 environment variables.
14374 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
14375 team->work_shares_to_free to thr->ts.work_share before calling
14376 free_work_share.
14377 (gomp_work_share_end_cancel): New function.
14378 * config/linux/proc.c: Include errno.h.
14379 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
14380 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
14381 sizeof (cpu_set_t) to determine number of iterations. Fix up check
14382 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
14383 gomp_cpuset_size is sizeof (cpu_set_t).
14384 (gomp_init_num_threads): Initialize gomp_cpuset_size,
14385 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
14386 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
14387 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
14388 contain any logical CPUs.
14389 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
14390 is NULL. Use gomp_cpusetp instead of &cpuset and pass
14391 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
14392 pthread_getaffinity_np. Check gomp_places_list instead of
14393 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
14394 * config/linux/bar.c (gomp_barrier_wait_end,
14395 gomp_barrier_wait_last): Use BAR_* defines.
14396 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
14397 from state where needed. Set work_share_cancelled to 0 on last
14398 thread.
14399 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
14400 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
14401 functions.
14402 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
14403 Add cpusetsize argument.
14404 (gomp_cpuset_size, gomp_cpusetp): Declare.
14405 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
14406 (affinity_counter): Remove.
14407 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
14408 if CPU_ALLOC_SIZE isn't defined.
14409 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
14410 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
14411 bind current thread to the first place.
14412 (gomp_init_thread_affinity): Rewritten. Add place argument, just
14413 pthread_setaffinity_np to gomp_places_list[place].
14414 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
14415 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
14416 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
14417 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
14418 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
14419 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
14420 (gomp_barrier_t): Add awaited_final field.
14421 (gomp_barrier_init): Initialize awaited_final field.
14422 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
14423 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
14424 prototypes.
14425 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
14426 defines.
14427 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
14428 gomp_team_barrier_cancelled): New inline functions.
14429 (gomp_barrier_last_thread,
14430 gomp_team_barrier_set_task_pending,
14431 gomp_team_barrier_clear_task_pending,
14432 gomp_team_barrier_set_waiting_for_tasks,
14433 gomp_team_barrier_waiting_for_tasks,
14434 gomp_team_barrier_done): Use BAR_* defines.
14435 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
14436 (gomp_barrier_wait_end): Use BAR_* defines.
14437 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
14438 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
14439 Use BAR_* defines.
14440 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
14441 gomp_team_barrier_cancel): New functions.
14442 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
14443 argument.
14444 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
14445 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
14446 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
14447 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
14448 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
14449 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
14450 (gomp_barrier_t): Add cancellable field.
14451 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
14452 gomp_team_barrier_cancel): New prototypes.
14453 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
14454 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
14455 gomp_team_barrier_cancelled): New inline functions.
14456 (gomp_barrier_wait_start, gomp_barrier_last_thread,
14457 gomp_team_barrier_set_task_pending,
14458 gomp_team_barrier_clear_task_pending,
14459 gomp_team_barrier_set_waiting_for_tasks,
14460 gomp_team_barrier_waiting_for_tasks,
14461 gomp_team_barrier_done): Use BAR_* defines.
14462 * barrier.c (GOMP_barrier_cancel): New function.
14463 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
14464 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
14465 omp_proc_bind_spread): New params.
14466 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
14467 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
14468 omp_get_team_num, omp_is_initial_device): New externals.
14469 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
14470 New functions.
14471 (gomp_resolve_num_threads): Adjust for thread_limit now being in
14472 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
14473 infinity. If not nested, just return minimum of max_num_threads
14474 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
14475 to the returned value. Otherwise, don't update atomically
14476 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
14477 (GOMP_parallel_end): Adjust for thread_limit now being in
14478 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
14479 infinity. Adjust threads_busy in the pool rather than
14480 gomp_remaining_threads_count. Remember team->nthreads and call
14481 gomp_team_end before adjusting threads_busy, if not nested
14482 afterwards, just set it to 1 non-atomically. Add ialias.
14483 (GOMP_parallel_start): Adjust gomp_team_start caller.
14484 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
14485 * testsuite/libgomp.c/affinity-1.c: New test.
14486 * testsuite/libgomp.c/atomic-15.c: New test.
14487 * testsuite/libgomp.c/atomic-16.c: New test.
14488 * testsuite/libgomp.c/atomic-17.c: New test.
14489 * testsuite/libgomp.c/cancel-for-1.c: New test.
14490 * testsuite/libgomp.c/cancel-for-2.c: New test.
14491 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
14492 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
14493 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
14494 * testsuite/libgomp.c/cancel-sections-1.c: New test.
14495 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
14496 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
14497 * testsuite/libgomp.c/depend-1.c: New test.
14498 * testsuite/libgomp.c/depend-2.c: New test.
14499 * testsuite/libgomp.c/depend-3.c: New test.
14500 * testsuite/libgomp.c/depend-4.c: New test.
14501 * testsuite/libgomp.c/for-1.c: New test.
14502 * testsuite/libgomp.c/for-1.h: New file.
14503 * testsuite/libgomp.c/for-2.c: New test.
14504 * testsuite/libgomp.c/for-2.h: New file.
14505 * testsuite/libgomp.c/for-3.c: New test.
14506 * testsuite/libgomp.c/pr58392.c: New test.
14507 * testsuite/libgomp.c/simd-1.c: New test.
14508 * testsuite/libgomp.c/simd-2.c: New test.
14509 * testsuite/libgomp.c/simd-3.c: New test.
14510 * testsuite/libgomp.c/simd-4.c: New test.
14511 * testsuite/libgomp.c/simd-5.c: New test.
14512 * testsuite/libgomp.c/simd-6.c: New test.
14513 * testsuite/libgomp.c/target-1.c: New test.
14514 * testsuite/libgomp.c/target-2.c: New test.
14515 * testsuite/libgomp.c/target-3.c: New test.
14516 * testsuite/libgomp.c/target-4.c: New test.
14517 * testsuite/libgomp.c/target-5.c: New test.
14518 * testsuite/libgomp.c/target-6.c: New test.
14519 * testsuite/libgomp.c/target-7.c: New test.
14520 * testsuite/libgomp.c/taskgroup-1.c: New test.
14521 * testsuite/libgomp.c/thread-limit-1.c: New test.
14522 * testsuite/libgomp.c/thread-limit-2.c: New test.
14523 * testsuite/libgomp.c/thread-limit-3.c: New test.
14524 * testsuite/libgomp.c/udr-1.c: New test.
14525 * testsuite/libgomp.c/udr-2.c: New test.
14526 * testsuite/libgomp.c/udr-3.c: New test.
14527 * testsuite/libgomp.c++/affinity-1.C: New test.
14528 * testsuite/libgomp.c++/atomic-10.C: New test.
14529 * testsuite/libgomp.c++/atomic-11.C: New test.
14530 * testsuite/libgomp.c++/atomic-12.C: New test.
14531 * testsuite/libgomp.c++/atomic-13.C: New test.
14532 * testsuite/libgomp.c++/atomic-14.C: New test.
14533 * testsuite/libgomp.c++/atomic-15.C: New test.
14534 * testsuite/libgomp.c++/cancel-for-1.C: New test.
14535 * testsuite/libgomp.c++/cancel-for-2.C: New test.
14536 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
14537 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
14538 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
14539 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
14540 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
14541 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
14542 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
14543 * testsuite/libgomp.c++/cancel-test.h: New file.
14544 * testsuite/libgomp.c++/for-9.C: New test.
14545 * testsuite/libgomp.c++/for-10.C: New test.
14546 * testsuite/libgomp.c++/for-11.C: New test.
14547 * testsuite/libgomp.c++/simd-1.C: New test.
14548 * testsuite/libgomp.c++/simd-2.C: New test.
14549 * testsuite/libgomp.c++/simd-3.C: New test.
14550 * testsuite/libgomp.c++/simd-4.C: New test.
14551 * testsuite/libgomp.c++/simd-5.C: New test.
14552 * testsuite/libgomp.c++/simd-6.C: New test.
14553 * testsuite/libgomp.c++/simd-7.C: New test.
14554 * testsuite/libgomp.c++/simd-8.C: New test.
14555 * testsuite/libgomp.c++/target-1.C: New test.
14556 * testsuite/libgomp.c++/target-2.C: New test.
14557 * testsuite/libgomp.c++/target-2-aux.cc: New file.
14558 * testsuite/libgomp.c++/target-3.C: New test.
14559 * testsuite/libgomp.c++/taskgroup-1.C: New test.
14560 * testsuite/libgomp.c++/udr-1.C: New test.
14561 * testsuite/libgomp.c++/udr-2.C: New test.
14562 * testsuite/libgomp.c++/udr-3.C: New test.
14563 * testsuite/libgomp.c++/udr-4.C: New test.
14564 * testsuite/libgomp.c++/udr-5.C: New test.
14565 * testsuite/libgomp.c++/udr-6.C: New test.
14566 * testsuite/libgomp.c++/udr-7.C: New test.
14567 * testsuite/libgomp.c++/udr-8.C: New test.
14568 * testsuite/libgomp.c++/udr-9.C: New test.
14569
bd599dea
JJ
145702013-09-20 Jakub Jelinek <jakub@redhat.com>
14571
14572 PR testsuite/57605
14573 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
14574 ALWAYS_CFLAGS.
14575
3cbe17f7
AM
145762013-09-20 Alan Modra <amodra@gmail.com>
14577
14578 * configure: Regenerate.
14579
4befd127
JJ
145802013-09-19 Jakub Jelinek <jakub@redhat.com>
14581
14582 * testsuite/libgomp.c/sections-2.c: New test.
14583
946c8f7b
MS
145842013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
14585
14586 * testsuite/libgomp.fortran/strassen.f90:
14587 Add dg-skip-if aarch64_tiny.
14588
1ef3b58e
IS
145892013-06-20 Iain Sandoe <iain@codesourcery.com>
14590 Cesar Philippidis <cesar@codesourcery.com>
14591
14592 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
14593 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
14594 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
14595 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14596 * testsuite/libgomp.graphite/graphite.exp: Likewise.
14597 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
14598 Use dg-runtest rather than gfortran-dg-runtest.
14599
9275f73a
TS
146002013-06-10 Thomas Schwinge <thomas@codesourcery.com>
14601
14602 * testsuite/libgomp.c/icv-2.c: Extend current handling of
14603 Linux-based x86 systems to cover all GNU systems.
14604 * testsuite/libgomp.c/lock-3.c: Likewise.
14605 * testsuite/libgomp.c/pr48591.c: Likewise.
14606
492992e2
TS
146072013-06-06 Thomas Schwinge <thomas@codesourcery.com>
14608
48df3acb
TS
14609 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
14610 GNU/Hurd, as done for Linux-based systems.
14611
492992e2
TS
14612 * config/posix/ptrlock.h: Fix comment.
14613
4fed6b25
TB
146142013-05-27 Tobias Burnus <burnus@net-b.de>
14615
14616 PR fortran/57423
14617 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
14618 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
14619 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
14620 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
14621 omp_destroy_nest_lock): Correct arguments to match the one in
14622 the OpenMP spec.
14623 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
14624 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
14625 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
14626 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
14627
5a0f4dd3
JJ
146282013-05-16 Jakub Jelinek <jakub@redhat.com>
14629
14630 * testsuite/libgomp.c/loop-13.c: New test.
14631 * testsuite/libgomp.c/loop-14.c: New test.
14632 * testsuite/libgomp.c/loop-15.c: New test.
14633 * testsuite/libgomp.c++/loop-13.C: New test.
14634 * testsuite/libgomp.c++/loop-14.C: New test.
14635 * testsuite/libgomp.c++/loop-15.C: New test.
14636
6d840d99
JJ
146372013-02-06 Jakub Jelinek <jakub@redhat.com>
14638
14639 PR middle-end/56217
14640 * testsuite/libgomp.c++/pr56217.C: New test.
14641
bed8d8a6
AM
146422013-02-01 Alan Modra <amodra@gmail.com>
14643
14644 * task.c (GOMP_task, GOMP_taskwait): Comment.
14645
3b35cd04
DV
146462013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
14647 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
14648
14649 PR libgomp/55561
14650 * config/linux/wait.h (do_spin): Use atomic load for addr.
14651 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
14652 for intptr and ptrlock.
14653 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
14654 for ptrlock.
14655
9a647288
AM
146562013-01-22 Alan Modra <amodra@gmail.com>
14657
14658 PR libgomp/51376
14659 PR libgomp/56073
14660 * task.c (GOMP_task): Revert 2011-12-09 change.
14661 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
14662 barrier to read task->children..
14663 (gomp_barrier_handle_tasks): ..and matching atomic store with
14664 release barrier here when setting parent->children to NULL.
14665
f34dea03
JJ
146662013-01-16 Jakub Jelinek <jakub@redhat.com>
14667 Tobias Burnus <burnus@net-b.de>
14668
14669 PR driver/55884
14670 * testsuite/libgomp.fortran/fortran.exp: Use
14671 -fintrinsic-modules-path= instead of
14672 -fintrinsic-modules-path.
14673
8129609c
RS
146742013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
14675
14676 Update copyright years.
14677
aa86bf1e
TB
146782012-12-19 Tobias Burnus <burnus@net-b.de>
14679
14680 * testsuite/libgomp.fortran/fortran.exp: Set
14681 -fintrinsic-modules-path.
14682
2865ea66
TB
146832012-12-19 Tobias Burnus <burnus@net-b.de>
14684
14685 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
14686 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
14687
4c5ba8d0
JJ
146882012-11-21 Jakub Jelinek <jakub@redhat.com>
14689
14690 PR libgomp/55411
14691 * team.c (gomp_free_thread): Decrease gomp_managed_threads
14692 if pool had any threads_used.
14693
e9f958c2
JH
146942012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
14695
14696 * testsuite/libgomp.c++/pr24455.C: Use
14697 -Wl,-undefined,dynamic_lookup on darwin.
14698
a57d75dc
DE
146992012-11-07 David Edelsohn <dje.gcc@gmail.com>
14700
14701 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
14702
c6c08485
DH
147032012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
14704
14705 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
14706
c1f37c00
IB
147072012-10-23 Ian Bolton <ian.bolton@arm.com>
14708 Jim MacArthur <jim.macarthur@arm.com>
14709 Marcus Shawcroft <marcus.shawcroft@arm.com>
14710 Nigel Stephens <nigel.stephens@arm.com>
14711 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14712 Richard Earnshaw <rearnsha@arm.com>
14713 Sofiane Naci <sofiane.naci@arm.com>
14714 Stephen Thomas <stephen.thomas@arm.com>
14715 Tejas Belagod <tejas.belagod@arm.com>
14716 Yufeng Zhang <yufeng.zhang@arm.com>
14717
14718 * configure.tgt: Add AArch64.
14719
7c424acd
JM
147202012-10-04 Jason Merrill <jason@redhat.com>
14721
14722 * testsuite/libgomp.c++/tls-init1.C: New.
14723
6608378b
DE
147242012-09-14 David Edelsohn <dje.gcc@gmail.com>
14725
14726 * configure: Regenerated.
14727
c24dbebb
CLT
147282012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
14729
14730 * config/linux/mips/futex.h (sys_futex0): Change to static
14731 function with noinline, nomips16 attributes under MIPS16. Adjust
14732 asm statement to place 'li v0,SYS_futex' immediately before
14733 syscall insn.
14734
3d3949df
SL
147352012-07-04 Sandra Loosemore <sandra@codesourcery.com>
14736
14737 * libgomp.texi (Library Index): Renamed from "Index" to prevent
14738 conflict with index.html on case-insensitive file systems.
14739
68a12ef3
UB
147402012-07-03 Uros Bizjak <ubizjak@gmail.com>
14741
14742 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14743 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
14744
33ad93b9 147452012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
14746 Michael Matz <matz@suse.de>
14747 Tobias Grosser <tobias@grosser.es>
14748 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
14749
14750 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
14751 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14752 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14753 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14754
e6fdc918
AS
147552012-06-28 Andreas Schwab <schwab@linux-m68k.org>
14756
14757 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14758
62e0a1ed
RG
147592012-06-22 Richard Guenther <rguenther@suse.de>
14760
14761 Merge from graphite branch
14762 2012-01-13 Tobias Grosser <tobias@grosser.es>
14763
14764 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14765 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14766
26127932
JJ
147672012-06-07 Jakub Jelinek <jakub@redhat.com>
14768
14769 PR middle-end/53580
14770 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
14771 use GOMP_barrier () call instead.
14772 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14773 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14774 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
14775 call GOMP_barrier instead.
14776 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14777
43fa5db5
JJ
147782012-06-06 Jakub Jelinek <jakub@redhat.com>
14779
14780 PR libgomp/52993
14781 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14782 argument to memset call.
14783
e6d5f8c9
L
147842012-05-16 H.J. Lu <hongjiu.lu@intel.com>
14785
14786 * configure: Regenerated.
14787
559d990c
MLI
147882012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
14789
14790 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14791
b9c23a61
L
147922012-03-31 H.J. Lu <hongjiu.lu@intel.com>
14793
14794 PR bootstrap/52812
14795 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14796
c140ddf3
JJ
147972012-03-22 Jakub Jelinek <jakub@redhat.com>
14798
14799 PR middle-end/52547
14800 * testsuite/libgomp.c/pr52547.c: New test.
14801
6a26a74d
BRF
148022012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14803
14804 * testsuite/lib/libgomp.exp: load fortran-modules.exp
14805
b24513a1
RO
148062012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14807
14808 * configure.tgt (mips-sgi-irix6*): Remove.
14809
5c30094f
RO
148102012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14811
14812 * configure.tgt (alpha*-dec-osf*): Remove.
14813
14814 * config/osf/sem.h: Remove.
14815 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14816
a339c9d6
EB
148172012-02-29 Eric Botcazou <ebotcazou@adacore.com>
14818
14819 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14820
cc2de92d
RO
148212012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14822
14823 PR libstdc++/52188
14824 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
14825 Remove ENABLE_SYMVERS_SOL2.
14826 * configure: Regenerate.
14827 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
14828 (PREPROCESS): New variable.
14829 (libgomp.ver): New target.
14830 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
14831 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
14832 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
14833 Use libgomp.ver.
14834 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14835 * Makefile.in: Regenerate.
14836
dd552284
WL
148372012-02-14 Walter Lee <walt@tilera.com>
14838
14839 * configure.tgt: Handle tilegx and tilepro.
14840 * config/linux/tile/futex.h: New file.
14841
31432e21
RG
148422012-02-08 Richard Guenther <rguenther@suse.de>
14843
14844 PR tree-optimization/46886
14845 * testsuite/libgomp.c/pr46886.c: New testcase.
14846
b9264b5f
MK
148472012-01-25 Matthias Klose <doko@ubuntu.com>
14848
14849 * config/linux/arm: Remove empty directory.
14850 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14851
fbf7be80
AM
148522011-12-09 Alan Modra <amodra@gmail.com>
14853
14854 PR libgomp/51376
14855 * task.c (GOMP_taskwait): Don't access task->children outside of
14856 task_lock mutex region.
14857 (GOMP_task): Likewise.
14858
5de62d00
JJ
148592011-12-06 Jakub Jelinek <jakub@redhat.com>
14860
14861 PR libgomp/51132
14862 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14863 to file scope.
14864 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14865 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14866 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14867 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14868 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14869
45608a43
AM
148702011-12-02 Alan Modra <amodra@gmail.com>
14871
14872 * config/linux/affinity.c: Use atomic rather than sync builtin.
14873 * config/linux/lock.c: Likewise.
14874 * config/linux/ptrlock.h: Likewise.
14875 * config/linux/ptrlock.c: Likewise.
14876 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14877 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14878 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
14879 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14880 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14881 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14882 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14883 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14884 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14885 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14886
ab6dd406
AM
148872011-11-30 Alan Modra <amodra@gmail.com>
14888
14889 PR libgomp/51298
14890 * config/linux/bar.h: Use atomic rather than sync builtins.
14891 * config/linux/bar.c: Likewise. Add missing acquire
14892 synchronisation on generation field.
14893 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14894 double unlock.
14895
b40c885f
AM
148962011-11-30 Alan Modra <amodra@gmail.com>
14897
14898 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14899 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14900 * config/linux/mutex.h: Use atomic rather than sync builtins.
14901 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
14902 * config/linux/omp-lock.h: Comment fix.
14903 * config/linux/arm/mutex.h: Delete.
14904 * config/linux/powerpc/mutex.h: Delete.
14905 * config/linux/ia64/mutex.h: Delete.
14906 * config/linux/mips/mutex.h: Delete.
14907
3e348fcc
AM
149082011-11-30 Alan Modra <amodra@gmail.com>
14909
14910 PR libgomp/51249
14911 * config/linux/sem.h: Rewrite.
14912 * config/linux/sem.c: Rewrite.
14913
cef86eb2
RH
149142011-11-28 Richard Henderson <rth@redhat.com>
14915
14916 * libgomp.h (enum memmodel): New.
14917
c6084f68
AT
149182011-11-21 Andreas Tobler <andreast@fgznet.ch>
14919
14920 * configure: Regenerate.
14921
06fe026c
MK
149222011-10-10 Matthias Klose <doko@ubuntu.com>
14923
14924 * config/posix95: Remove empty directory.
14925
a6c975bd
JJ
149262011-08-26 Jakub Jelinek <jakub@redhat.com>
14927
14928 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14929
c26dffff
JJ
149302011-08-19 Jakub Jelinek <jakub@redhat.com>
14931
14932 PR fortran/49792
14933 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14934 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14935
ddaad3c8
RO
149362011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14937
14938 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14939
98d03683
RO
149402011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14941
14942 PR libgomp/49965
14943 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14944
e0b23d9f
UB
149452011-08-03 Uros Bizjak <ubizjak@gmail.com>
14946
14947 * config/linux/proc.h: New.
14948 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
14949 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
14950 (gomp_init_num_threads): Update call to cpuset_popcount.
14951 (get_num_procs): Ditto.
14952 * config/linux/affinity.c (gomp_init_affinity): Call
14953 gomp_cpuset_popcount.
14954
20906c66
JJ
149552011-08-02 Jakub Jelinek <jakub@redhat.com>
14956
14957 PR fortran/42041
14958 PR fortran/46752
14959 * omp.h.in (omp_in_final): New prototype.
14960 * omp_lib.f90.in (omp_in_final): New interface.
14961 (omp_integer_kind, omp_logical_kind): Remove
14962 and replace all its uses in the module with 4.
14963 (openmp_version): Change to 201107.
14964 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
14965 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
14966 kind for the parameters.
14967 (omp_in_final): New external.
14968 (openmp_version): Change to 201107.
14969 * task.c (omp_in_final): New function.
14970 (gomp_init_task): Initialize final_task.
14971 (GOMP_task): Remove unused attribute from flags. Handle final
14972 tasks.
14973 (GOMP_taskyield): New function.
14974 (omp_in_final): Return true if if (false) or final (true) task
14975 or descendant of final (true).
14976 * fortran.c (omp_in_final_): New function.
14977 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
14978 (GOMP_3.0): Export GOMP_taskyield.
14979 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
14980 variables.
14981 (parse_unsigned_long_list): New function.
14982 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
14983 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
14984 even if parse_affinity returned false.
14985 * config/linux/affinity.c (gomp_init_affinity): Handle
14986 gomp_cpu_affinity_len == 0.
14987 * libgomp_g.h (GOMP_taskyield): New prototype.
14988 * libgomp.h (struct gomp_task): Add final_task field.
14989 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
14990 * team.c (gomp_team_start): Override new task's nthreads_var icv
14991 if list form OMP_NUM_THREADS has been used and it has value for
14992 the new nesting level.
14993
14994 * testsuite/libgomp.c/atomic-11.c: New test.
14995 * testsuite/libgomp.c/atomic-12.c: New test.
14996 * testsuite/libgomp.c/atomic-13.c: New test.
14997 * testsuite/libgomp.c/atomic-14.c: New test.
14998 * testsuite/libgomp.c/reduction-6.c: New test.
14999 * testsuite/libgomp.c/task-5.c: New test.
15000 * testsuite/libgomp.c++/atomic-2.C: New test.
15001 * testsuite/libgomp.c++/atomic-3.C: New test.
15002 * testsuite/libgomp.c++/atomic-4.C: New test.
15003 * testsuite/libgomp.c++/atomic-5.C: New test.
15004 * testsuite/libgomp.c++/atomic-6.C: New test.
15005 * testsuite/libgomp.c++/atomic-7.C: New test.
15006 * testsuite/libgomp.c++/atomic-8.C: New test.
15007 * testsuite/libgomp.c++/atomic-9.C: New test.
15008 * testsuite/libgomp.c++/task-8.C: New test.
15009 * testsuite/libgomp.c++/reduction-4.C: New test.
15010 * testsuite/libgomp.fortran/allocatable7.f90: New test.
15011 * testsuite/libgomp.fortran/allocatable8.f90: New test.
15012 * testsuite/libgomp.fortran/crayptr3.f90: New test.
15013 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
15014 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
15015 * testsuite/libgomp.fortran/pointer1.f90: New test.
15016 * testsuite/libgomp.fortran/pointer2.f90: New test.
15017 * testsuite/libgomp.fortran/task4.f90: New test.
15018
150192011-08-02 Tobias Burnus <burnus@net-b.de>
15020
15021 * libgomp.texi: Update OpenMP spec references to 3.1.
15022 (omp_in_final,OMP_PROC_BIND): New sections.
15023 (OMP_NUM_THREADS): Document that the value can be now a list.
15024 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
15025
c01ecafc
L
150262011-08-02 H.J. Lu <hongjiu.lu@intel.com>
15027
15028 * config/linux/x86/futex.h: Check __x86_64__ instead of
15029 __LP64__.
15030
25142650
JJ
150312011-07-29 Jakub Jelinek <jakub@redhat.com>
15032
15033 PR middle-end/49897
15034 PR middle-end/49898
15035 * testsuite/libgomp.c/pr49897-1.c: New test.
15036 * testsuite/libgomp.c/pr49897-2.c: New test.
15037 * testsuite/libgomp.c/pr49898-1.c: New test.
15038 * testsuite/libgomp.c/pr49898-2.c: New test.
15039
f53d712f
L
150402011-07-28 H.J. Lu <hongjiu.lu@intel.com>
15041
15042 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
15043 for ia32 instead of ilp32.
15044
15045 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
15046 * testsuite/libgomp.c/atomic-6.c: Likewise.
15047
3689198d
SP
150482011-07-23 Sebastian Pop <sebastian.pop@amd.com>
15049
15050 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
15051 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
15052
1a79cb73
RO
150532011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15054
15055 PR libgomp/45351
15056 * config/osf/sem.h: New file.
15057 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
15058
c1f51484
RO
150592011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15060
15061 PR target/49541
15062 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
15063 ldflags.
15064
bfee0724
JJ
150652011-07-15 Jakub Jelinek <jakub@redhat.com>
15066
15067 * config/linux/wait.h (do_spin): New inline, largely copied
15068 from do_wait, just don't do futex_wait here, instead return true if
15069 it should be done.
15070 (do_wait): Implement using do_spin.
15071 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
15072 to prototype.
15073 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
15074 __sync_bool_compare_and_swap, pass the oldval to
15075 gomp_mutex_lock_slow.
15076 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
15077 If all mutex contenders are just spinning and not sleeping, don't
15078 change state to 2 unnecessarily. Optimize the loop when state has
15079 already become 2 to use just one atomic operation per loop instead
15080 of two.
15081 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
15082 to prototype.
15083 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
15084 __sync_bool_compare_and_swap, pass the oldval to
15085 gomp_mutex_lock_slow.
15086
fb79f500
JJ
150872011-06-22 Jakub Jelinek <jakub@redhat.com>
15088
15089 PR libgomp/49490
15090 * iter.c (gomp_iter_static_next): For chunk size 0
15091 only use n ceil/ nthreads size for the first
15092 n % nthreads threads in the team instead of
15093 all threads except for the last few ones which
15094 get less work or none at all.
15095 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
15096 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
15097 chunk argument, set run_sched_modifier to 0 for static
15098 resp. 1 for other kinds. If chunk argument is 0
15099 and not static, set value to 1.
15100
4577f730
JJ
151012011-05-19 Jakub Jelinek <jakub@redhat.com>
15102
ea93a47b
JJ
15103 PR c++/49043
15104 * testsuite/libgomp.c++/pr49043.C: New test.
15105
4577f730
JJ
15106 PR c++/48869
15107 * testsuite/libgomp.c++/pr48869.C: New test.
15108
e7385332
JJ
151092011-05-06 Jakub Jelinek <jakub@redhat.com>
15110
15111 PR fortran/48894
15112 * fortran.c: Include limits.h.
15113 (TO_INT): Define.
15114 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
15115 *set.
15116 (omp_set_num_threads_8_, omp_set_schedule_8_,
15117 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
15118 omp_get_team_size_8_): Use TO_INT macro.
15119 * testsuite/libgomp.fortran/pr48894.f90: New test.
15120
20790697
JJ
151212011-04-13 Jakub Jelinek <jakub@redhat.com>
15122
15123 PR middle-end/48591
15124 * testsuite/libgomp.c/pr48591.c: New test.
15125
bf382f5f
RO
151262011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15127
15128 PR bootstrap/48135
15129 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
15130 * configure: Regenerate.
15131
113a53c1
JJ
151322011-02-27 Jakub Jelinek <jakub@redhat.com>
15133
15134 PR fortran/47886
15135 * testsuite/libgomp.fortran/task3.f90: New test.
15136
0024f1af
TB
151372011-02-24 Tobias Burnus <burnus@net-b.de>
15138
15139 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
15140
21e1e594
JJ
151412011-02-23 Jakub Jelinek <jakub@redhat.com>
15142
15143 PR libgomp/47854
15144 * libgomp.texi (omp_get_wtime): Don't say time in the past
15145 must be Unix Epoch.
15146
67962076
JJ
151472011-02-18 Jakub Jelinek <jakub@redhat.com>
15148
15149 PR libgomp/47804
15150 * testsuite/libgomp.fortran/fortran.exp: Check for both
15151 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
15152 but $blddir != "", still append ${blddir}/${lang_library_path}
15153 to ld_library_path.
15154
3808007c
TB
151552011-02-16 Tobias Burnus <burnus@net-b.de>
15156
15157 PR libgomp/47758
15158 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
15159 of libquadmath.a before adding its libpath to ldflags.
15160
53b4d41d
JJ
151612011-02-14 Jakub Jelinek <jakub@redhat.com>
15162
15163 PR libgomp/47731
15164 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
15165 to FUTEX_WAIT futex syscall.
15166 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
15167
029c8f3e
RW
151682011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15169
15170 * configure: Regenerate.
15171
bddd6626
BK
151722011-01-20 Benjamin Kosnik <bkoz@redhat.com>
15173
15174 PR libstdc++/36104
15175 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
15176
f1d4ab26
GP
151772011-01-16 Gerald Pfeifer
15178
15179 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
15180
2b503136
JJ
151812010-12-14 Jakub Jelinek <jakub@redhat.com>
15182
15183 PR fortran/46874
15184 * libgomp.fortran/allocatable6.f90: New test.
15185
c0f9d583
RO
151862010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15187
15188 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
15189 * configure: Regenerate.
15190
7de6ba7a
DK
151912010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
15192
15193 PR target/40125
15194 PR lto/46695
15195 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
15196 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
15197 * aclocal.m4: Regenerate.
15198 * configure: Regenerate.
15199 * Makefile.in: Regenerate.
15200 * testsuite/Makefile.in: Regenerate.
15201
b7516041
JJ
152022010-12-02 Jakub Jelinek <jakub@redhat.com>
15203
edaadf74
JJ
15204 PR fortran/46753
15205 * libgomp.fortran/pr46753.f90: New test.
15206
4c698cf8
JJ
15207 PR libgomp/43706
15208 * env.c (initialize_env): Default to spin count 300000
15209 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
15210 is specified.
15211
b7516041
JJ
15212 PR libgomp/45240
15213 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
15214 at the end if sync builtins aren't supported.
15215
6b43a34c
RO
152162010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15217
15218 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
15219
950691fa
RO
152202010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15221
15222 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
15223
fb9041ea
IS
152242010-11-24 Iain Sandoe <iains@gcc.gnu.org>
15225
15226 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
15227
1ec601bf
FXC
152282010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
15229 Tobias Burnus <burnus@net-b.de>
15230
15231 PR fortran/32049
3e348fcc 15232 * configure.ac:
1ec601bf
FXC
15233 * configure: Regenerate.
15234
d213e92e
MS
152352010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
15236
15237 * config/linux/futex.h: New.
15238 * config/linux/arm/mutex.h: New.
15239 * configure.tgt (arm*-*-linux*): Add config path.
15240
89d5c66f
SP
152412010-09-30 Sebastian Pop <sebastian.pop@amd.com>
15242
15243 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
15244
87350d4a
TB
152452010-09-23 Tobias Burnus <burnus@net-b.de>
15246
15247 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
15248 Change Fortran datatype to LOGICAL.
15249 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
15250 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
15251
75bc9e5e
RW
152522010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15253
15254 * configure: Regenerate.
15255
acb5c916
JJ
152562010-07-26 Jakub Jelinek <jakub@redhat.com>
15257
15258 * libgomp.texi: Add function keyword to a couple of Fortran
15259 interfaces, use integer instead of int for Fortran.
15260
6a2ba183
AH
152612010-07-26 Aldy Hernandez <aldyh@redhat.com>
15262
15263 * libgomp.texi: Fix spelling and pasto problems throughout.
15264 Adjust prototypes to match code.
15265
df161b69
TB
152662010-07-24 Tobias Burnus <burnus@net-b.de>
15267
15268 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
15269 silence -fwhole-file warning.
15270
16c9d3b1
RO
152712010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15272
15273 * configure.tgt (*-*-solaris2.[56]*): Removed.
15274
6d28b933
RO
152752010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15276
15277 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
15278 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
15279 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
15280 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
15281 targetting solaris2*.
15282 * configure: Regenerate.
15283 * config.h.in: Regenerate.
15284
15285 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
15286 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
15287 Add libgomp_version_dep.
15288 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
15289 versioning.
15290 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
15291 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
15292 * Makefile.in: Regenerate.
15293
15294 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
15295 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
15296 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
15297 to common block, protected by
15298 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
15299
07a67d6a
GP
153002010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
15301
15302 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
15303
dbd34b89
IS
153042010-06-09 Iain Sandoe <iains@gcc.gnu.org>
15305
15306 PR bootstrap/43170
15307 * configure: Regenerate.
15308
13917ae3
RW
153092010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15310
15311 PR other/43620
15312 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
15313 * configure: Regenerate.
15314 * Makefile.in: Regenerate.
15315 * testsuite/Makefile.in: Regenerate.
15316
b83a701b
JJ
153172010-04-26 Jakub Jelinek <jakub@redhat.com>
15318
15319 PR c/43893
15320 * testsuite/libgomp.c/pr43893.c: New test.
15321 * testsuite/libgomp.c++/pr43893.C: New test.
15322
78db7d92
JJ
153232010-04-21 Jakub Jelinek <jakub@redhat.com>
15324
15325 PR middle-end/43570
15326 * testsuite/libgomp.fortran/vla8.f90: New test.
15327
5221d7a9
JJ
153282010-04-20 Jakub Jelinek <jakub@redhat.com>
15329
e4ba7a60
JJ
15330 PR libgomp/43706
15331 * config/linux/affinity.c (gomp_init_affinity): Decrease
15332 gomp_available_cpus if affinity mask confines the process to fewer
15333 CPUs.
15334 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
15335 non-NULL, just return gomp_available_cpus.
15336
5221d7a9
JJ
15337 PR libgomp/43569
15338 * sections.c (gomp_sections_init): Initialize ws->mode.
15339
289a9f86
UB
153402010-04-14 Uros Bizjak <ubizjak@gmail.com>
15341
15342 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
15343 not unused bar variable.
15344 * configure: Regenerate.
15345
4d9e8446
RW
153462010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15347
15348 * Makefile.in: Regenerate.
15349 * aclocal.m4: Regenerate.
15350 * testsuite/Makefile.in: Regenerate.
15351
80f046cc
JJ
153522010-03-22 Jakub Jelinek <jakub@redhat.com>
15353
15354 PR libgomp/42942
15355 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
15356 (initialize_env): Adjust callers.
15357 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
15358 when the argument is 0.
15359
15360 * testsuite/libgomp.c/pr42942.c: New test.
15361
b58543c3
SP
153622010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
15363
15364 PR middle-end/42644
15365 PR middle-end/42130
15366 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
15367 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
15368
41d1138f
RO
153692010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15370
15371 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
15372 * testsuite/libgomp.c++/task-6.C: Likewise.
15373
6684eb28
SE
153742010-01-28 Steve Ellcey <sje@cup.hp.com>
15375
15376 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
15377
2122aa97
PB
153782010-01-26 Paolo Bonzini <bonzini@gnu.org>
15379
15380 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
15381 * configure: Regenerate.
15382
057dd91d
JJ
153832010-01-26 Jakub Jelinek <jakub@redhat.com>
15384
15385 PR fortran/42866
15386 * testsuite/libgomp.fortran/allocatable5.f90: New test.
15387
d0709b6a
PB
153882010-01-20 Paolo Bonzini <bonzini@gnu.org>
15389
15390 * configure.ac: Test for executability of GFORTRAN.
15391 * configure: Regenerate.
15392
b9497ab5
RO
153932010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15394
15395 * configure: Regenerate.
15396
45de5648
L
153972010-01-04 H.J. Lu <hongjiu.lu@intel.com>
15398
15399 PR libgomp/42602
15400 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
15401
e74003a1
RG
154022010-01-03 Richard Guenther <rguenther@suse.de>
15403
15404 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
15405
1b3abda8
SP
154062009-12-23 Sebastian Pop <sebpop@gmail.com>
15407
15408 * testsuite/libgomp.graphite/pr4118.c: New.
15409
e19977d3
IS
154102009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15411
15412 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
15413 for darwin, protect the test with require-effective-target tls_runtime.
15414 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
15415
1d32a772
IS
154162009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15417
15418 PR target/41605
15419 * testsuite/lib/libgomp.exp: Provide -B options to allow for
15420 link spec %s substitutions for static libraries.
15421
deb109b2
JH
154222009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
15423
15424 PR testsuite/42135
15425 * libgomp.graphite/force-parallel-2.c: Reduce array size.
15426
43e02a8a
RW
154272009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15428
15429 * Makefile.in: Regenerate.
15430 * configure: Regenerate.
15431 * testsuite/Makefile.in: Regenerate.
15432
17f35e23
DK
154332009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
15434
15435 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
15436 settings for LC_ALL and LANG.
15437
281e33e1
JJ
154382009-11-25 Jakub Jelinek <jakub@redhat.com>
15439
15440 PR fortran/42162
15441 * testsuite/libgomp.fortran/pr42162.f90: New test.
15442
2b32c27d
JJ
154432009-11-13 Jakub Jelinek <jakub@redhat.com>
15444
15445 PR middle-end/42029
281e33e1 15446 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 15447
89c74f4a
JJ
154482009-10-26 Jakub Jelinek <jakub@redhat.com>
15449
15450 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
15451 *s. Accept ld version without text in ()s.
15452 * configure: Regenerated.
15453
7e06c3d6
EB
154542009-10-22 Razya Ladelsky <razya@il.ibm.com>
15455
15456 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
15457
0046b1a7
RW
154582009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15459
15460 PR libgomp/41418
15461 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
15462 or a hyphen (happens with fortran language disabled).
15463 * configure: Regenerate.
15464
c82852f7
RW
154652009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15466
15467 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
15468 use sed script portable to Solaris /bin/sed for extracting ld
15469 version.
15470 * configure: Regenerate.
15471
98f3eb1f
AM
154722009-09-17 Alexander Monakov <amonakov@ispras.ru>
15473
15474 * testsuite/libgomp.graphite/bounds.c: New test.
15475
878f62e5
RW
154762009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15477
15478 * Makefile.am (libgomp_la_LINK): New.
15479 * Makefile.in: Regenerate.
15480
df58e648
RW
154812009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15482
15483 * configure.ac (AC_PREREQ): Bump to 2.64.
15484
5213506e
RW
154852009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15486
70fa0efa
RW
15487 * Makefile.am (install-html, install-pdf): Remove.
15488 * Makefile.in: Regenerate.
15489
5213506e
RW
15490 * Makefile.in: Regenerate.
15491 * aclocal.m4: Regenerate.
15492 * config.h.in: Regenerate.
15493 * configure: Regenerate.
15494 * testsuite/Makefile.in: Regenerate.
15495
84fec8a5
RW
154962009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15497
15498 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
15499 * Makefile.in: Regenerate.
15500
197c68cc
DK
155012009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
15502
15503 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
15504 * Makefile.in: Regenerate.
15505
693d54f2
TB
155062009-08-19 Tobias Burnus <burnus@net-b.de>
15507
15508 PR fortran/41102
15509 omp_lib.h.in: Fix -std=f95 errors.
15510
8cac884c
DE
155112009-08-14 David Edelsohn <edelsohn@gnu.org>
15512
15513 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
15514 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
15515 * testsuite/libgomp.graphite/graphite.exp: New.
15516
78729ee2
AT
155172009-08-05 Andreas Tobler <a.tobler@schweiz.org>
15518
15519 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
15520 only build.
15521
b13b7f39
DD
155222009-08-04 David Daney <ddaney@caviumnetworks.com>
15523
15524 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
15525 needed memory barrier semantics.
15526 * config/linux/mips/mutex.h: New file.
15527
1b3b24c2
RW
155282009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15529
15530 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
15531
396b7fa4
JM
155322009-07-16 Joseph Myers <joseph@codesourcery.com>
15533
15534 * configure: Regenerate.
15535
33cde516
RS
155362009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
15537
15538 PR testsuite/40699
15539 PR testsuite/40707
15540 PR testsuite/40709
15541 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
15542 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
15543 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
15544
bc21bfa5
RS
155452009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
15546
15547 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
15548 options when choosing a multilib.
15549
b30bfd40
RS
155502009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
15551
15552 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
15553 ld_library_path. Use add_path. Add just find_libgcc_s to
15554 ld_library_path, not every libgcc multilib directory.
15555 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
15556 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
15557 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
15558 Use add_path.
15559 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
15560
479c15c2
NF
155612009-06-09 Nathan Froyd <froydnj@codesourcery.com>
15562
15563 * Makefile.am (LTLDFLAGS): Define.
15564 (LINK): Define.
15565 * Makefile.in: Regenerate.
15566
667e6f89
JB
155672009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
15568
15569 PR fortran/39718
15570 * testsuite/libgomp.fortran/fortran.exp: Don't link with
15571 libgfortranbegin, check existence of libgfortran.a instead of
15572 libgfortranbegin.a.
15573
6dea8e99
JJ
155742009-05-20 Jakub Jelinek <jakub@redhat.com>
15575
15576 PR libgomp/40174
15577 * team.c (gomp_thread_start): Destroy thr->release semaphore.
15578 (gomp_free_pool_helper): Likewise.
15579
34d01e1d
VL
155802009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
15581 Jakub Jelinek <jakub@redhat.com>
15582
15583 PR fortran/35423
15584 * testsuite/libgomp.fortran/workshare2.f90: New test.
15585
748086b7
JJ
155862009-04-09 Nick Clifton <nickc@redhat.com>
15587
15588 * iter.c: Change copyright header to refer to version 3 of the
15589 GNU General Public License with version 3.1 of the GCC Runtime
15590 Library Exception and to point readers at the COPYING3 and
15591 COPYING3.RUNTIME files and the FSF's license web page.
15592 * alloc.c: Likewise.
15593 * barrier.c: Likewise.
15594 * config/bsd/proc.c: Likewise.
15595 * config/linux/affinity.c: Likewise.
15596 * config/linux/alpha/futex.h: Likewise.
15597 * config/linux/bar.c: Likewise.
15598 * config/linux/bar.h: Likewise.
15599 * config/linux/ia64/futex.h: Likewise.
15600 * config/linux/ia64/mutex.h: Likewise.
15601 * config/linux/lock.c: Likewise.
15602 * config/linux/mips/futex.h: Likewise.
15603 * config/linux/mutex.c: Likewise.
15604 * config/linux/mutex.h: Likewise.
15605 * config/linux/powerpc/futex.h: Likewise.
15606 * config/linux/proc.c: Likewise.
15607 * config/linux/ptrlock.c: Likewise.
15608 * config/linux/ptrlock.h: Likewise.
15609 * config/linux/s390/futex.h: Likewise.
15610 * config/linux/sem.c: Likewise.
15611 * config/linux/sem.h: Likewise.
15612 * config/linux/sparc/futex.h: Likewise.
15613 * config/linux/wait.h: Likewise.
15614 * config/linux/x86/futex.h: Likewise.
15615 * config/mingw32/proc.c: Likewise.
15616 * config/mingw32/time.c: Likewise.
15617 * config/posix/affinity.c: Likewise.
15618 * config/posix/bar.c: Likewise.
15619 * config/posix/bar.h: Likewise.
15620 * config/posix/lock.c: Likewise.
15621 * config/posix/mutex.h: Likewise.
15622 * config/posix/proc.c: Likewise.
15623 * config/posix/ptrlock.h: Likewise.
15624 * config/posix/sem.c: Likewise.
15625 * config/posix/sem.h: Likewise.
15626 * config/posix/time.c: Likewise.
15627 * config/posix95/lock.c: Likewise.
15628 * critical.c: Likewise.
15629 * env.c: Likewise.
15630 * error.c: Likewise.
15631 * fortran.c: Likewise.
15632 * iter_ull.c: Likewise.
15633 * libgomp.h: Likewise.
15634 * libgomp_f.h.in: Likewise.
15635 * libgomp_g.h: Likewise.
15636 * loop.c: Likewise.
15637 * loop_ull.c: Likewise.
15638 * omp.h.in: Likewise.
15639 * omp_lib.f90.in: Likewise.
15640 * omp_lib.h.in: Likewise.
15641 * ordered.c: Likewise.
15642 * parallel.c: Likewise.
15643 * sections.c: Likewise.
15644 * single.c: Likewise.
15645 * task.c: Likewise.
15646 * team.c: Likewise.
15647 * work.c: Likewise.
15648
156492009-04-09 Jakub Jelinek <jakub@redhat.com>
15650
15651 * testsuite/config/default.exp: Change copyright header to refer to
15652 version 3 of the GNU General Public License and to point readers
15653 at the COPYING3 file and the FSF's license web page.
15654
4f0ae266
JJ
156552009-04-08 Jakub Jelinek <jakub@redhat.com>
15656
15657 PR middle-end/39573
15658 * libgomp.c++/pr39573.C: New test.
15659
03742a9b
JJ
156602009-04-01 Jakub Jelinek <jakub@redhat.com>
15661
15662 PR other/39591
15663 * testsuite/libgomp.c/pr39591-1.c: New test.
15664 * testsuite/libgomp.c/pr39591-2.c: New test.
15665 * testsuite/libgomp.c/pr39591-3.c: New test.
15666
e50ea10b
UB
156672009-03-25 Uros Bizjak <ubizjak@gmail.com>
15668
15669 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
15670 * testsuite/libgomp.c/atomic-6.c: Ditto.
15671
c5cdb03f
JJ
156722009-03-23 Jakub Jelinek <jakub@redhat.com>
15673
15674 PR c/39495
15675 * testsuite/libgomp.c/loop-12.c: New test.
15676 * testsuite/libgomp.c/loop-11.c: New test.
15677 * testsuite/libgomp.c++/loop-11.C: New test.
15678 * testsuite/libgomp.c++/loop-12.C: New test.
15679 * testsuite/libgomp.c++/for-8.C: New test.
15680
7a9d3fe8
RW
156812009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15682
15683 * configure: Regenerate.
15684
3ad6b266
JJ
156852009-02-11 Jakub Jelinek <jakub@redhat.com>
15686
15687 PR middle-end/39154
15688 * testsuite/libgomp.c/pr39154.c: New test.
15689
b39dea08
ILT
156902009-01-30 Ian Lance Taylor <iant@google.com>
15691
15692 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
15693 libgomp_ld_is_gold. Get gold version number.
15694 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
15695 * configure: Rebuild.
15696
72c66596
IS
156972009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15698
e50ea10b 15699 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
15700 use libgfortran.a%s in their specs.
15701
876080ff
JJ
157022009-01-07 Jakub Jelinek <jakub@redhat.com>
15703
15704 PR libgomp/38086
15705 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
15706 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
15707 HAVE_AS_SYMVER_DIRECTIVE is not defined.
15708 * configure: Regenerated.
15709 * config.h.in: Likewise.
15710
e4ebaef3
JJ
157112008-12-28 Jakub Jelinek <jakub@redhat.com>
15712
15713 PR c++/38650
15714 * testsuite/libgomp.c/pr38650.c: New test.
15715 * testsuite/libgomp.c++/pr38650.C: New test.
15716
382017a6
JJ
157172008-12-27 Jakub Jelinek <jakub@redhat.com>
15718
15719 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15720
79644b27
UB
157212008-12-26 Uros Bizjak <ubizjak@gmail.com>
15722
15723 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15724
baafc534
RW
157252008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15726
15727 * configure: Regenerate.
15728
d9c194cb
JJ
157292008-12-08 Jakub Jelinek <jakub@redhat.com>
15730
15731 PR middle-end/36802
15732 * testsuite/libgomp.c/pr36802-1.c: New test.
15733 * testsuite/libgomp.c/pr36802-2.c: New test.
15734 * testsuite/libgomp.c/pr36802-3.c: New test.
15735
86a182bf
JJ
157362008-12-01 Janis Johnson <janis187@us.ibm.com>
15737
15738 PR libgomp/38270
15739 * config/linux/powerpc/mutex.h: New.
15740
956adfaf
JJ
157412008-12-01 Jakub Jelinek <jakub@redhat.com>
15742
a2d4cdc9
JJ
15743 PR c++/38257
15744 * testsuite/libgomp.c++/for-7.C: New test.
15745
956adfaf
JJ
15746 PR c++/38348
15747 * testsuite/libgomp.c++/for-6.C: New test.
15748
d4038ca2
JJ
157492008-11-26 Janis Johnson <janis187@us.ibm.com>
15750
15751 PR testsuite/28870
15752 * testsuite/lib/libgomp.exp: Include new timeout library files.
15753 (libgomp_target_compile): Set timeout value from new proc.
15754
8b159eea
SE
157552008-11-13 Steve Ellcey <sje@cup.hp.com>
15756
15757 PR libgomp/37938
15758 * config/linux/ia64/mutex.h: New.
15759
5c6ed53a
TB
157602008-11-04 Tobias Burnus <burnus@net-b.de>
15761
15762 PR libgomp/37935
15763 * libgomp.texi (Runtime library routines, environment variables):
15764 Update for OpenMP version 3.0.
15765
6b4a97ed
PG
157662008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
15767 Steve Ellcey <sje@cup.hp.com>
15768
15769 * configure: Regenerate for new libtool.
15770 * Makefile.in: Ditto.
15771 * testsuite/Makefile.in: Ditto.
15772
e2b34106
JJ
157732008-09-19 Jakub Jelinek <jakub@redhat.com>
15774 Andreas Tobler <a.tobler@schweiz.org>
15775
15776 * config/bsd/proc.c: New file.
8c3b3600 15777 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
15778 * configure.ac: Check for header <sys/sysctl.h>
15779 * configure: Regenerate.
15780 * config.h.in: Likewise.
15781
3606b8bf
JJ
157822008-09-05 Janis Johnson <janis187@us.ibm.com>
15783
15784 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15785
6528b88d
AL
157862008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
15787
15788 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15789 * Makefile.in: Regenerated.
15790 * testsuite/Makefile.in: Regenerated.
15791
d9b14b12 157922008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 15793
a16b68bb 15794 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
15795 depend on blddir if blddir exists.
15796 (libgomp_target_compile): Likewise.
15797 * testsuite/libgomp.c++/c++.exp: Likewise.
15798 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15799
70b1e376
RW
158002008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15801
15802 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
15803 Do not list GPL as Invariant Section.
15804
318e8c3f
IG
158052008-07-28 Ilie Garbacea <ilie@mips.com>
15806 Chao-ying Fu <fu@mips.com>
15807
15808 * configure.tgt: Enable futex for MIPS.
15809 * config/linux/mips/futex.h: New file.
15810
4db72361
JJ
158112008-07-16 Jakub Jelinek <jakub@redhat.com>
15812
15813 * team.c (gomp_team_end): Free team immediately if it has
15814 just one thread.
15815
87bd23b8
DE
158162008-07-08 David Edelsohn <edelsohn@gnu.org>
15817
15818 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
15819 * testsuite/libgomp.fortran/fortran.exp: Same.
15820 * testsuite/libgomp.c/c.exp: Same.
15821 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
15822 directory to library path first.
15823
323ff903
KW
158242008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
15825
15826 * env.c (parse_stacksize): Add cast to avoid warning.
15827 (parse_spincount): Likewise.
15828
b357f682
JJ
158292008-06-27 Jakub Jelinek <jakub@redhat.com>
15830
ca2b1311
JJ
15831 * testsuite/libgomp.c/loop-10.c: New test.
15832 * libgomp.c/loop-3.c (main): Add lastprivate clause.
15833 * libgomp.c++/loop-6.C (main): Likewise.
15834
b357f682
JJ
15835 PR debug/36617
15836 * testsuite/libgomp.c/debug-1.c: New test.
15837
09a46078
JJ
158382008-06-19 Jakub Jelinek <jakub@redhat.com>
15839
15840 * testsuite/libgomp.c/nqueens-1.c: New test.
15841
2368a460
JJ
15842 PR c++/36523
15843 * testsuite/libgomp.c++/task-7.C: New function.
15844
18c04407
RW
158452008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15846
15847 * configure: Regenerate.
15848
9c4e59e0
JDA
158492008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15850
15851 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15852 mutex when HAVE_SYNC_BUILTINS isn't defined.
15853
6ccde948
RW
158542008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15855
15856 * libgomp.texi (omp_test_lock): Fix typo.
15857
b896f9fd
TB
158582008-06-12 Tobias Burnus <burnus@net-b.de>
15859
15860 * omp_lib.f90.in: Add "implicit none".
15861
c34938a8
JJ
158622008-06-12 Jakub Jelinek <jakub@redhat.com>
15863
15864 PR middle-end/36506
15865 * testsuite/libgomp.c/reduction-5.c: New test.
15866
976e44e3
JJ
158672008-06-11 Jakub Jelinek <jakub@redhat.com>
15868
5f836cbb
JJ
15869 * libgomp.h (struct gomp_task): Add in_tied_task field.
15870 * task.c (gomp_init_task): Initialize it.
15871 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
15872 unconditionally. Don't call gomp_team_barrier_wake if
15873 current task is implicit or if(0) from implicit and number of
15874 running tasks is equal to nthreads - 1.
15875
01501fc8
JJ
15876 PR libgomp/36471
15877 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15878 omp_get_team_size_8): Fix pastos.
15879
976e44e3
JJ
15880 PR libgomp/36469
15881 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
15882 * configure: Regenerated.
15883 * config.h.in: Regenerated.
15884 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15885 defined.
15886
e919209b
AT
158872008-06-06 Andreas Tobler <a.tobler@schweiz.org>
15888
15889 PR bootstrap/36452
15890 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15891 (GOMP_loop_ull_dynamic_start): Likewise.
15892 (GOMP_loop_ull_guided_start): Likewise.
15893 (GOMP_loop_ull_ordered_static_start): Likewise.
15894 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
15895 (GOMP_loop_ull_ordered_guided_start): Likewise.
15896
a68ab351
JJ
158972008-06-06 Jakub Jelinek <jakub@redhat.com>
15898 Richard Henderson <rth@redhat.com>
15899 Ulrich Drepper <drepper@redhat.com>
15900 Jakob Blomer <jakob.blomer@ira.uka.de>
15901
15902 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15903 Substitute also OMP_*LOCK_25*.
15904 * configure: Regenerated.
15905 * config.h.in: Regenerated.
15906 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15907 ptrlock.c and task.c.
15908 * Makefile.in: Regenerated.
15909 * testsuite/Makefile.in: Regenerated.
15910 * task.c: New file.
15911 * loop_ull.c: New file.
15912 * iter_ull.c: New file.
15913 * libgomp.h: Include ptrlock.h.
15914 (enum gomp_task_kind): New type.
15915 (struct gomp_team): Add task_lock, task_queue, task_count,
15916 task_running_count, single_count fields. Add
15917 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15918 Remove work_share_lock, generation_mask,
15919 oldest_live_gen, num_live_gen and init_work_shares fields, add
15920 work work_share_list_alloc, work_share_list_free and work_share_chunk
15921 fields. Change work_shares from pointer to pointers into an array.
15922 Change ordered_release field into gomp_sem_t ** from flexible array
15923 member. Add implicit_task and initial_work_shares fields.
15924 Move close to the end of the struct.
15925 (struct gomp_team_state): Add single_count, last_work_share,
15926 active_level and level fields, remove work_share_generation.
15927 (gomp_barrier_handle_tasks): New prototype.
15928 (gomp_finish_task): New inline function.
15929 (struct gomp_work_share): Move chunk_size, end, incr into
15930 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15931 next_ll fields. Reshuffle fields. Add next_alloc,
15932 next_ws, next_free and inline_ordered_team_ids fields, change
15933 ordered_team_ids into pointer from flexible array member.
15934 Add mode field. Put lock and next into a different cache line
15935 from most of the write-once fields.
15936 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15937 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15938 gomp_iter_ull_guided_next): New prototypes.
15939 (gomp_new_icv): New prototype.
15940 (struct gomp_thread): Add thread_pool and task fields.
15941 (struct gomp_thread_pool): New type.
15942 (gomp_new_team): New prototype.
15943 (gomp_team_start): Change type of last argument.
15944 (gomp_new_work_share): Removed.
15945 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
15946 (gomp_work_share_init_done): New static inline.
15947 (gomp_throttled_spin_count_var, gomp_available_cpus,
15948 gomp_managed_threads): New extern decls.
15949 (gomp_init_task): New prototype.
15950 (gomp_spin_count_var): New extern var decl.
15951 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15952 or no alias support, or if not PIC.
15953 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15954 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15955 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15956 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15957 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
15958 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
15959 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
15960 gomp_test_nest_lock_25): New prototypes.
15961 (omp_lock_symver, strong_alias): Define.
15962 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
15963 decls.
15964 (gomp_end_task): New.
15965 (struct gomp_task_icv, gomp_global_icv): New.
15966 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
15967 (struct gomp_task): New.
15968 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15969 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15970 (gomp_icv): New.
15971 (gomp_schedule_type): Reorder enum to match
15972 omp_sched_t.
15973 * team.c (struct gomp_thread_start_data): Add thread_pool and task
15974 fields.
15975 (gomp_thread_start): Add gomp_team_barrier_wait call.
15976 For non-nested case remove clearing of docked thread thr fields.
15977 Use pool fields instead of global gomp_* variables. Use
15978 gomp_barrier_wait_last when needed. Initialize ts.active_level.
15979 Create tasks for each member thread.
15980 (free_team): Only destroy team barrier, task_lock here and free it.
15981 (gomp_free_thread): Free last_team if non-NULL.
15982 (gomp_team_end): Call gomp_team_barrier_wait instead of
15983 gomp_barrier_wait. For nested case call one extra
15984 gomp_barrier_wait. Move here some destruction from free_team.
15985 Call free_team on pool->last_team if any, rather than freeing
15986 current team. Destroy work_share_list_free_lock ifndef
15987 HAVE_SYNC_BUILTINS.
15988 (gomp_new_icv): New function.
15989 (gomp_threads, gomp_threads_size, gomp_threads_used,
15990 gomp_threads_dock): Removed.
15991 (gomp_thread_destructor): New variable.
15992 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
15993 functions.
15994 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 15995 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
15996 Initialize thread_pool field for new threads. Clear single_count.
15997 Change last argument from ws to team, don't create
15998 new team, set ts.work_share to &team->work_shares[0] and clear
15999 ts.last_work_share. Don't clear ts.work_share_generation.
16000 If number of threads changed, adjust atomically gomp_managed_threads.
16001 Use gomp_init_task instead of gomp_new_task,
16002 set thr->task to the corresponding implicit_task array entry.
16003 Create tasks for each member thread. Initialize ts.level.
16004 (initialize_team): Call pthread_key_create on
16005 gomp_thread_destructor.
16006 (team_destructor): New function.
16007 (new_team): Removed.
16008 (gomp_new_team): New function.
16009 (free_team): Free gomp_work_share blocks chained through next_alloc,
16010 instead of freeing work_shares and destroying work_share_lock.
16011 (gomp_team_end): Call gomp_fini_work_share. If number of threads
16012 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
16013 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
16014 of gomp_barrier_wait.
16015 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
16016 instead of gomp_barrier_wait. Call gomp_work_share_init_done
16017 if gomp_work_share_start returned true. Don't unlock ws->lock.
16018 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
16019 of gomp_barrier_wait.
16020 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
16021 gomp_work_share_init_done if gomp_work_share_start returned true.
16022 Don't unlock ws->lock.
16023 * work.c: Include stddef.h.
16024 (free_work_share): Use work_share_list_free_lock instead
16025 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
16026 Call gomp_fini_work_share and then either free ws if orphaned, or
16027 put it into work_share_list_free list of the current team.
16028 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
16029 functions.
16030 (gomp_work_share_start, gomp_work_share_end,
16031 gomp_work_share_end_nowait): Rewritten.
16032 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
16033 (openmp_version): Set to 200805.
16034 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
16035 omp_sched_guided, omp_sched_auto): New parameters.
16036 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
16037 omp_set_max_active_levels, omp_get_max_active_levels,
16038 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
16039 omp_get_active_level): New interfaces.
16040 * omp_lib.h.in (openmp_version): Set to 200805.
16041 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
16042 omp_sched_guided, omp_sched_auto): New parameters.
16043 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
16044 omp_set_max_active_levels, omp_get_max_active_levels,
16045 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
16046 omp_get_active_level): New externals.
16047 * loop.c: Include limits.h.
16048 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
16049 GFS_AUTO.
16050 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
16051 Likewise. Use gomp_icv.
16052 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
16053 ts.static_trip here.
16054 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
16055 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
16056 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
16057 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
16058 don't unlock ws->lock, otherwise lock it.
16059 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
16060 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
16061 (gomp_parallel_loop_start): Call gomp_new_team instead of
16062 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
16063 Adjust gomp_team_start caller. Pass 0 as second argument to
16064 gomp_resolve_num_threads.
16065 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
16066 If adding ws->chunk_size nthreads + 1 times after end won't
16067 overflow, set ws->mode to 1.
16068 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
16069 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
16070 GOMP_loop_ull_ordered_static_start,
16071 GOMP_loop_ull_ordered_dynamic_start,
16072 GOMP_loop_ull_ordered_guided_start,
16073 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
16074 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
16075 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
16076 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
16077 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
16078 prototypes.
16079 * libgomp.map: Export lock routines also @@OMP_2.0.
16080 (GOMP_loop_ordered_dynamic_first,
16081 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
16082 GOMP_loop_ordered_static_first): Remove.
16083 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
16084 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
16085 GOMP_loop_ull_ordered_dynamic_next,
16086 GOMP_loop_ull_ordered_dynamic_start,
16087 GOMP_loop_ull_ordered_guided_next,
16088 GOMP_loop_ull_ordered_guided_start,
16089 GOMP_loop_ull_ordered_runtime_next,
16090 GOMP_loop_ull_ordered_runtime_start,
16091 GOMP_loop_ull_ordered_static_next,
16092 GOMP_loop_ull_ordered_static_start,
16093 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
16094 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
16095 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
16096 (omp_set_schedule, omp_get_schedule,
16097 omp_get_thread_limit, omp_set_max_active_levels,
16098 omp_get_max_active_levels, omp_get_level,
16099 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
16100 omp_set_schedule_, omp_set_schedule_8_,
16101 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
16102 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
16103 omp_get_max_active_levels_, omp_get_level_,
16104 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
16105 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
16106 New exports @@OMP_3.0.
16107 * omp.h.in (omp_sched_t): New type.
16108 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
16109 omp_set_max_active_levels, omp_get_max_active_levels,
16110 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
16111 omp_get_active_level): New prototypes.
16112 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
16113 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
16114 gomp_thread_limit_var, gomp_remaining_threads_count,
16115 gomp_remaining_threads_lock): New variables.
16116 (parse_spincount): New function.
16117 (initialize_env): Call gomp_init_num_threads unconditionally.
16118 Initialize gomp_available_cpus. Call parse_spincount,
16119 initialize gomp_{,throttled_}spin_count_var
16120 depending on presence and value of OMP_WAIT_POLICY and
16121 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
16122 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
16123 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
16124 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
16125 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
16126 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
16127 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
16128 (gomp_global_icv): New.
16129 (parse_schedule): Use it. Parse "auto".
16130 (omp_set_num_threads): Use gomp_icv.
16131 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
16132 Likewise.
16133 (omp_get_max_threads): Move from parallel.c.
16134 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
16135 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
16136 add ialias.
16137 (parse_stacksize, parse_wait_policy): New functions.
16138 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
16139 both wrappers for compatibility and new locks.
16140 (omp_set_schedule, omp_get_schedule,
16141 omp_get_thread_limit, omp_set_max_active_levels,
16142 omp_get_max_active_levels, omp_get_level,
16143 omp_get_ancestor_thread_num, omp_get_team_size,
16144 omp_get_active_level): New ialias_redirect.
16145 (omp_set_schedule_, omp_set_schedule_8_,
16146 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
16147 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
16148 omp_get_max_active_levels_, omp_get_level_,
16149 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
16150 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
16151 New functions.
16152 * parallel.c: Include limits.h.
16153 (gomp_resolve_num_threads): Add count argument. Rewritten.
16154 (GOMP_parallel_start): Call gomp_new_team and pass that as last
16155 argument to gomp_team_start. Pass 0 as second argument to
16156 gomp_resolve_num_threads.
16157 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
16158 if gomp_thread_limit_var != ULONG_MAX.
16159 (omp_in_parallel): Implement using ts.active_level.
16160 (omp_get_max_threads): Move to env.c.
16161 (omp_get_level, omp_get_ancestor_thread_num,
16162 omp_get_team_size, omp_get_active_level): New functions,
16163 add ialias.
16164 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
16165 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
16166 gomp_iter_dynamic_next instead of the _locked variant and don't take
16167 lock around it, otherwise acquire it before calling
16168 gomp_iter_dynamic_next_locked.
16169 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
16170 gomp_iter_dynamic_next instead of the _locked variant and don't take
16171 lock around it.
16172 (GOMP_parallel_sections_start): Call gomp_new_team instead of
16173 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
16174 Adjust gomp_team_start caller. Pass count as second argument to
16175 gomp_resolve_num_threads, don't adjust num_threads after the call.
16176 Use gomp_icv.
16177 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
16178 ws->chunk_size by incr.
16179 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
16180 code.
16181 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
16182 types.
16183 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
16184 (omp_check_defines): Check even the compat defines.
16185 * config/linux/ptrlock.c: New file.
16186 * config/linux/ptrlock.h: New file.
16187 * config/linux/wait.h: New file.
16188 * config/posix/ptrlock.c: New file.
16189 * config/posix/ptrlock.h: New file.
16190 * config/linux/bar.h (gomp_team_barrier_wait,
16191 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
16192 (gomp_team_barrier_set_task_pending,
16193 gomp_team_barrier_clear_task_pending,
16194 gomp_team_barrier_set_waiting_for_tasks,
16195 gomp_team_barrier_waiting_for_tasks,
16196 gomp_team_barrier_done): New inlines.
16197 (gomp_barrier_t): Rewritten.
16198 (gomp_barrier_state_t): New typedef.
16199 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
16200 gomp_barrier_wait_start): Rewritten.
16201 (gomp_barrier_wait_end): Change second argument to
16202 gomp_barrier_state_t.
16203 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
16204 inlines.
16205 * config/linux/bar.c: Include wait.h instead of libgomp.h and
16206 futex.h.
16207 (gomp_barrier_wait_end): Rewritten.
16208 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
16209 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
16210 * config/posix/bar.h (gomp_barrier_t): Add generation field.
16211 (gomp_barrier_state_t): New typedef.
16212 (gomp_team_barrier_wait,
16213 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
16214 (gomp_barrier_wait_start): Or all but low 2 bits from generation
16215 into the return value. Return gomp_barrier_state_t.
16216 (gomp_team_barrier_set_task_pending,
16217 gomp_team_barrier_clear_task_pending,
16218 gomp_team_barrier_set_waiting_for_tasks,
16219 gomp_team_barrier_waiting_for_tasks,
16220 gomp_team_barrier_done): New inlines.
16221 (gomp_barrier_wait_end): Change second argument to
16222 gomp_barrier_state_t.
16223 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
16224 inlines.
16225 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
16226 (gomp_barrier_wait_end): Change second argument to
3e348fcc 16227 gomp_barrier_state_t.
a68ab351
JJ
16228 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
16229 gomp_team_barrier_wake): New functions.
16230 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
16231 futex.h.
16232 (gomp_futex_wake, gomp_futex_wait): New variables.
16233 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
16234 * config/linux/lock.c: Rewrite to make locks task owned,
16235 for backwards compatibility provide the old entrypoints
16236 if symbol versioning. Include wait.h instead of libgomp.h and
16237 futex.h.
16238 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
16239 * config/posix95/lock.c: Rewrite to make locks task owned,
16240 for backwards compatibility provide the old entrypoints
16241 if symbol versioning.
16242 * config/posix/lock.c: Rewrite to make locks task owned,
16243 for backwards compatibility provide the old entrypoints
16244 if symbol versioning.
16245 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
16246 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
16247 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
16248 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16249 (sys_futex0): Return error code.
16250 (futex_wake, futex_wait): If ENOSYS was returned, clear
16251 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16252 (cpu_relax, atomic_write_barrier): New static inlines.
16253 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16254 (futex_wake, futex_wait): If ENOSYS was returned, clear
16255 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16256 (cpu_relax, atomic_write_barrier): New static inlines.
16257 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16258 (sys_futex0): Return error code.
16259 (futex_wake, futex_wait): If ENOSYS was returned, clear
16260 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16261 (cpu_relax, atomic_write_barrier): New static inlines.
16262 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16263 (sys_futex0): Return error code.
16264 (futex_wake, futex_wait): If ENOSYS was returned, clear
16265 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16266 (cpu_relax, atomic_write_barrier): New static inlines.
16267 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16268 (sys_futex0): Return error code.
16269 (futex_wake, futex_wait): If ENOSYS was returned, clear
16270 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16271 (cpu_relax, atomic_write_barrier): New static inlines.
16272 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16273 (sys_futex0): Return error code.
16274 (futex_wake, futex_wait): If ENOSYS was returned, clear
16275 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16276 (cpu_relax, atomic_write_barrier): New static inlines.
16277 * config/linux/sem.c: Include wait.h instead of libgomp.h and
16278 futex.h.
16279 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
16280 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
16281 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
16282 types.
16283 (omp_nest_lock_t): Change owner into void *, add lock field.
16284 * config/posix95/omp-lock.h: Include semaphore.h.
16285 (omp_lock_25_t, omp_nest_lock_25_t): New types.
16286 (omp_lock_t): Use sem_t instead of mutex if semaphores
16287 aren't broken.
16288 (omp_nest_lock_t): Likewise. Change owner to void *.
16289 * config/posix/omp-lock.h: Include semaphore.h.
16290 (omp_lock_25_t, omp_nest_lock_25_t): New types.
16291 (omp_lock_t): Use sem_t instead of mutex if semaphores
16292 aren't broken.
16293 (omp_nest_lock_t): Likewise. Add owner field.
16294
162952008-06-06 Jakub Jelinek <jakub@redhat.com>
16296
16297 * testsuite/libgomp.c/collapse-1.c: New test.
16298 * testsuite/libgomp.c/collapse-2.c: New test.
16299 * testsuite/libgomp.c/collapse-3.c: New test.
16300 * testsuite/libgomp.c/icv-1.c: New test.
16301 * testsuite/libgomp.c/icv-2.c: New test.
16302 * testsuite/libgomp.c/lib-2.c: New test.
16303 * testsuite/libgomp.c/lock-1.c: New test.
16304 * testsuite/libgomp.c/lock-2.c: New test.
16305 * testsuite/libgomp.c/lock-3.c: New test.
16306 * testsuite/libgomp.c/loop-4.c: New test.
16307 * testsuite/libgomp.c/loop-5.c: New test.
16308 * testsuite/libgomp.c/loop-6.c: New test.
16309 * testsuite/libgomp.c/loop-7.c: New test.
16310 * testsuite/libgomp.c/loop-8.c: New test.
16311 * testsuite/libgomp.c/loop-9.c: New test.
16312 * testsuite/libgomp.c/nested-3.c: New test.
16313 * testsuite/libgomp.c/nestedfn-6.c: New test.
16314 * testsuite/libgomp.c/sort-1.c: New test.
16315 * testsuite/libgomp.c/task-1.c: New test.
16316 * testsuite/libgomp.c/task-2.c: New test.
16317 * testsuite/libgomp.c/task-3.c: New test.
16318 * testsuite/libgomp.c/task-4.c: New test.
16319 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
16320 to C++ testsuite default compiler options.
16321 * testsuite/libgomp.c++/collapse-1.C: New test.
16322 * testsuite/libgomp.c++/collapse-2.C: New test.
16323 * testsuite/libgomp.c++/ctor-10.C: New test.
16324 * testsuite/libgomp.c++/for-1.C: New test.
16325 * testsuite/libgomp.c++/for-2.C: New test.
16326 * testsuite/libgomp.c++/for-3.C: New test.
16327 * testsuite/libgomp.c++/for-4.C: New test.
16328 * testsuite/libgomp.c++/for-5.C: New test.
16329 * testsuite/libgomp.c++/loop-8.C: New test.
16330 * testsuite/libgomp.c++/loop-9.C: New test.
16331 * testsuite/libgomp.c++/loop-10.C: New test.
16332 * testsuite/libgomp.c++/task-1.C: New test.
16333 * testsuite/libgomp.c++/task-2.C: New test.
16334 * testsuite/libgomp.c++/task-3.C: New test.
16335 * testsuite/libgomp.c++/task-4.C: New test.
16336 * testsuite/libgomp.c++/task-5.C: New test.
16337 * testsuite/libgomp.c++/task-6.C: New test.
16338 * testsuite/libgomp.fortran/allocatable1.f90: New test.
16339 * testsuite/libgomp.fortran/allocatable2.f90: New test.
16340 * testsuite/libgomp.fortran/allocatable3.f90: New test.
16341 * testsuite/libgomp.fortran/allocatable4.f90: New test.
16342 * testsuite/libgomp.fortran/collapse1.f90: New test.
16343 * testsuite/libgomp.fortran/collapse2.f90: New test.
16344 * testsuite/libgomp.fortran/collapse3.f90: New test.
16345 * testsuite/libgomp.fortran/collapse4.f90: New test.
16346 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
16347 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
16348 * testsuite/libgomp.fortran/lib4.f90: New test.
16349 * testsuite/libgomp.fortran/lock-1.f90: New test.
16350 * testsuite/libgomp.fortran/lock-2.f90: New test.
16351 * testsuite/libgomp.fortran/nested1.f90: New test.
16352 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
16353 * testsuite/libgomp.fortran/strassen.f90: New test.
16354 * testsuite/libgomp.fortran/tabs1.f90: New test.
16355 * testsuite/libgomp.fortran/tabs2.f: New test.
16356 * testsuite/libgomp.fortran/task1.f90: New test.
16357 * testsuite/libgomp.fortran/task2.f90: New test.
16358 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
16359 * testsuite/libgomp.fortran/vla5.f90: Likewise.
16360 * testsuite/libgomp.c/pr26943-2.c: Likewise.
16361 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16362 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16363
7a0112e7
JJ
163642008-05-23 Jakub Jelinek <jakub@redhat.com>
16365
16366 PR c++/36308
16367 * testsuite/libgomp.c++/ctor-11.C: New test.
16368 * testsuite/libgomp.c++/ctor-12.C: New test.
16369
91a5b394
JJ
163702008-05-15 Janis Johnson <janis187@us.ibm.com>
16371
16372 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
16373
c18c98c0
JJ
163742008-05-07 Jakub Jelinek <jakub@redhat.com>
16375
16376 PR middle-end/36106
16377 * testsuite/libgomp.c/atomic-5.c: New test.
16378 * testsuite/libgomp.c/atomic-6.c: New test.
16379 * testsuite/libgomp.c/autopar-1.c: New test.
16380
6d26724a
RW
163812008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16382
16383 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
16384 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
16385 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
16386 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
16387 * configure: Regenerate.
16388 * Makefile.in, testsuite/Makefile.in: Likewise.
16389
deb984e6
PB
163902008-04-18 Paolo Bonzini <bonzini@gnu.org>
16391
16392 PR bootstrap/35457
16393 * aclocal.m4: Regenerate.
16394 * configure: Regenerate.
16395
9e775963
JJ
163962008-03-18 Jakub Jelinek <jakub@redhat.com>
16397
8119fc93
JJ
16398 PR middle-end/35611
16399 * testsuite/libgomp.c/atomic-4.c: New test.
16400
9e775963
JJ
16401 PR libgomp/35625
16402 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
16403 (gomp_iter_guided_next): Likewise.
16404 * testsuite/libgomp.c/pr35625.c: New test.
16405
38d24731
RW
164062008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16407
16408 * aclocal.m4: Regenerate.
16409 * configure: Likewise.
16410 * Makefile.in: Likewise.
16411 * testsuite/Makefile.in: Likewise.
16412
d0fb20be
JJ
164132008-03-13 Jakub Jelinek <jakub@redhat.com>
16414
16415 PR middle-end/35185
16416 * testsuite/libgomp.c++/pr35185.C: New test.
16417
7c8f7639
JJ
164182008-03-12 Jakub Jelinek <jakub@redhat.com>
16419
16420 PR middle-end/35549
16421 * testsuite/libgomp.c/pr35549.c: New test.
16422
251923f5
JJ
164232008-03-06 Jakub Jelinek <jakub@redhat.com>
16424
16425 * testsuite/libgomp.c/atomic-3.c: New test.
16426
f489fba1
FXC
164272008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16428
16429 PR fortran/33197
251923f5 16430 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
16431 .F08 file suffixes.
16432
a1b25e49
PG
164332008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
16434
16435 PR libgomp/33131
16436 * configure.ac: Add ACX_HEADER_STRING.
16437 * env.c: Include strings.h.
16438 * aclocal.m4: Regenerate.
16439 * config.h.in: Regenerate.
16440 * configure: Regenerate.
16441 * Makefile.in: Regenerate.
16442 * testsuite/Makefile.in: Regenerate.
16443
6837b3b8
JJ
164442008-02-15 Jakub Jelinek <jakub@redhat.com>
16445
ac84c062
JJ
16446 PR middle-end/35196
16447 * testsuite/libgomp.c/pr35196.c: New test.
16448
6837b3b8
JJ
16449 PR middle-end/35130
16450 * testsuite/libgomp.fortran/pr35130.f90: New test.
16451 * testsuite/libgomp.c/pr35130.c: New test.
16452
c256730c
JJ
164532008-01-25 Jakub Jelinek <jakub@redhat.com>
16454
16455 PR middle-end/33880
16456 * testsuite/libgomp.c/pr33880.c: New test.
16457 * testsuite/libgomp.fortran/pr33880.f90: New test.
16458
c8e95542 164592008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
16460
16461 * configure: Regenerate.
16462
0f3e711e
JJ
164632008-01-08 Jakub Jelinek <jakub@redhat.com>
16464
16465 * configure.ac: Move futex checking into ../config/futex.m4.
16466 * configure: Rebuilt.
16467 * aclocal.m4: Rebuilt.
16468 * Makefile.in: Rebuilt.
16469
16470 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
16471 2007-10-15 ../config/tls.m4 change.
16472
5259c813
JJ
164732007-12-19 Jakub Jelinek <jakub@redhat.com>
16474
16475 PR c++/34513
16476 * testsuite/libgomp.c/pr34513.c: New test.
16477 * testsuite/libgomp.c++/pr34513.C: New test.
16478
ae8d8879
JH
164792007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
16480
16481 PR target/32765
16482 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
16483
2b4cf991
JJ
164842007-12-04 Jakub Jelinek <jakub@redhat.com>
16485
16486 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
16487
d2dda7fe
JJ
164882007-12-03 Jakub Jelinek <jakub@redhat.com>
16489
16490 * testsuite/libgomp.c/private-1.c: New test.
16491
d683ec81
PB
164922007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
16493 Paolo Bonzini <bonzini@gnu.org>
16494
16495 * Makefile.am: Use space as vpath separator. Use 'vpath %'
16496 instead of 'VPATH ='.
16497 * Makefile.in: Regenerate.
16498
a7415017
MK
164992007-11-23 Matthias Klose <doko@ubuntu.com>
16500
16501 * configure.ac: Adjust makeinfo version check.
16502 * configure: Regenerate.
16503
78e47463
JJ
165042007-11-10 Jakub Jelinek <jakub@redhat.com>
16505
16506 PR fortran/34020
16507 * testsuite/libgomp.fortran/pr34020.f90: New test.
16508
239371f9
JJ
165092007-11-06 Jakub Jelinek <jakub@redhat.com>
16510
16511 PR c++/33894
16512 * testsuite/libgomp.c++/atomic-1.C: New test.
16513
98a5fa94
JJ
165142007-10-25 Jakub Jelinek <jakub@redhat.com>
16515
16516 PR libgomp/33275
16517 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
16518 Make x and y integers rather than (implicit) reals. Add private (j)
16519 clause to the last omp parallel.
16520
3afcaaf4
MR
165212007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
16522
16523 * configure: Regenerate following changes to ../config/tls.m4.
16524
bd69daef
JJ
165252007-09-28 Jakub Jelinek <jakub@redhat.com>
16526
16527 * testsuite/libgomp.fortran/stack.f90: New test.
16528
1d0bd356
DS
165292007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
16530
16531 * config/mingw32/proc.c: New file.
16532
b3172cab
UB
165332007-09-05 Uros Bizjak <ubizjak@gmail.com>
16534
16535 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
16536 (main): Use __get_cpuid to get i386 target fetaures.
16537 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
16538 (main): Use __get_cpuid to get x86_64 target fetaures.
16539
6da17392
JH
165402007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
16541
16542 PR target/32765
16543 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
16544 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
16545
e1c82219
JJ
165462007-07-12 Jakub Jelinek <jakub@redhat.com>
16547
16548 PR fortran/32550
16549 * testsuite/libgomp.fortran/pr32550.f90: New test.
16550 * testsuite/libgomp.fortran/crayptr2.f90: New test.
16551
12a27363
L
165522007-07-05 H.J. Lu <hongjiu.lu@intel.com>
16553
16554 * aclocal.m4: Regenerated.
16555
5349080d
TB
165562007-07-05 Tobias Burnus <burnus@net-b.de>
16557
16558 PR fortran/32359
16559 * testsuite/libgomp.fortran/pr32359.f90: New.
16560
4f9c450c
JJ
165612007-07-02 Jakub Jelinek <jakub@redhat.com>
16562
16563 PR libgomp/32468
16564 * sections.c (GOMP_parallel_sections_start): Only decrease
16565 number of threads to COUNT if dyn_var is true.
16566 * testsuite/libgomp.c/pr32468.c: New test.
16567
28c67ed7
RO
165682007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16569
16570 PR libgomp/26308
16571 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
16572
64964499
JJ
165732007-06-21 Jakub Jelinek <jakub@redhat.com>
16574
16575 PR middle-end/32362
16576 * testsuite/libgomp.c/pr32362-1.c: New test.
16577 * testsuite/libgomp.c/pr32362-2.c: New test.
16578 * testsuite/libgomp.c/pr32362-3.c: New test.
16579
46d8fbd1
JJ
165802007-06-07 Jakub Jelinek <jakub@redhat.com>
16581
16582 * team.c (gomp_team_start): Fix setting up thread_attr
16583 stack size.
16584
82a6cadf
PB
165852007-06-02 Paolo Bonzini <bonzini@gnu.org>
16586
16587 * configure: Regenerate.
16588
1cf3d07d
SE
165892007-05-23 Steve Ellcey <sje@cup.hp.com>
16590
16591 * Makefile.in: Regenerate.
16592 * configure: Regenerate.
16593 * aclocal.m4: Regenerate.
16594 * testsuite/Makefile.in: Regenerate.
16595
12aac30b
JJ
165962007-05-04 Jakub Jelinek <jakub@redhat.com>
16597
16598 * config/linux/proc.c: New file.
16599
f1028b02
JJ
16600 PR libgomp/28482
16601 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
16602
06785a48
DF
166032007-04-19 Daniel Franke <franke.daniel@gmail.com>
16604
16605 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
16606
b3b08ba0
MK
166072007-04-16 Matthias Klose <doko@debian.org>
16608
16609 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
16610 flags if not building with -m64.
16611 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
16612 flag for i?86-*-* targets, if current target matches -m64.
16613
6b2c5ce0
SE
166142007-04-14 Steve Ellcey <sje@cup.hp.com>
16615
16616 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
16617 * Makefile.in: Regenerate.
16618
dd56fe7c
JDA
166192007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16620
16621 PR testsuite/31369
16622 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
16623 ld_library_path.
16624 * testsuite/libgomp.fortran/fortran.exp: Likewise.
16625
a0884cf0
JJ
166262007-04-04 Jakub Jelinek <jakub@redhat.com>
16627
16628 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
16629 decls.
16630 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
16631 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
16632 (parse_affinity): New function.
16633 (initialize_env): Call it and gomp_init_affinity.
16634 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
16635 create new pthread_attr_t and call gomp_init_thread_affinity
16636 on it for each thread before passing the attribute to pthread_create.
16637 * config/linux/affinity.c: New file.
16638 * config/posix/affinity.c: New file.
16639 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
16640 * configure: Rebuilt.
16641 * config.h.in: Rebuilt.
16642 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
16643 * Makefile.in: Rebuilt.
16644
1850744b
AT
166452007-03-23 Andreas Tobler <a.tobler@schweiz.org>
16646
16647 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
16648 *-*-darwin*.
16649 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
16650 and use it if found.
16651
516f1ed8
UB
166522007-03-18 Uros Bizjak <ubizjak@gmail.com>
16653
16654 * testsuite/config/default.exp: New file.
16655 * testsuite/lib/libgomp.exp: New file.
16656 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
16657 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
16658 load_lib *, load_gcc_lib *): Move to libgomp.exp.
16659 (libgomp_load): Remove.
16660 * testsuite/lib/libgomp.exp (libgomp_init): Compute
16661 always_ld_library_path, not ld_library_path. Set additional_flags
16662 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
16663 (target_compile): Do not call libgomp_init. Append lang_library_path
16664 and lang_link_flags to options.
16665 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
16666 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
16667 here.
16668 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
16669 always_ld_library_path. Set LD_LIBRARY_PATH here.
16670 * testsuite/libgomp.fortran/fortran.exp: Ditto.
16671 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
16672 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
16673 CX8 flag.
16674 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
16675 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
16676 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
16677 * testsuite/libgomp.c/pr29947-1.c: Ditto.
16678 * testsuite/libgomp.c/atomic-10.c: Ditto.
16679
2ada56f5
JJ
166802007-03-21 Jakub Jelinek <jakub@redhat.com>
16681
16682 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
16683 dg-final cleanup-modules line.
16684 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
16685 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
16686 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
16687 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
16688 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
16689 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
16690 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
16691
f210f1cd
AS
166922007-03-18 Andreas Schwab <schwab@suse.de>
16693
16694 * acinclude.m4: Adjust regular expression for ld version
16695 extraction.
16696 * configure: Regenerate.
16697
c4dc950d
BM
166982007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
16699
16700 * Makefile.am: Add install-pdf target as copied from
16701 automake v1.10 rules.
16702 * Makefile.in: Regenerate
16703
e02a048f
JJ
167042007-02-07 Jakub Jelinek <jakub@redhat.com>
16705
78e075d4
JJ
16706 PR libgomp/28486
16707 * configure: Regenerate.
16708
e02a048f
JJ
16709 PR c++/30703
16710 * testsuite/libgomp.c++/pr30703.C: New test.
16711
60def7ed
JJ
167122007-02-02 Jakub Jelinek <jakub@redhat.com>
16713
16714 Revert:
16715 2006-07-05 Eric Christopher <echristo@apple.com>
16716 * configure.ac: Depend addition of -pthread on host OS.
16717 * configure: Regenerate.
16718
f1b0882e
RW
167192007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16720
16721 * libgomp.texi: Fix spacing after abbreviations.
16722
748b9d7c
DF
167232007-01-31 Daniel Franke <franke.daniel@gmail.com>
16724
16725 PR libgomp/30546
16726 * configure.ac: Add check for makeinfo
16727 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 16728 if an appropriate version of makeinfo is found.
748b9d7c
DF
16729 * aclocal.m4: Regenerated.
16730 * configure: Regenerated.
16731 * Makefile.in: Regenerated.
16732 * testsuite/Makefile.in: Regenerated.
16733
14734fc7
DF
167342007-01-29 Daniel Franke <franke.daniel@gmail.com>
16735
16736 PR libgomp/30540
16737 * libgomp.texi: More about implementation-dependent settings.
16738
7befd5d2
TB
167392007-01-26 Tobias Burnus <burnus@net-b.de>
16740
16741 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16742
4288fea2
JJ
167432007-01-24 Jakub Jelinek <jakub@redhat.com>
16744
16745 PR middle-end/30494
16746 * testsuite/libgomp.c/pr30494.c: New test.
16747
627ab4b8
TT
167482007-01-15 Tom Tromey <tromey@redhat.com>
16749
16750 * configure: Rebuilt.
16751 * configure.ac: Fixed comment.
16752
7c2b7f45
DF
167532007-01-14 Daniel Franke <franke.daniel@gmail.com>
16754
16755 * libgomp.texi: Document implementation specific default values of
16756 environment variables.
16757
3721b9e1
DF
167582006-12-21 Daniel Franke <franke.daniel@gmail.com>
16759
16760 PR libgomp/28209
16761 * libgomp.texi: New file.
16762 * configure.ac: Add --enable-generated-files-in-srcdir option.
16763 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
16764 files to srcdir.
16765 * Makefile.in: Regenerated.
16766 * config.h.in: Regenerated.
16767 * testsuite/Makefile.in: Regenerated.
16768 * NOTES: Removed.
16769
62bd6216
DF
167702006-12-04 Daniel Franke <franke.daniel@gmail.com>
16771
16772 PR libgomp/29949
16773 * env.c (omp_set_num_threads): Set illegal thread count to 1.
16774
aad741f4
EB
167752006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
16776
16777 * configure: Regenerate.
16778
22568cc6
JJ
167792006-12-04 Jakub Jelinek <jakub@redhat.com>
16780
16781 PR libgomp/29947
16782 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
16783 start if there shouldn't be any loop iterations.
16784 (gomp_loop_ordered_static_start): Remove start == end test.
16785 * testsuite/libgomp.c/pr29947-1.c: New test.
16786 * testsuite/libgomp.c/pr29947-2.c: New test.
16787
a9690009
EB
167882006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
16789
16790 * configure.tgt: Force initial-exec TLS model on Linux only.
16791
597c25e6
DJ
167922006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
16793
16794 * configure: Regenerated.
16795
6acf0b38
UB
167962006-11-09 Uros Bizjak <ubizjak@gmail.com>
16797
16798 * env.c (parse_schedule): Reject out of range values.
16799 (parse_unsigned_long): Reject out of range, negative or zero values.
16800
a7a53ca5
JJ
168012006-10-29 Jakub Jelinek <jakub@redhat.com>
16802
16803 PR fortran/29629
16804 * testsuite/libgomp.fortran/pr29629.f90: New test.
16805
6d4d216a
EB
168062006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
16807
16808 PR libgomp/29494
16809 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
16810 * config/posix95: New directory.
16811 * config/posix95/omp-lock.h: New file.
16812 * config/posix95/lock.c: Likewise.
16813
5b043f08
GK
168142006-10-14 Geoffrey Keating <geoffk@apple.com>
16815
16816 * aclocal.m4: Regenerate.
16817 * configure: Regenerate.
16818
b50019f0
DS
168192006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16820
16821 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16822 '<' to '<='.
16823
8887708e
DS
168242006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16825
16826 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16827 test.
16828 * configure: Regenerate.
16829 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16830
9b9e4cd6
JJ
168312006-09-26 Jakub Jelinek <jakub@redhat.com>
16832
a70ad3bb
JJ
16833 PR middle-end/25261
16834 PR middle-end/28790
16835 * testsuite/libgomp.c/nestedfn-4.c: New test.
16836 * testsuite/libgomp.c/nestedfn-5.c: New test.
16837 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
16838
9b9e4cd6
JJ
16839 PR fortran/29097
16840 * testsuite/libgomp.fortran/condinc1.f: New test.
16841 * testsuite/libgomp.fortran/condinc2.f: New test.
16842 * testsuite/libgomp.fortran/condinc3.f90: New test.
16843 * testsuite/libgomp.fortran/condinc4.f90: New test.
16844 * testsuite/libgomp.fortran/condinc1.inc: New file.
16845
2fb31455
TT
168462006-09-18 Tom Tromey <tromey@redhat.com>
16847
16848 * configure: Rebuilt.
16849
c663e301
JM
168502006-09-13 Joseph S. Myers <joseph@codesourcery.com>
16851
16852 PR c/28768
16853 PR preprocessor/14634
16854 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16855 to AC_DEFINE.
16856 * configure: Regenerate.
16857
38371be9
SK
168582006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
16859
16860 * testsuite/libgomp.fortran/reduction3.f90: Change
16861 -2147483648 to -huge(i)-1 to avoid overflow.
16862 * testsuite/libgomp.fortran/reduction4.f90: Change
16863 Z'ffffffff' to not(0) to avoid overflow.
16864
571d5ac5
JM
168652006-08-26 Joseph S. Myers <joseph@codesourcery.com>
16866
16867 PR libgomp/25938
16868 * Makefile.am (libsubincludedir): New.
16869 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16870 * Makefile.in: Regenerate.
16871
89b3e3cd
JJ
168722006-08-17 Jakub Jelinek <jakub@redhat.com>
16873
16874 PR libgomp/28725
16875 * env.c: Include ctype.h.
16876 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
16877 leading and/or trailing whitespace and compare strings case
16878 insensitively.
16879
742fae05
JJ
168802006-07-16 Jakub Jelinek <jakub@redhat.com>
16881
16882 PR fortran/28390
16883 * testsuite/libgomp.fortran/pr28390.f: New test.
16884
a1daed2d
EC
168852006-07-05 Eric Christopher <echristo@apple.com>
16886
16887 * configure.ac: Depend addition of -pthread on host OS.
16888 * configure: Regenerate.
16889
5d7b5199
JJ
168902006-06-21 Jakub Jelinek <jakub@redhat.com>
16891
16892 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16893 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16894 defined.
16895
fe5568e9
JJ
168962006-06-20 Jakub Jelinek <jakub@redhat.com>
16897
16898 PR libgomp/26175
16899 PR libgomp/26477
16900 * configure.ac: If neither --enable-linux-futex nor
16901 --disable-linux-futex is passed, determine the default by checking
16902 for compiling and/or running against NPTL. With --enable-linux-futex,
16903 check if SYS_gettid and SYS_futex are defined.
16904 * configure: Rebuilt.
16905
c3b11a40
RH
169062006-06-14 Richard Henderson <rth@redhat.com>
16907
16908 PR libgomp/28008
16909 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16910 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16911
d0d1b24d
RH
169122006-06-09 Richard Henderson <rth@redhat.com>
16913
16914 * env.c (gomp_nthreads_var): Change to unsigned long.
16915 (gomp_run_sched_chunk): Likewise.
16916 (parse_unsigned_long): Rename from parse_num_threads and generalize.
16917 (initialize_env): Initialize gomp_thread_attr.
16918 * libgomp.h (gomp_nthreads_var): Update decl.
16919 (gomp_run_sched_chunk): Likewise.
16920 (gomp_thread_attr): Declare.
16921 * team.c (gomp_thread_attr): Export.
16922 (initialize_team): Don't initialize it.
16923
cd75853e
JJ
169242006-06-09 Jakub Jelinek <jakub@redhat.com>
16925
16926 PR fortran/27916
16927 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16928 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16929
33815e0c
FXC
169302006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16931
16932 * config/mingw32/time.c: New file.
16933 * configure.tgt: Use it.
16934
6667de0d
CD
169352006-05-23 Carlos O'Donell <carlos@codesourcery.com>
16936
16937 * Makefile.am: Add install-html target. Add install-html to .PHONY
16938 * Makefile.in: Regenerate.
16939
e962c46b
JDA
169402006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16941
16942 PR libgomp/27612
16943 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16944 * testsuite/libgomp.c/critical-1.c: Likewise.
16945 * testsuite/libgomp.c/loop-1.c: Likewise.
16946 * testsuite/libgomp.c/loop-2.c: Likewise.
16947 * testsuite/libgomp.c/single-1.c: Likewise.
16948 * testsuite/libgomp.c/ordered-1.c: Likewise.
16949 * testsuite/libgomp.c/ordered-2.c: Likewise.
16950
eeb1d9e0
JJ
169512006-05-15 Jakub Jelinek <jakub@redhat.com>
16952
16953 PR middle-end/27416
16954 * libgomp.fortran/pr27416-1.f90: New test.
16955
693d710f
JJ
169562006-05-03 Jakub Jelinek <jakub@redhat.com>
16957
16958 PR fortran/27395
16959 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
16960 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
16961
8ca5b2a2
JJ
169622006-05-02 Jakub Jelinek <jakub@redhat.com>
16963
16964 PR c++/26943
16965 * testsuite/libgomp.c/pr26943-1.c: New test.
16966 * testsuite/libgomp.c/pr26943-2.c: New test.
16967 * testsuite/libgomp.c/pr26943-3.c: New test.
16968 * testsuite/libgomp.c/pr26943-4.c: New test.
16969 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
16970 * testsuite/libgomp.c++/pr26943.C: New test.
16971
077b0dfb
JJ
169722006-05-02 Jakub Jelinek <jakub@redhat.com>
16973
16974 PR middle-end/27337
16975 * testsuite/libgomp.c++/pr27337.C: New test.
16976
91b6c26d
JJ
169772006-04-26 Jakub Jelinek <jakub@redhat.com>
16978
16979 PR c/26171
16980 * testsuite/libgomp.c/pr26171.c: New test.
16981
60e1758f
RH
169822006-04-25 Richard Henderson <rth@redhat.com>
16983
16984 PR libgomp/25865
16985 * configure.ac: Use GCC_CHECK_TLS.
16986 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16987 * Makefile.in, aclocal.m4, configure: Regenerate.
16988
615baed7
MK
169892006-04-10 Matthias Klose <doko@debian.org>
16990
16991 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16992 directory names containing underscores.
16993
fae2b46b
JJ
169942006-03-21 Jakub Jelinek <jakub@redhat.com>
16995
16996 PR c++/26691
16997 * testsuite/libgomp.c++/pr26691.C: New test.
16998
11a5f608
JJ
169992006-03-13 Jakub Jelinek <jakub@redhat.com>
17000
17001 * testsuite/libgomp.fortran/retval2.f90: New test.
17002
1799e5d5
RH
170032006-03-09 Diego Novillo <dnovillo@redhat.com>
17004
17005 * testsuite/libgomp.c++: New directory.
17006
d349482e
AT
170072006-02-25 Shantonu Sen <ssen@opendarwin.org>
17008
17009 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
17010 * config/posix/sem.c: Implement the above.
17011
170122006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
17013
17014 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
17015 define HAVE_BROKEN_POSIX_SEMAPHORES.
17016 * configure: Rebuilt.
17017 * config.h.in: Rebuilt.
17018
124452c9
FXC
170192006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
17020
17021 PR bootstrap/26161
17022 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
17023 for the other pthread check.
17024 * configure: Regenerate.
17025 * config.h.in: Regenerate.
17026
dd8d6dfe
JJ
170272006-02-15 Jakub Jelinek <jakub@redhat.com>
17028
17029 PR libgomp/25938
17030 PR libgomp/25984
17031 * Makefile.am (fincludedir): New variable.
17032 (nodist_include_HEADERS): Remove Fortran files.
17033 (nodist_finclude_HEADERS): New variable.
17034 * Makefile.in: Regenerated.
17035
6c7a4dfd
JJ
170362006-02-13 Jakub Jelinek <jakub@redhat.com>
17037
17038 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
17039 Remove tests for returning assumed character length arrays.
17040
5142e08b
RS
170412006-02-12 Roger Sayle <roger@eyesopen.com>
17042 John David Anglin <dave@hiauly1.hia.nrc.ca>
17043
17044 PR libgomp/25936
17045 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 17046
5821fba8
UW
170472006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
17048
17049 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
17050
cb2bbc67
EB
170512006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
17052
17053 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
17054 part of LD_LIBRARY_PATH manually.
17055
f05ee80c
L
170562006-02-03 H.J. Lu <hongjiu.lu@intel.com>
17057
17058 PR libgomp/25852
17059 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
17060 libgomp_init.
17061
03b8fe49
PB
170622005-01-25 Paolo Bonzini <bonzini@gnu.org>
17063
17064 PR libgomp/25884
f05ee80c
L
17065 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
17066 * configure.ac (PERL): Don't set.
17067 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
17068 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
17069 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
17070 * omp.h.in: Wrap the new configure substitutions with @ characters.
17071 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
17072 * aclocal.m4, configure, Makefile.in: Regenerate.
17073 * mkomp_h.pl: Delete.
03b8fe49 17074
18cbfd85
PB
170752005-01-24 Paolo Bonzini <bonzini@gnu.org>
17076
17077 PR libgomp/25259
17078 * configure.ac: Use GCC_HEADER_STDINT.
17079 * libgomp.h: Include gstdint.h.
17080 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
17081 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
17082
c41303c6
RH
170832006-01-24 Richard Henderson <rth@redhat.com>
17084
17085 PR libgomp/25942
17086 * configure.ac: Add AM_MAINTAINER_MODE.
17087 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
17088
149b9553
DN
170892006-01-24 Diego Novillo <dnovillo@redhat.com>
17090
17091 * Makefile.in: Regenerate.
17092 * testsuite/Makefile.in: Regenerate.
17093 * aclocal.m4: Regenerate.
17094
192a50ad
AT
170952006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
17096
17097 * config/posix/proc.c: Conditional include of sys/loadavg.h for
17098 Solaris.
17099 * configure.ac: Add check for loadavg.h.
17100 (link_gomp): Adjust comment.
17101 * configure: Regenerate.
17102 * config.h.in: Regenerate.
17103
a55b8e18
SE
171042006-01-21 Steve Ellcey <sje@cup.hp.com>
17105
17106 PR libgomp/25877
17107 * configure.ac: Remove check for alloca.h.
17108 * configure: Regenerate.
17109 * config.h.in: Regenerate.
17110 * libgomp.h: define gomp_alloca to be __builtin_alloca.
17111 * team.c: Remove use of alloca.h.
17112 Call gomp_alloca instead of alloca.
17113
692eeb34
SE
171142006-01-20 Steve Ellcey <sje@cup.hp.com>
17115
17116 PR libgomp/25877
17117 * team.c: Add include of alloca.h.
17118 * configure.ac: Add check for alloca.h.
17119 * configure: Regenerate.
17120 * config.h.in: Regenerate.
17121
953ff289
DN
171222006-01-17 Jakub Jelinek <jakub@redhat.com>
17123
17124 PR fortran/25219
17125 * testsuite/libgomp.fortran/pr25219.f90: New test.
17126
171272005-12-05 Uros Bizjak <uros@kss-loka.si>
17128
17129 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
17130 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
17131 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
17132 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
17133 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
17134 testsuite/libgomp.fortran/threadprivate1.f90,
17135 testsuite/libgomp.fortran/threadprivate2.f90,
17136 testsuite/libgomp.fortran/threadprivate3.f90,
17137 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
17138 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
17139 testsuite/libgomp.fortran/omp_parse3.f90: Change required
17140 effective-target to TLS runtime.
17141
17142 * testsuite/libgomp.fortran/pr25162.f: Require
17143 effective-target TLS runtime.
17144
171452005-12-01 Jakub Jelinek <jakub@redhat.com>
17146
17147 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
17148 * testsuite/libgomp.c/nestedfn-3.c: New test.
17149
171502005-11-30 Jakub Jelinek <jakub@redhat.com>
17151
17152 PR fortran/25162
17153 * testsuite/libgomp.fortran/pr25162.f: New test.
17154
171552005-11-28 Jakub Jelinek <jakub@redhat.com>
17156
17157 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
17158 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
17159
171602005-11-25 Jakub Jelinek <jakub@redhat.com>
17161
17162 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
17163 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
17164 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
17165 single.c, team.c, work.c, config/linux/alpha/futex.h,
17166 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
17167 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
17168 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
17169 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
17170 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
17171 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
17172 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
17173 FSF address.
17174
171752005-11-18 Jakub Jelinek <jakub@redhat.com>
17176
17177 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
17178 to nodist_noinst_HEADERS.
17179 * Makefile.in: Rebuilt.
17180
17181 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
17182 add integer count field.
17183 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
17184 omp_nest_lock_t type change.
17185 (omp_init_nest_lock): Likewise. Initialize count to 0.
17186 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
17187 Increment count.
17188 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
17189 Decrement count.
17190 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
17191 Increment count if successful and return the new nesting level.
17192 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
17193 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
17194 * testsuite/libgomp.c/lib-1.c: New test.
17195 * testsuite/libgomp.fortran/lib1.f90: New test.
17196 * testsuite/libgomp.fortran/lib2.f: New test.
17197 * testsuite/libgomp.fortran/lib3.f: New test.
17198
171992005-11-17 Richard Henderson <rth@redhat.com>
17200
17201 PR 24845
17202 * Makefile.am (nodist_toolexeclib_HEADERS): New.
17203 * configure.ac (link_gomp): New. Substitute it.
17204 (AC_CONFIG_FILES): Add libgomp.spec.
17205 * libgomp.spec.in: New file.
17206 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
17207 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
17208
172092005-11-18 Jakub Jelinek <jakub@redhat.com>
17210
17211 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
17212 reduction(-:var) behaving the same as reduction(+:var).
17213 * testsuite/libgomp.c/reduction-4.c: New test.
17214
172152005-11-15 Uros Bizjak <uros@kss-loka.si>
17216
17217 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
17218 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
17219 testsuite/libgomp.c/copyin-3.c,
17220 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
17221 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
17222 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
17223 testsuite/libgomp.c++/pr24455.C,
17224 testsuite/libgomp.fortran/threadprivate1.f90,
17225 testsuite/libgomp.fortran/threadprivate2.f90,
17226 testsuite/libgomp.fortran/threadprivate3.f90,
17227 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
17228 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
17229 testsuite/libgomp.fortran/omp_parse3.f90: Require
17230 effective-target TLS.
17231
172322005-11-14 Diego Novillo <dnovillo@redhat.com>
17233
17234 * HEADER: Remove.
17235
172362005-11-13 Jakub Jelinek <jakub@redhat.com>
17237
17238 PR libgomp/24797
17239 * team.c (initialize_team): Pass NULL rather than free as
17240 pthread_key_create destructor. Initialize thread specific data
17241 pointer in initial thread to a static local variable rather than
17242 malloced memory.
17243
172442005-11-11 Uros Bizjak <uros@kss-loka.si>
17245
17246 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
17247 its location to ld_library_path.
17248
172492005-11-10 Diego Novillo <dnovillo@redhat.com>
17250
17251 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
17252
172532005-11-10 Diego Novillo <dnovillo@redhat.com>
17254
17255 * testsuite/libgomp.c: Rename from libgomp.dg.
17256
172572005-11-09 Diego Novillo <dnovillo@redhat.com>
17258
17259 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
17260 threadprivate variable 'i'.
17261
172622005-11-09 Jakub Jelinek <jakub@redhat.com>
17263
17264 * config/linux/s390/futex.h: New file.
17265 * configure.tgt: Use it.
17266
17267 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
17268 before the parallel.
17269
172702005-11-08 Jakub Jelinek <jakub@redhat.com>
17271
17272 PR c++/24734
17273 * testsuite/libgomp.c++/master-1.C: New test.
17274
172752005-11-07 Jakub Jelinek <jakub@redhat.com>
17276
17277 * testsuite/libgomp.dg/copyin-3.c: New test.
17278
172792005-11-07 Jakub Jelinek <jakub@redhat.com>
17280
17281 * testsuite/libgomp.fortran/retval1.f90: New test.
17282 * testsuite/libgomp.fortran/vla7.f90: New test.
17283
172842005-11-06 Jakub Jelinek <jakub@redhat.com>
17285
17286 * testsuite/libgomp.fortran/vla2.f90: New test.
17287 * testsuite/libgomp.fortran/vla3.f90: New test.
17288 * testsuite/libgomp.fortran/vla4.f90: New test.
17289 * testsuite/libgomp.fortran/vla5.f90: New test.
17290 * testsuite/libgomp.fortran/vla6.f90: New test.
17291
172922005-11-01 Jakub Jelinek <jakub@redhat.com>
17293
17294 * config/linux/sparc/futex.h: New file.
17295 * configure.tgt: Use it.
17296 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
17297
17298 * critical.c: Include stdlib.h.
17299 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
17300 ignoring return value.
17301 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
17302 LIBGOMP_CHECK_SYNC_BUILTINS check.
17303 * configure: Rebuilt.
17304
173052005-10-31 Jakub Jelinek <jakub@redhat.com>
17306
17307 * testsuite/libgomp.fortran/vla1.f90: New test.
17308
173092005-10-31 Richard Henderson <rth@redhat.com>
17310
17311 * testsuite/libgomp.fortran/character2.f90: Fix race condition
17312 setting 's' in different threads.
17313
173142005-10-31 Jakub Jelinek <jakub@redhat.com>
17315
17316 * libgomp.h (attribute_hidden, ialias): Define.
17317 * config/posix/proc.c (omp_get_num_procs): Add ialias.
17318 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
17319 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
17320 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
17321 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
17322 omp_test_lock, omp_test_nest_lock): Likewise.
17323 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
17324 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
17325 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
17326 omp_test_lock, omp_test_nest_lock): Likewise.
17327 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
17328 omp_get_dynamic, omp_get_nested): Likewise.
17329 * parallel.c (omp_get_num_threads, omp_get_max_threads,
17330 omp_get_thread_num, omp_in_parallel): Likewise.
17331 * fortran.c (ialias_redirect): Define.
17332 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
17333 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
17334 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
17335 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
17336 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
17337 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
17338 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
17339 omp_get_wtime): Add ialias_redirect.
17340
173412005-10-30 Jakub Jelinek <jakub@redhat.com>
17342
17343 * fortran.c: Include stdlib.h.
17344
173452005-10-29 Jakub Jelinek <jakub@redhat.com>
17346
17347 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
17348 * Makefile.in: Regenerated.
17349
173502005-10-28 Jakub Jelinek <jakub@redhat.com>
17351
17352 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
17353 * libgomp_f.h.in (omp_check_defines): New function.
17354 * env.c: Include libgomp_f.h.
17355 (initialize_env): Call omp_check_defines.
17356
17357 * testsuite/libgomp.dg/copyin-2.c: New test.
17358 * testsuite/libgomp.c++/copyin-2.C: New test.
17359 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
17360
17361 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
17362 * testsuite/libgomp.fortran/sharing2.f90: New test.
17363
17364 * testsuite/libgomp.dg/copyin-1.c: New test.
17365 * testsuite/libgomp.c++/copyin-1.C: New test.
17366
173672005-10-26 Jakub Jelinek <jakub@redhat.com>
17368
17369 * testsuite/libgomp.fortran/crayptr1.f90: New test.
17370
17371 * testsuite/libgomp.fortran/workshare1.f90: New test.
17372
17373 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
17374 only test.
17375 * libgomp.fortran/sharing1.f90: New test.
17376
173772005-10-24 Jakub Jelinek <jakub@redhat.com>
17378
17379 PR c++/24502
17380 * testsuite/libgomp.c++/loop-7.C: New test.
17381
17382 * testsuite/libgomp.dg/nestedfn-2.c: New test.
17383
17384 * testsuite/libgomp.dg/nestedfn-1.c: New test.
17385 * testsuite/libgomp.fortran/reduction6.f90: New test.
17386 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
17387
173882005-10-23 Richard Henderson <rth@redhat.com>
17389
17390 * testsuite/libgomp.c++/ctor-1.C: New.
17391 * testsuite/libgomp.c++/ctor-2.C: New.
17392 * testsuite/libgomp.c++/ctor-3.C: New.
17393 * testsuite/libgomp.c++/ctor-4.C: New.
17394 * testsuite/libgomp.c++/ctor-5.C: New.
17395 * testsuite/libgomp.c++/ctor-6.C: New.
17396 * testsuite/libgomp.c++/ctor-7.C: New.
17397 * testsuite/libgomp.c++/ctor-8.C: New.
17398 * testsuite/libgomp.c++/ctor-9.C: New.
17399
174002005-10-21 Diego Novillo <dnovillo@redhat.com>
17401
17402 PR 24455
17403 * testsuite/libgomp.c++/pr24455-1.C: New test.
17404 * testsuite/libgomp.c++/pr24455.C: New test.
17405 * testsuite/libgomp.dg/pr24455-1.c: New test.
17406 * testsuite/libgomp.dg/pr24455.c: New test.
17407
174082005-10-20 Richard Henderson <rth@redhat.com>
17409
17410 * testsuite/libgomp.c++/loop-6.C: New.
17411 * testsuite/libgomp.dg/loop-3.c: New.
17412
174132005-10-20 Jakub Jelinek <jakub@redhat.com>
17414
17415 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
17416 explicitly private.
17417 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
17418 explicitly shared.
17419
174202005-10-19 Diego Novillo <dnovillo@redhat.com>
17421
17422 * testsuite/libgomp.fortran/jacobi.f: New test.
17423
174242005-10-19 Richard Henderson <rth@redhat.com>
17425
17426 * configure.tgt (i?86-linux): Default to with_arch instead of
17427 CFLAGS. Add -mtune to match target_cpu.
17428 (x86_64-linux): Tune to i686.
17429
17430 * fortran.c (omp_test_nest_lock_): Fix typo.
17431
174322005-10-19 Jakub Jelinek <jakub@redhat.com>
17433
17434 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17435 gomp_ordered_sync): Do nothing if team->nthreads == 1.
17436 * testsuite/libgomp.dg/ordered-3.c: New test.
17437
17438 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
17439 Remove volatile keyword.
17440
17441 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
17442 in COMMON block to avoid warnings on 64-bit targets.
17443
174442005-10-18 Diego Novillo <dnovillo@redhat.com>
17445
17446 * testsuite/libgomp.dg/shared-3.c: New test.
17447
174482005-10-18 Jakub Jelinek <jakub@redhat.com>
17449
17450 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
17451 * testsuite/libgomp.fortran/reduction5.f90: New test.
17452
174532005-10-18 Jakub Jelinek <jakub@redhat.com>
17454
17455 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
17456 dg-options.
17457 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
17458 flush loop now that __sync_synchronize has proper memory barrier.
17459 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
17460 Add -ffixed-form to dg-options.
17461
174622005-10-17 Diego Novillo <dnovillo@redhat.com>
17463
17464 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
17465 from subdirectories.
17466 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
17467 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
17468 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
17469 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
17470 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
17471 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
17472 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
17473 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
17474 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
17475 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
17476 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
17477 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
17478 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
17479 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
17480 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
17481 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
17482 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
17483 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
17484 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
17485 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
17486 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
17487 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
17488 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
17489 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
17490 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
17491
174922005-10-17 Jakub Jelinek <jakub@redhat.com>
17493
17494 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
17495 lang_library_path exists. Use find instead of glob to gather tests.
17496 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
17497
174982005-10-17 Diego Novillo <dnovillo@redhat.com>
17499
17500 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
17501 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
17502 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
17503 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
17504 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
17505 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
17506 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
17507 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
17508 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
17509 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
17510 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
17511 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
17512 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
17513
175142005-10-15 Jakub Jelinek <jakub@redhat.com>
17515
17516 * testsuite/libgomp.dg/vla-1.c: New test.
17517
17518 * testsuite/libgomp.fortran/reference2.f90: New test.
17519
17520 * testsuite/libgomp.fortran/character2.f90: Remove explicit
17521 declaration of omp_get_thread_num.
17522 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
17523 use omp_lib.
17524
17525 * testsuite/libgomp.fortran/reduction1.f90: New test.
17526 * testsuite/libgomp.fortran/reduction2.f90: New test.
17527 * testsuite/libgomp.fortran/reduction3.f90: New test.
17528 * testsuite/libgomp.fortran/reduction4.f90: New test.
17529
175302005-10-13 Richard Henderson <rth@redhat.com>
17531
17532 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
17533 * Makefile.in: Regenerate.
17534 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
17535 * libgomp.h: Include bar.h.
17536 (struct gomp_barrier): Remove.
17537 (struct gomp_team): Add barrier. Replace master_barrier with
17538 master_release. Replace threads with ordered_release.
17539 (struct gomp_thread): Replace barrier with release.
17540 * ordered.c (gomp_ordered_first): Update for ordered_release change.
17541 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
17542 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
17543 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
17544 (GOMP_single_copy_end): Likewise.
17545 * team.c (gomp_threads_dock): New.
17546 (gomp_barrier_init, gomp_barrier_destroy): Remove.
17547 (gomp_thread_start): Use gomp_barrier_wait.
17548 (new_team, free_team): Update for gomp_team changes.
17549 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
17550 (gomp_team_end): Use gomp_barrier_wait.
17551 (initialize_team): Update for gomp_thread changes.
17552 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
17553 (gomp_work_share_end_nowait): Use atomic ops when available.
17554 * config/linux/bar.c, config/linux/bar.h: New files.
17555 * config/posix/bar.c, config/posix/bar.h: New files.
17556
175572005-10-13 Jakub Jelinek <jakub@redhat.com>
17558
17559 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
17560 * testsuite/libgomp.dg/single-2.c: New test.
17561
17562 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
17563 lang_link_flags): Unset, so that they aren't inherited from previously
17564 sourced *.exp.
17565
17566 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
17567
175682005-10-12 Richard Henderson <rth@redhat.com>
17569
17570 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
17571 (libgomp_init): Use lang_test_file, lang_library_path, and
17572 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
17573
17574 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
17575 (lang_test_file, lang_link_flags): New.
17576 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
17577
17578 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
17579 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
17580 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
17581 testsuite/libgomp.c++/parallel-1.C,
17582 testsuite/libgomp.c++/reduction-1.C,
17583 testsuite/libgomp.c++/reduction-2.C,
17584 testsuite/libgomp.c++/reduction-3.C,
17585 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
17586 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
17587 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
17588 New files, largely cribbed from the C testsuite.
17589
175902005-10-12 Jakub Jelinek <jakub@redhat.com>
17591
17592 * testsuite/libgomp.fortran/character1.f90: New test.
17593 * testsuite/libgomp.fortran/character2.f90: New test.
17594
17595 * testsuite/libgomp.dg/nested-1.c: New test.
17596 * testsuite/libgomp.dg/nested-2.c: New test.
17597 * testsuite/libgomp.fortran/do1.f90: New test.
17598 * testsuite/libgomp.fortran/do2.f90: New test.
17599
17600 * testsuite/libgomp.fortran/reference1.f90: New test.
17601
176022005-10-11 Jakub Jelinek <jakub@redhat.com>
17603
17604 * testsuite/libgomp.dg/reduction-1.c: New test.
17605 * testsuite/libgomp.dg/reduction-2.c: New test.
17606 * testsuite/libgomp.dg/reduction-3.c: New test.
17607
176082005-10-10 Jakub Jelinek <jakub@redhat.com>
17609
17610 * testsuite/libgomp.dg/atomic-1.c: New test.
17611 * testsuite/libgomp.dg/atomic-2.c: New test.
17612
176132005-10-09 Richard Henderson <rth@redhat.com>
17614
17615 * critical.c (atomic_lock): New.
17616 (initialize_critical): Initialize it.
17617 (GOMP_atomic_start, GOMP_atomic_end): New.
17618 * libgomp.map: Export them.
17619 * libgomp_g.h: Declare them.
17620
17621 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
17622
176232005-10-02 Richard Henderson <rth@redhat.com>
17624
17625 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
17626 to XCFLAGS instead of CFLAGS.
17627
176282005-09-30 Richard Henderson <rth@redhat.com>
17629
17630 * configure.ac: Determine whether -pthread or -lpthread is needed.
17631 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 17632 * Makefile.in, configure: Rebuild.
953ff289
DN
17633
176342005-09-28 Richard Henderson <rth@redhat.com>
17635
17636 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
17637 * testsuite/libgomp.dg/omp-single-3.c: New test.
17638
176392005-09-28 Diego Novillo <dnovillo@redhat.com>
17640
17641 * testsuite/libgomp.dg/omp-single-2.c: New test.
17642 * testsuite/libgomp.dg/shared-2.c: Fix return code.
17643
176442005-09-27 Richard Henderson <rth@redhat.com>
17645
17646 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
17647 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
17648
176492005-09-27 Jakub Jelinek <jakub@redhat.com>
17650
17651 * testsuite/libgomp.dg/omp-loop03.c: New test.
17652
176532005-09-27 Diego Novillo <dnovillo@redhat.com>
17654
17655 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
17656
176572005-09-27 Diego Novillo <dnovillo@redhat.com>
17658
17659 * testsuite/libgomp.dg/omp-single-1.c: New test.
17660 * testsuite/libgomp.dg/shared-1.c: Return 0.
17661 Add prototype for abort.
17662 * testsuite/libgomp.dg/shared-2.c: Likewise.
17663
176642005-09-26 Jakub Jelinek <jakub@redhat.com>
17665
17666 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
17667 constructs.
17668
176692005-09-26 Diego Novillo <dnovillo@redhat.com>
17670
17671 * testsuite/libgomp.dg/shared-1.c: New test.
17672 * testsuite/libgomp.dg/shared-2.c: New test.
17673
176742005-09-24 Richard Henderson <rth@redhat.com>
17675
17676 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
17677
176782005-09-24 Richard Henderson <rth@redhat.com>
17679
17680 * iter.c (gomp_iter_static_next): Round up when computing number
17681 of iterations. Don't bother distributing a remainder equally.
17682
17683 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
17684 Don't call srand. Zero b before testing.
17685 (main): New.
17686
176872005-09-24 Jakub Jelinek <jakub@redhat.com>
17688
17689 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
17690 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
17691
176922005-09-23 Jakub Jelinek <jakub@redhat.com>
17693
17694 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
17695 without !$omp end do, followed immediately by subroutine end.
17696
176972005-09-23 Diego Novillo <dnovillo@redhat.com>
17698
17699 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
17700
177012005-09-22 Richard Henderson <rth@redhat.com>
17702
17703 * critical.c (GOMP_critical_name_start): Change argument to void**.
17704 Reuse the pointer space if the mutex fits.
17705 (GOMP_critical_name_end): Likewise.
17706 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
17707 * libgomp_g.h (GOMP_critical_name_start): Update decl.
17708 (GOMP_critical_name_end): Likewise.
17709 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
17710 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
17711
177122005-09-20 Richard Henderson <rth@redhat.com>
17713
17714 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
17715 (create_lock_lock): New.
17716 (initialize_critical): Initialize it.
17717 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
17718 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
17719
177202005-09-20 Diego Novillo <dnovillo@redhat.com>
17721
17722 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17723
177242005-09-20 Diego Novillo <dnovillo@redhat.com>
17725
17726 * testsuite/libgomp.dg/omp-loop01.c: New test.
17727 * testsuite/libgomp.dg/omp-loop02.c: New test.
17728
177292005-09-20 Jakub Jelinek <jakub@redhat.com>
17730
17731 * configure.ac (AC_PROG_FC): Add.
17732 (USE_FORTRAN): New automake conditional.
17733 * configure: Rebuilt.
17734 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
17735 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
17736 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
17737 Add rules to build them.
17738 * Makefile.in: Rebuilt.
17739 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
17740 OMP_NEST_LOCK_KIND.
17741 * libgomp.map: Add Fortran wrappers.
17742 * libgomp_f.h.in: New file.
17743 * omp_lib.h.in: New file.
17744 * omp_lib.f90.in: New file.
17745 * fortran.c: New file.
17746 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
17747 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
17748 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
17749 libgfortran has been built.
17750 * testsuite/libgomp.fortran/fortran.exp: New file.
17751 * testsuite/libgomp.fortran/omp_cond1.f: New test.
17752 * testsuite/libgomp.fortran/omp_cond2.f: New test.
17753 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
17754 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
17755 * testsuite/libgomp.fortran/omp_hello.f: New test.
17756 * testsuite/libgomp.fortran/omp_orphan.f: New test.
17757 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
17758 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
17759 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
17760 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
17761 * testsuite/libgomp.fortran/omp_reduction.f: New test.
17762 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
17763 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
17764
177652005-08-30 Richard Henderson <rth@redhat.com>
17766
17767 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
17768 function for when aliases are not usable.
17769 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
17770 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17771 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
17772 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
17773 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
17774 GOMP_loop_ordered_guided_next): Likewise.
17775 * ordered.c (GOMP_ordered_start): Likewise.
17776
177772005-08-01 Diego Novillo <dnovillo@redhat.com>
17778
17779 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
17780 * testsuite/libgomp.dg/omp_hello.c: Fix return code
17781 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
17782 * testsuite/libgomp.dg/omp_orphan.c: Likewise
17783 * testsuite/libgomp.dg/omp_reduction.c: Likewise
17784 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
17785 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
17786 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
17787 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
17788
177892005-07-07 Eric Christopher <echristo@redhat.com>
17790 Diego Novillo <dnovillo@redhat.com>
17791
17792 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17793 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
17794 up code.
17795 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
17796 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
17797 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
17798 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
17799 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
17800 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
17801 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
17802
178032005-06-13 Diego Novillo <dnovillo@redhat.com>
17804
17805 * TOPLEVEL.patch: Remove.
17806
178072005-05-16 Richard Henderson <rth@redhat.com>
17808
17809 * configure.ac: Test for clock_gettime.
17810 * config.h.in, configure: Rebuild.
17811 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
17812 (omp_get_wtime): Use clock_gettime if available.
17813 (omp_get_wtick): Use clock_getres if available.
17814
178152005-05-11 Richard Henderson <rth@redhat.com>
17816
17817 * config/linux/ia64/futex.h: New file.
17818 * configure.tgt: Use it.
17819
17820 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17821
178222005-05-07 Richard Henderson <rth@redhat.com>
17823
17824 * config/linux/powerpc/futex.h: New file.
17825 * configure.tgt: Use it.
17826
17827 * config/linux/i486/futex.h: Merge ...
17828 * config/linux/x86_64/futex.h: ... into ...
17829 * config/linux/x86/futex.h: ... here.
17830 * configure.tgt: Update to match.
17831
178322005-05-06 Richard Henderson <rth@redhat.com>
17833
17834 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
17835 * config/linux/i486/futex.h: Likewise.
17836 * config/linux/x86_64/futex.h: Likewise.
17837
17838 * config/linux/lock.c: New file.
17839 * config/linux/omp-lock.h: New file.
17840
17841 * critical.c, env.h: Don't include omp.h
17842 * config/posix/lock.c: Include libgomp.h instead of omp.h.
17843 * config/posix/time.c: Likewise.
17844 * config/posix/omp-lock.h: New file.
17845 * libgomp.h: Include omp-lock.h and omp.h.
17846 * Makefile.am (nodist_include_HEADERS): New.
17847 (omp.h): New rule.
17848 * configure.ac (PERL): New.
17849 * mkomp_h.pl: New file.
17850 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17851 with templates.
17852 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17853
17854 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17855 build directory. Re-add -march=i486 hack.
17856
17857 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17858 (libgomp_link_flags): Remove.
17859 (libgomp_initialized): Remove.
17860 (libgomp_init): Don't protect from reinitialization. Copy code
17861 from libstdc++ for getting the multilib set correctly.
17862
178632005-05-05 Richard Henderson <rth@redhat.com>
17864
17865 * config/linux/alpha/futex.h: New file.
17866 * configure.tgt (alpha*-*-linux*): Use it.
17867
17868 * config/posix/mutex.c: New file.
17869 * config/posix/sem.c: Use libgomp.h.
17870
17871 * configure.tgt (x86_64-linux): Also test CC for -m32.
17872 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17873
a1daed2d 17874 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
17875 after $gccpath.
17876
17877 * Makefile.am (SUBDIRS): New.
17878 (libgomp_la_LDFLAGS): Add -lpthread.
17879 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17880 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17881
17882 * libgomp_g.h: New file.
17883 * libgomp.h: Split out all public declarations to libgomp_g.h.
17884 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17885 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17886 * config/linux/sem.h: Likewise.
17887 * config/posix/sem.h: Likewise.
17888
17889 * Makefile.am (AM_LDFLAGS): New.
17890 (libgomp_version_script): Split out from ...
17891 (libgomp_la_LDFLAGS): ... here.
17892 (libgomp_version_info): New.
17893 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17894 (LIBGOMP_ENABLE): New.
17895 (LIBGOMP_CHECK_LINKER_FEATURES): New.
17896 (LIBGOMP_ENABLE_SYMVERS): New.
17897 * configure.ac (AC_INIT): Version 1.0.
17898 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17899 (enable-linux-futex): Likewise. Rename from enable-futex.
17900 (libtool_VERSION): New.
17901 (LIBGOMP_ENABLE_SYMVERS): Use it.
17902 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17903 * Makefile.in, aclocal.m4, configure: Rebuild.
17904
17905 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17906 (gomp_mutex_unlock_slow): Fix typo.
17907 * config/linux/sem.c: Similarly.
17908 (gomp_sem_post_slow): Fix typo.
17909 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17910 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17911 [__PIC__] (sys_futex0): Don't use tmp output in asm.
17912
17913 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17914 (libgomp_la_LDFLAGS): Add top_srcdir to path.
17915 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17916 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
17917 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17918 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17919 LDFLAGS. Pull enable_futex check to top-level.
17920 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
17921 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17922
17923 First attempt at real configury.
17924 * Makefile, config.h: Remove file.
17925 * Makefile.am, Makefile.in: New file.
17926 * acinclude.m4 aclocal.m4: New file.
17927 * configure.ac, configure.tgt, configure: New file.
17928
17929 * config/posix/lock.c: Rename from sys-lock.c.
17930 * config/posix/mutex.h: Rename from sys-mutex.h.
17931 * config/posix/sem.c: Rename from sys-sem.c.
17932 * config/posix/sem.h: Rename from sys-sem.h.
17933 * config/posix/proc.c: Rename from sys-proc.c.
17934 * config/posix/time.c: Rename from sys-proc.c.
17935
17936 * config/linux/mutex.c: New file.
17937 * config/linux/mutex.h: New file.
17938 * config/linux/sem.c: New file.
17939 * config/linux/sem.h: New file.
17940 * config/linux/i486/futex.h: New file.
17941 * config/linux/x86_64/futex.h: New file.
17942
179432005-05-04 Richard Henderson <rth@redhat.com>
17944
17945 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17946 * libgomp.h: Declare them.
17947 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17948 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17949
179502005-05-04 Richard Henderson <rth@redhat.com>
17951
17952 * libgomp-1 code drop
17953
179542005-05-04 Richard Henderson <rth@redhat.com>
17955
17956 * iter.c (gomp_iter_static_next): Return tri-state on 0.
17957 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
17958 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
17959 (gomp_iter_static_next): Update.
17960 (gomp_ordered_static_next): Update.
17961 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
17962 (gomp_loop_ordered_static_start): Likewise. Exit early for a
17963 totally empty range.
17964 (gomp_loop_ordered_static_next): Refine test for calling
17965 gomp_ordered_static_next.
17966 * testsuite/ordered-1.c: Add case for more threads than iterations.
17967
17968 * iter.c (gomp_iter_runtime_next_locked): Remove.
17969 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 17970 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
17971 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
17972 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
17973 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
17974 gomp_loop_ordered_guided_next): Downcase name, make static, add
17975 an external alias with the old name.
17976 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
17977 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
17978 switch and call one of the above static functions.
17979 * libgomp.h: Update.
17980
17981 * work.c (gomp_work_share_start): Lock the mutex for !first too.
17982 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
17983 GOMP_loop_guided_start, GOMP_loop_runtime_start,
17984 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17985 GOMP_loop_ordered_guided_start): Update to match.
17986 * sections.c (GOMP_sections_start): Likewise.
17987 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
17988
17989 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17990 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
17991 Use bounds check instead of modulus.
17992 (gomp_ordered_sync): Split out of GOMP_ordered_start.
17993 (gomp_ordered_last): Don't sync with ordered_owner here.
17994 (gomp_ordered_next): Likewise.
17995 (gomp_ordered_static_loop_next): Likewise.
17996 * loop.c, libgomp.h: Update to match.
17997
17998 * libgomp.h (GOMP_barrier): Declare.
17999
18000 * testsuite/barrier-1.c: New file.
18001 * testsuite/critical-1.c: New file.
18002 * testsuite/ordered-2.c: New file.
18003 * testsuite/ordered-1.c: New file.
18004 * testsuite/sections-1.c: New file.
18005 * testsuite/single-1.c: New file.
18006 * testsuite/Makefile (TESTS): Add them.
18007
180082005-05-04 Richard Henderson <rth@redhat.com>
18009
18010 * libgomp.h (struct gomp_work_share): Add ordered_owner.
18011 * loop.c (GOMP_loop_static_start): If not the startup thread,
18012 acquire the mutex to wait for initialization complete.
18013 (GOMP_loop_ordered_static_start): Likewise.
18014 (GOMP_loop_ordered_runtime_start): Likewise.
18015 (GOMP_loop_ordered_static_first): Remove.
18016 (GOMP_loop_ordered_dynamic_first): Remove.
18017 (GOMP_loop_ordered_guided_first): Remove.
18018 (GOMP_loop_ordered_runtime_first): Remove.
18019 * ordered.c (gomp_ordered_loop_first): Post to own release when
18020 we're the first thread.
18021 (gomp_ordered_loop_last): Wait on release if not owner.
18022 (gomp_ordered_loop_next): Likewise.
18023 (gomp_ordered_static_loop_init): New.
18024 (gomp_ordered_static_loop_next): Use ordered_owner.
18025 (GOMP_ordered_start): Likewise.
18026 * work.c (gomp_new_work_share): Initialize ordered_owner.
18027
180282005-05-03 Richard Henderson <rth@redhat.com>
18029
18030 * Makefile (OPT): New.
18031 (CFLAGS): Use it.
18032
18033 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
18034 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
18035 * libgomp.h, libgomp.map, NOTES: Update to match.
18036
18037 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
18038 Add initialized and thr members.
18039 (gomp_thread_start): Pause when initially spawned to wait for
18040 the whole team to be created.
18041 (gomp_team_start): Release team members at the end.
18042
18043 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
18044 (f_foo_1): Use GOMP_loop_end.
18045 (f_foo_2): Use GOMP_loop_end_nowait.
18046
18047 * testsuite/loop-2.c: New file.
18048 * testsuite/Makefile (TESTS): Add it.
18049
180502005-05-03 Richard Henderson <rth@redhat.com>
18051
18052 * iter.c (gomp_iter_static_next): Fix overflow check typo.
18053 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
18054 * team.c (new_team): Initialize oldest_live_gen to 1 if no
18055 initial work_share.
18056
18057 * testsuite/Makefile: New file.
18058 * testsuite/loop-1.c: New file.
18059
180602005-05-03 Richard Henderson <rth@redhat.com>
18061
18062 Initial implementation and checkin.
21fa2a29 18063\f
877e3c2a 18064Copyright (C) 2005-2022 Free Software Foundation, Inc.
21fa2a29
JJ
18065
18066Copying and distribution of this file, with or without modification,
18067are permitted in any medium without royalty provided the copyright
18068notice and this notice are preserved.