]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
libstdc++: Remove more redundant union members
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
3055829a
GA
12022-10-28 Julian Brown <julian@codesourcery.com>
2 Thomas Schwinge <thomas@codesourcery.com>
3
4 PR middle-end/90115
5 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
6 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
7 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
9 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
10
4e939ae1
GA
112022-10-24 Thomas Schwinge <thomas@codesourcery.com>
12
13 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
14 'ptx_dev->rev_data'.
15
162022-10-24 Tobias Burnus <tobias@codesourcery.com>
17
18 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
19 'static' for this variable.
20 * config/nvptx/libgomp-nvptx.h: New file.
21 * config/nvptx/target.c: Include it.
22 (GOMP_ADDITIONAL_ICVS): Declare extern var.
23 (GOMP_REV_OFFLOAD_VAR): Declare var.
24 (GOMP_target_ext): Handle reverse offload.
25 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
26 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
27 * target.c (gomp_target_rev): ... this new stub function.
28 * libgomp.h (gomp_target_rev): Declare.
29 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
30 * plugin/cuda-lib.def (cuMemHostAlloc): Add.
31 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
32 (struct ptx_device): Add rev_data member.
33 (nvptx_open_device): Remove async_engines query, last used in
34 r10-304-g1f4c5b9b; add unified-address assert check.
35 (GOMP_OFFLOAD_get_num_devices): Claim unified address
36 support.
37 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
38 offload functions exist. Make offload var available
39 on host and device.
40 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
41 (GOMP_OFFLOAD_run): Handle reverse offload.
42
10439719
GA
432022-10-21 Thomas Schwinge <thomas@codesourcery.com>
44
45 PR tree-optimization/107195
46 PR target/107344
47 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
48 regions checking.
49
47a6ae56
GA
502022-10-20 Tobias Burnus <tobias@codesourcery.com>
51
52 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
53 New.
54 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
55 on_device_arch_gcn): New.
56 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
57 requires-4.c but using heap-allocated memory.
58
592022-10-20 Thomas Schwinge <thomas@codesourcery.com>
60
61 PR target/105421
62 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
63
6237663c
GA
642022-10-17 Thomas Schwinge <thomas@codesourcery.com>
65
66 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
67 '-foffload-options' syntax.
68
621a911d
GA
692022-10-13 Tobias Burnus <tobias@codesourcery.com>
70
71 * testsuite/libgomp.fortran/task-7.f90: New test.
72 * testsuite/libgomp.fortran/task-8.f90: New test.
73 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
74 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
75 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
76 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
77 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
78
781f477a
GA
792022-10-12 Jakub Jelinek <jakub@redhat.com>
80
81 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
82 in deprecation bullet.
83
842022-10-12 Jakub Jelinek <jakub@redhat.com>
85
86 * omp.h.in (omp_in_explicit_task): Declare.
87 * omp_lib.h.in (omp_in_explicit_task): Likewise.
88 * omp_lib.f90.in (omp_in_explicit_task): New interface.
89 * libgomp.map (OMP_5.2): New symbol version, export
90 omp_in_explicit_task and omp_in_explicit_task_.
91 * task.c (omp_in_explicit_task): New function.
92 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
93 (omp_in_explicit_task_): New function.
94 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
95 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
96 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
97 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
98
992022-10-12 Jakub Jelinek <jakub@redhat.com>
100
101 * task.c (gomp_create_artificial_team): Fix up handling of invocations
102 from within explicit task.
103 * target.c (GOMP_target_ext): Likewise.
104 * testsuite/libgomp.c/task-7.c: New test.
105 * testsuite/libgomp.c/task-8.c: New test.
106 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
107 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
108
1092022-10-12 Martin Liska <mliska@suse.cz>
110
111 * configure: Regenerate.
112
ab332cd7
GA
1132022-10-11 Olivier Hainque <hainque@adacore.com>
114 Olivier Hainque <hainque@adacore.com>
115
116 * configure: Regenerate.
117
966010b2
GA
1182022-10-05 Tobias Burnus <tobias@codesourcery.com>
119
120 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
121
85872a69
GA
1222022-10-04 Jakub Jelinek <jakub@redhat.com>
123
124 * libgomp.texi (Support begin/end declare target syntax in C/C++):
125 Mark as implemented.
126
3a221b73
GA
1272022-09-30 Tobias Burnus <tobias@codesourcery.com>
128
129 PR fortran/105318
130 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
131
9e79a25b
GA
1322022-09-28 Tobias Burnus <tobias@codesourcery.com>
133
134 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
135 for C/C++. Remove duplicated 'begin declare target' entry.
136
28a61ecd
GA
1372022-09-24 Jakub Jelinek <jakub@redhat.com>
138
139 PR c/106981
140 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
141
ff822367
GA
1422022-09-14 Julian Brown <julian@codesourcery.com>
143
144 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
145 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
146 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
147 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
148 test to here, make "run" test.
149
1995a022
GA
1502022-09-13 Jakub Jelinek <jakub@redhat.com>
151
152 PR libgomp/106906
153 * env.c (get_icv_member_addr): Cast false to void * before assigning
154 it to icv_addr[1], and comment the whole assignment out.
155
1562022-09-13 Tobias Burnus <tobias@codesourcery.com>
157
158 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
159 (nvptx): ... here.
160
b5f09bd7
GA
1612022-09-12 Tobias Burnus <tobias@codesourcery.com>
162
163 * libgomp.texi (Offload-Target Specifics: nvptx): Document
164 that reverse offload requires >= -march=sm_35.
165 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
166 with -misa=sm_35.
167 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
168 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
169 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
170 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
171 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
172
1732022-09-12 Tobias Burnus <tobias@codesourcery.com>
174
175 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
176 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
177
1782022-09-12 Jakub Jelinek <jakub@redhat.com>
179
180 PR libgomp/106894
181 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
182 (main): Avoid tests for which corresponding non-_ALL suffixed variable
183 is in the environment, or for OMP_NUM_TEAMS on the device
184 OMP_NUM_TEAMS_DEV_?.
185
5b3496e2
GA
1862022-09-10 Iain Sandoe <iain@sandoe.co.uk>
187
188 * env.c (initialize_env): Include libiberty environ.h.
189
861d1a11
GA
1902022-09-09 Tobias Burnus <tobias@codesourcery.com>
191
192 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
193 function address table '$offload_func_table' if rev_fn_table
194 is not NULL.
195
1962022-09-09 Tobias Burnus <tobias@codesourcery.com>
197
198 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
199 .offload_func_table to populate rev_fn_table when requested.
200
2012022-09-09 Tobias Burnus <tobias@codesourcery.com>
202
203 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
204 'uint64_t **rev_fn_table' argument.
205 * oacc-host.c (host_load_image): Likewise.
206 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
207 currently unused.
208 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
209 * target.c (gomp_load_image_to_device): Update call but pass
210 NULL for now.
211
2122022-09-09 Jakub Jelinek <jakub@redhat.com>
213
214 PR libgomp/106894
215 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
216 char * for dest[1] initialization from params[1]. Formatting fixes.
217
2e7ad70c
GA
2182022-09-08 Tobias Burnus <tobias@codesourcery.com>
219
220 PR fortran/106670
221 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
222
2232022-09-08 Tobias Burnus <tobias@codesourcery.com>
224
225 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
226 section; move OpenMP Context Selectors from ...
227 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
228 'nvptx' sections.
229
2302022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
231
232 * config/gcn/icv-device.c (omp_get_default_device): Return device-
233 specific ICV.
234 (omp_get_max_teams): Added for GCN devices.
235 (omp_set_num_teams): Likewise.
236 (ialias): Likewise.
237 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
238 specific ICV.
239 (omp_get_max_teams): Added for NVPTX devices.
240 (omp_set_num_teams): Likewise.
241 (ialias): Likewise.
242 * env.c (struct gomp_icv_list): New struct to store entries of initial
243 ICV values.
244 (struct gomp_offload_icv_list): New struct to store entries of device-
245 specific ICV values that are copied to the device and back.
246 (struct gomp_default_icv_values): New struct to store default values of
247 ICVs according to the OpenMP standard.
248 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
249 (print_env_var_error): Function that prints an error for invalid values
250 for ICVs.
251 (parse_unsigned_long_1): Removed getenv. Generalized.
252 (parse_unsigned_long): Likewise.
253 (parse_int_1): Likewise.
254 (parse_int): Likewise.
255 (parse_int_secure): Likewise.
256 (parse_unsigned_long_list): Likewise.
257 (parse_target_offload): Likewise.
258 (parse_bind_var): Likewise.
259 (parse_stacksize): Likewise.
260 (parse_boolean): Likewise.
261 (parse_wait_policy): Likewise.
262 (parse_allocator): Likewise.
263 (omp_display_env): Extended to output different variants of environment
264 variables.
265 (print_schedule): New helper function for omp_display_env which prints
266 the values of run_sched_var.
267 (print_proc_bind): New helper function for omp_display_env which prints
268 the values of proc_bind_var.
269 (enum gomp_parse_type): Collection of types used for parsing environment
270 variables.
271 (ENTRY): Preprocess string lengths of environment variables.
272 (OMP_VAR_CNT): Preprocess table size.
273 (OMP_HOST_VAR_CNT): Likewise.
274 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
275 number.
276 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
277 (gomp_set_icv_flag): Sets a flag for a particular ICV.
278 (print_device_specific_icvs): New helper function for omp_display_env to
279 print device specific ICV values.
280 (get_device_num): New helper function for parse_device_specific.
281 Extracts the device number from an environment variable name.
282 (get_icv_member_addr): Gets the memory address for a particular member
283 of an ICV struct.
284 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
285 (initialize_icvs): New function to initialize a gomp_initial_icvs
286 struct.
287 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
288 (startswith): Checks if a string starts with a given prefix.
289 (initialize_env): Extended to parse the new syntax of environment
290 variables.
291 * icv-device.c (omp_get_max_teams): Added.
292 (ialias): Likewise.
293 (omp_set_num_teams): Likewise.
294 * icv.c (omp_set_num_teams): Moved to icv-device.c.
295 (omp_get_max_teams): Likewise.
296 (ialias): Likewise.
297 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
298 (GOMP_ADDITIONAL_ICVS): New target-side struct that
299 holds the designated ICVs of the target device.
300 * libgomp.h (enum gomp_icvs): Collection of ICVs.
301 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
302 no suffix.
303 (enum gomp_env_suffix): Collection of possible suffixes of environment
304 variables.
305 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
306 initial values.
307 (struct gomp_default_icv):New struct to hold ICVs for which we need
308 to store initial values.
309 (struct gomp_icv_list): Definition of a linked list that is used for
310 storing ICVs for the devices and also for _DEV, _ALL, and without
311 suffix.
312 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
313 a device.
314 (struct gomp_offload_icv_list): Definition of a linked list that holds
315 device-specific ICVs that are copied to devices.
316 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
317 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
318 * libgomp.texi: Updated.
319 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
320 further ICVs from the offload image.
321 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
322 * target.c (gomp_get_offload_icv_item): Get a list item of
323 gomp_offload_icv_list.
324 (get_gomp_offload_icvs): New. Returns the ICV values
325 depending on the device num and the variable hierarchy.
326 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
327 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
328 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
329 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
330 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
331 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
332 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
333
3342022-09-08 Jakub Jelinek <jakub@redhat.com>
335
336 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
337 fully supported.
338 * testsuite/libgomp.c/doacross-4.c: New test.
339 * testsuite/libgomp.c/doacross-5.c: New test.
340 * testsuite/libgomp.c/doacross-6.c: New test.
341 * testsuite/libgomp.c/doacross-7.c: New test.
342
47d2dcd1
GA
3432022-09-05 Tobias Burnus <tobias@codesourcery.com>
344
345 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
346
16f542d6
GA
3472022-08-26 Tobias Burnus <tobias@codesourcery.com>
348
349 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
350 refer to 'requires'.
351 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
352 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
353 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
354 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
355
0342f034
GA
3562022-08-17 Tobias Burnus <tobias@codesourcery.com>
357
358 PR middle-end/106548
359 * testsuite/libgomp.c/linear-2.c: New test.
360
3612022-08-17 Tobias Burnus <tobias@codesourcery.com>
362
363 * splay-tree.h: Fix splay_* macro unsetting if
364 splay_tree_prefix is defined.
365
b2bf0473
GA
3662022-07-29 Tobias Burnus <tobias@codesourcery.com>
367
368 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
369
3702022-07-29 Jakub Jelinek <jakub@redhat.com>
371
372 PR middle-end/106449
373 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
374
43997608
GA
3752022-07-12 Tobias Burnus <tobias@codesourcery.com>
376
377 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
378
3792022-07-12 Thomas Schwinge <thomas@codesourcery.com>
380
381 PR middle-end/101551
382 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
383 'offloading_enabled' diagnostics issue.
384
c72d4714
GA
3852022-07-11 Thomas Schwinge <thomas@codesourcery.com>
386
387 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
388 '_Pragma' diagnostics verification.
389
b53ebbc5
GA
3902022-07-10 Lewis Hyatt <lhyatt@gmail.com>
391
392 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
393 improved warning locations.
394 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
395
0fe604a2
GA
3962022-07-08 Thomas Schwinge <thomas@codesourcery.com>
397
398 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
399 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
400 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
401 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
402 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
403
6345c414
GA
4042022-07-07 Thomas Schwinge <thomas@codesourcery.com>
405
406 * target.c (GOMP_offload_register, GOMP_offload_unregister):
407 Denote as legacy entry points.
408 * testsuite/lib/libgomp.exp
409 (check_effective_target_offload_target_any): New proc.
410 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
411 'offload_target_any'.
412 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
413 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
414 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
415
4162022-07-07 Thomas Schwinge <thomas@codesourcery.com>
417
418 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
419 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
420
4212022-07-07 Thomas Schwinge <thomas@codesourcery.com>
422
423 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
424
4bc92c3b
GA
4252022-07-06 Thomas Schwinge <thomas@codesourcery.com>
426
427 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
428 'data'.
429 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
430
8467574d
GA
4312022-07-04 Tobias Burnus <tobias@codesourcery.com>
432 Jakub Jelinek <jakub@redhat.com>
433
434 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
435
4362022-07-04 Tobias Burnus <tobias@codesourcery.com>
437 Chung-Lin Tang <cltang@codesourcery.com>
438 Thomas Schwinge <thomas@codesourcery.com>
439
440 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
441 omp_requires_mask arg.
442 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
443 return -1 when device available but omp_requires_mask != 0.
444 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
445 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
446 Update call.
447 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
448 goacc_attach_host_thread_to_device, acc_get_num_devices,
449 acc_set_device_num, get_property_any): Likewise.
450 * target.c (omp_requires_mask): New global var.
451 (gomp_requires_to_name): New.
452 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
453 (gomp_target_init): Handle omp_requires_mask.
454 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
455 (OpenMP 5.1): Add a missed item.
456 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
457 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
458 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
459 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
460 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
461 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
462 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
463 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
464 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
465 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
466 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
467 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
468 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
469 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
470 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
471 * testsuite/libgomp.fortran/requires-1.f90: New test.
472
ed974488
GA
4732022-07-01 Tobias Burnus <tobias@codesourcery.com>
474
475 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
476 with fromto as implemented.
477
fb29fdea
GA
4782022-06-28 Martin Liska <mliska@suse.cz>
479
480 * acinclude.m4: Fix typo in mold linker detection.
481 * Makefile.in: Regenerate.
482 * configure: Regenerate.
483
de89b078
GA
4842022-06-21 Jakub Jelinek <jakub@redhat.com>
485 Paul Iannetta <piannetta@kalrayinc.com>
486
487 PR libgomp/106045
488 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
489
5a66d7dd
GA
4902022-06-17 Martin Liska <mliska@suse.cz>
491
492 * libgomp.texi: Add table header for new features of
493 OpenMP 5.2.
494
499b9c5f
GA
4952022-06-15 Jakub Jelinek <jakub@redhat.com>
496
497 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
498 q to ddress of an automatic variable. Use -5 instead of -1 in
499 omp_get_mapped_ptr call. Add test with omp_initial_device.
500 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
501 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
502 Renumber stop arguments afterwards.
503
c3642271
GA
5042022-06-13 Jakub Jelinek <jakub@redhat.com>
505
506 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
507 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
508 parameters.
509 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
510 * target.c (resolve_device): Add remapped argument, handle
511 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
512 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
513 if remapped, otherwise treat omp_initial_device that way. For
514 omp_invalid_device, always emit gomp_fatal, even when
515 OMP_TARGET_OFFLOAD isn't mandatory.
516 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
517 GOMP_target_update, GOMP_target_update_ext,
518 GOMP_target_enter_exit_data): Pass true as remapped argument to
519 resolve_device.
520 (omp_target_alloc, omp_target_free, omp_target_is_present,
521 omp_target_memcpy_check, omp_target_associate_ptr,
522 omp_target_disassociate_ptr, omp_get_mapped_ptr,
523 omp_target_is_accessible): Pass false as remapped argument to
524 resolve_device. Treat omp_initial_device the same as
525 gomp_get_num_devices (). Don't bypass resolve_device calls if
526 device_num is negative.
527 (omp_pause_resource): Treat omp_initial_device the same as
528 gomp_get_num_devices (). Call resolve_device.
529 * icv-device.c (omp_set_default_device): Always set to device_num
530 even when it is negative.
531 * libgomp.texi: Document that Conforming device numbers,
532 omp_initial_device and omp_invalid_device is implemented.
533 * testsuite/libgomp.c/target-41.c (main): Add test with
534 omp_initial_device.
535 * testsuite/libgomp.c/target-45.c: New test.
536 * testsuite/libgomp.c/target-46.c: New test.
537 * testsuite/libgomp.c/target-47.c: New test.
538 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
539 test with omp_initial_device. Use -5 instead of -1 for negative value
540 test.
541 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
542 Likewise. Reorder stop numbers.
543
ef1e4d80
GA
5442022-06-10 Jakub Jelinek <jakub@redhat.com>
545
546 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
547 rather than "libmemkind.so".
548
5492022-06-10 Thomas Schwinge <thomas@codesourcery.com>
550
551 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
552 * plugin/configfrag.ac (--with-cuda-driver)
553 (--with-cuda-driver-include, --with-cuda-driver-lib)
554 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
555 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
556 Remove.
557 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
558 (cuda_driver_lib): Remove.
559 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
560 * Makefile.in: Regenerate.
561 * configure: Likewise.
562 * testsuite/Makefile.in: Likewise.
563
e3bba42f
GA
5642022-06-09 Jakub Jelinek <jakub@redhat.com>
565
566 * config/linux/allocator.c: Fix up #include directive.
567
5682022-06-09 Jakub Jelinek <jakub@redhat.com>
569
570 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
571 (enum gomp_memkind_kind): New type.
572 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
573 is defined.
574 (struct gomp_memkind_data): New type.
575 (memkind_data, memkind_data_once): New variables.
576 (gomp_init_memkind, gomp_get_memkind): New functions.
577 (omp_init_allocator): Initialize data.memkind, don't fail for
578 omp_high_bw_mem_space if libmemkind supports it.
579 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
580 memkind support of LIBGOMP_USE_MEMKIND is defined.
581 * config/linux/allocator.c: New file.
582
58b67140
GA
5832022-06-03 Tobias Burnus <tobias@codesourcery.com>
584
585 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
586 * testsuite/libgomp.fortran/scope-2.f90: New test.
587
b168441c
GA
5882022-06-02 David Malcolm <dmalcolm@redhat.com>
589
590 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
591
820ead45
GA
5922022-05-31 Jakub Jelinek <jakub@redhat.com>
593
594 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
595 scope construct with allocate clause.
596 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
597 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
598
37b3b5da
GA
5992022-05-28 Tobias Burnus <tobias@codesourcery.com>
600
601 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
602 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
603 explicit 'to' and 'enter' clause.
604 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
605
6062022-05-28 Jakub Jelinek <jakub@redhat.com>
607
608 PR libgomp/105745
609 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
610 defined(HAVE__ALIGNED_MALLOC) case.
611 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
612 handling as last option before fallback instead of first.
613 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
614 _aligned_free.
615
d9176e64
GA
6162022-05-27 Jakub Jelinek <jakub@redhat.com>
617
618 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
619 clauses to enter.
620 * testsuite/libgomp.c/target-41.c: Likewise.
621
6222022-05-27 Tobias Burnus <tobias@codesourcery.com>
623
624 * libgomp.texi (Other new OpenMP 5.1 features): Add
625 'begin declare target'.
626 (Other new OpenMP 5.2 features): New.
627
3dff965c
GA
6282022-05-25 Jakub Jelinek <jakub@redhat.com>
629
630 * task.c (gomp_task_run_post_handle_dependers): If empty_task
631 is the last task taskwait depend depends on, wake it up.
632 Similarly if it is the last child of a taskgroup, use atomic
633 store instead of decrement and awak taskgroup wait if any.
634 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
635
768f49a2
GA
6362022-05-24 Andrew Stubbs <ams@codesourcery.com>
637
638 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
639 EF_AMDGPU_MACH_AMDGCN_GFX90a.
640 (gcn_gfx90a_s): New.
641 (isa_hsa_name): Support gfx90a.
642 (isa_code): Likewise.
643
6442022-05-24 Tobias Burnus <tobias@codesourcery.com>
645
646 PR c/105378
647 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
648 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
649
6502022-05-24 Jakub Jelinek <jakub@redhat.com>
651
652 PR c/105378
653 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
654 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
655 * task.c (empty_task): New function.
656 (gomp_task_run_post_handle_depend_hash): Declare earlier.
657 (gomp_task_run_post_handle_depend): Declare.
658 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
659 for.
660 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
661 (GOMP_taskwait_depend_nowait): New function.
662 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
663
168fc8bd
GA
6642022-05-23 Tobias Burnus <tobias@codesourcery.com>
665
666 PR fortran/104949
667 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
668 Support attach for GOMP_MAP_FIRSTPRIVATE.
669 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
670 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
671 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
672
57f2ce6a
GA
6732022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
674
675 * libgomp.map: Added omp_target_memcpy_async and
676 omp_target_memcpy_rect_async.
677 * libgomp.texi: Both functions are now supported.
678 * omp.h.in: Added omp_target_memcpy_async and
679 omp_target_memcpy_rect_async.
680 * omp_lib.f90.in: Added interfaces for both new functions.
681 * omp_lib.h.in: Likewise.
682 * target.c (ialias_redirect): Added for GOMP_task.
683 (omp_target_memcpy): Restructured into check and copy part.
684 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
685 omp_target_memcpy_async that checks requirements.
686 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
687 omp_target_memcpy_async that performs the memcpy.
688 (omp_target_memcpy_async_helper): New helper function that is used in
689 omp_target_memcpy_async for the asynchronous task.
690 (omp_target_memcpy_async): Added.
691 (omp_target_memcpy_rect): Restructured into check and copy part.
692 (omp_target_memcpy_rect_check): New helper function for
693 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
694 requirements.
695 (omp_target_memcpy_rect_copy): New helper function for
696 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
697 the memcpy.
698 (omp_target_memcpy_rect_async_helper): New helper function that is used
699 in omp_target_memcpy_rect_async for the asynchronous task.
700 (omp_target_memcpy_rect_async): Added.
701 * task.c (ialias): Added for GOMP_task.
702 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
703 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
704 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
705 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
706 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
707 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
708 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
709 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
710
1cda629f
GA
7112022-05-18 Tobias Burnus <tobias@codesourcery.com>
712
713 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
714 (OpenMP Context Selectors): Add missing comma.
715 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
716 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
717 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
718 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
719
3d9439b1
GA
7202022-05-17 Jakub Jelinek <jakub@redhat.com>
721
722 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
723 comment for omp_display_env feature.
724
7252022-05-17 Tobias Burnus <tobias@codesourcery.com>
726
727 * libgomp.texi (Offload-Target Specifics): New chapter; add section
728 to document OpenMP context selectors.
729
7302022-05-17 Jakub Jelinek <jakub@redhat.com>
731
732 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
733 from bool to unsigned char.
734 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
735 Ignore dependencies where
736 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
737 rather than just task->depend[i].is_in && ent->is_in. Remember
738 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
739 conditional.
740 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
741 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
742 rather than just elem.is_in && ent->is_in.
743 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
744 inoutset depend-kind.
745 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
746 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
747 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
748
7492022-05-17 Tobias Burnus <tobias@codesourcery.com>
750
751 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
752
7532022-05-17 Tobias Burnus <tobias@codesourcery.com>
754
755 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
756 * testsuite/libgomp.fortran/depend-5.f90: New test.
757 * testsuite/libgomp.fortran/depend-6.f90: New test.
758 * testsuite/libgomp.fortran/depend-7.f90: New test.
759
702bd11f
GA
7602022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
761
762 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
763 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
764 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
765
9df4ffe4
GA
7662022-05-13 Tobias Burnus <tobias@codesourcery.com>
767
768 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
769
7702022-05-13 Tobias Burnus <tobias@codesourcery.com>
771
772 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
773
7742022-05-13 Thomas Schwinge <thomas@codesourcery.com>
775
776 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
777 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
778 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
779 append '$(PLUGIN_NVPTX_LDFLAGS)'.
780 * Makefile.in: Regenerate.
781
49ace834
GA
7822022-05-12 Thomas Schwinge <thomas@codesourcery.com>
783
784 * Makefile.am (libgomp_la_LIBADD): Initialize.
785 * plugin/configfrag.ac (DL_LIBS): New.
786 (PLUGIN_GCN_LIBS): Remove.
787 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
788 * plugin/Makefrag.am (libgomp_la_LIBADD)
789 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
790 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
791 * Makefile.in: Regenerate.
792 * config.h.in: Likewise.
793 * configure: Likewise.
794 * testsuite/Makefile.in: Likewise.
795
7962022-05-12 Thomas Schwinge <thomas@codesourcery.com>
797
798 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
799 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
800 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
801 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
802 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
803 'PLUGIN_NVPTX_LINK_LIBCUDA'.
804 * Makefile.in: Regenerate.
805 * config.h.in: Likewise.
806 * configure: Likewise.
807
8082022-05-12 Thomas Schwinge <thomas@codesourcery.com>
809
810 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
811 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
812 * Makefile.in: Regenerate.
813 * config.h.in: Likewise.
814 * configure: Likewise.
815 * testsuite/Makefile.in: Likewise.
816
8172022-05-12 Jakub Jelinek <jakub@redhat.com>
818
819 * libgomp.h (struct gomp_task): Add depend_all_memory member.
820 * task.c (gomp_init_task): Initialize depend_all_memory.
821 (gomp_task_handle_depend): Handle omp_all_memory.
822 (gomp_task_run_post_handle_depend_hash): Clear
823 parent->depend_all_memory if equal to current task.
824 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
825 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
826 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
827 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
828
d0d513b5
GA
8292022-05-11 Thomas Schwinge <thomas@codesourcery.com>
830
831 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
832 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
833 * Makefile.in: Regenerate.
834 * configure: Likewise.
835 * testsuite/Makefile.in: Likewise.
836
8372022-05-11 Thomas Schwinge <thomas@codesourcery.com>
838
839 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
840 consider 'PLUGIN_GCN_CPPFLAGS'.
841 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
842 'PLUGIN_GCN_LDFLAGS'.
843 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
844 Remove.
845 * Makefile.in: Regenerate.
846 * configure: Likewise.
847 * testsuite/Makefile.in: Likewise.
848
8492022-05-11 Thomas Schwinge <thomas@codesourcery.com>
850
851 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
852 (HSA_RUNTIME_LDFLAGS): Remove.
853 * configure: Regenerate.
854
8552022-05-11 Thomas Schwinge <thomas@codesourcery.com>
856
857 * testsuite/lib/libgomp.exp (libgomp_init): Don't
858 'append always_ld_library_path ":$hsa_runtime_lib"'.
859 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
860
e8778989
GA
8612022-05-10 Thomas Schwinge <thomas@codesourcery.com>
862
863 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
864 multi-device testing.
865
ea3fbfda
GA
8662022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
867
868 * libgomp.map: Added omp_target_is_accessible.
869 * libgomp.texi: Tagged omp_target_is_accessible as supported.
870 * omp.h.in: Added omp_target_is_accessible.
871 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
872 * omp_lib.h.in: Likewise.
873 * target.c (omp_target_is_accessible): Added implementation of
874 omp_target_is_accessible.
875 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
876 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
877
ab869e7f
GA
8782022-05-05 Sandra Loosemore <sandra@codesourcery.com>
879
880 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
881
3e7db517
GA
8822022-05-04 Tobias Burnus <tobias@codesourcery.com>
883
884 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
885
8862022-05-04 Tobias Burnus <tobias@codesourcery.com>
887
888 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
889
e66af28d
GA
8902022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
891
892 * libgomp.map: Added omp_get_mapped_ptr.
893 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
894 * omp.h.in: Added omp_get_mapped_ptr.
895 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
896 * omp_lib.h.in: Likewise.
897 * target.c (omp_get_mapped_ptr): Added implementation of
898 omp_get_mapped_ptr.
899 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
900 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
901 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
902 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
903 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
904 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
905 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
906 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
907
6b6f53d8
GA
9082022-04-28 Thomas Schwinge <thomas@codesourcery.com>
909
910 PR fortran/104717
911 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
912 privatization scanning. For GCN offloading compilation, raise
913 '-mgang-private-size'.
914
01ad093b
GA
9152022-04-26 Jakub Jelinek <jakub@redhat.com>
916
917 PR libgomp/105358
918 * work.c (gomp_init_work_share): Don't mask of adjustment for
919 dynamic long long realignment if struct gomp_work_share has smaller
920 alignof than long long.
921 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
922 struct gomp_work_share has smaller alignof than long long or if
923 sizeof (struct gomp_work_share) is smaller than
924 INLINE_ORDERED_TEAM_IDS_OFF.
925 * loop_ull.c (GOMP_loop_ull_start): Likewise.
926 * sections.c (GOMP_sections2_start): Likewise.
927
98de0da6
GA
9282022-04-25 Jakub Jelinek <jakub@redhat.com>
929 Thomas Schwinge <thomas@codesourcery.com>
930
931 PR fortran/104717
932 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
933
247bbed1
GA
9342022-04-13 Jakub Jelinek <jakub@redhat.com>
935
936 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
937
80eb8ec6
GA
9382022-04-06 Thomas Schwinge <thomas@codesourcery.com>
939
940 * plugin/cuda/cuda.h: Remove file.
941 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
942 "cuda/cuda.h" instead of <cuda.h>.
943 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
944 'PLUGIN_NVPTX_CPPFLAGS'.
945 * configure: Regenerate.
946
9d84ed68
GA
9472022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
948
949 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
950
5e09bb1b
GA
9512022-04-04 Tom de Vries <tdevries@suse.de>
952
953 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
954 on_device_arch_nvptx instead of offload_target_nvptx.
955 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
956
8af4270d
GA
9572022-04-01 Tom de Vries <tdevries@suse.de>
958
959 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
960 and use REC_DEPTH.
961 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
962
9632022-04-01 Tom de Vries <tdevries@suse.de>
964
965 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
966 num_workers check.
967
9f774626
GA
9682022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
969 Lulu Cheng <chenglulu@loongson.cn>
970
971 * configure.tgt: Add LoongArch triplet.
972
aab0127d
GA
9732022-03-28 Tom de Vries <tdevries@suse.de>
974
975 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
976 instead of /libexec/.
977 * configure: Regenerate.
978
31e989a2
GA
9792022-03-25 Tom de Vries <tdevries@suse.de>
980
981 PR libgomp/105042
982 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
983 execution time.
984 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
985 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
986
d1ca63a1
GA
9872022-03-23 Tobias Burnus <tobias@codesourcery.com>
988
989 PR middle-end/104285
990 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
991 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
992 * testsuite/libgomp.c++/target-same-name-2.C: New test.
993 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
994 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
995 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
996
a2287813
GA
9972022-03-22 Tom de Vries <tdevries@suse.de>
998
999 PR target/104916
1000 PR target/104783
1001 * testsuite/libgomp.c/pr104783-2.c: New test.
1002
8ca61ad1
GA
10032022-03-18 Tobias Burnus <tobias@codesourcery.com>
1004
1005 PR fortran/103039
1006 * testsuite/libgomp.fortran/associate4.f90: New test.
1007
10082022-03-18 Tom de Vries <tdevries@suse.de>
1009
1010 PR target/104952
1011 * testsuite/libgomp.c/pr104952-1.c: New test.
1012 * testsuite/libgomp.c/pr104952-2.c: New test.
1013
10142022-03-18 Jakub Jelinek <jakub@redhat.com>
1015
1016 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
1017 variable next to pl variable.
1018
e9ea3016
GA
10192022-03-17 Thomas Schwinge <thomas@codesourcery.com>
1020
1021 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1022 Enhance.
1023 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
1024 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1025
10262022-03-17 Thomas Schwinge <thomas@codesourcery.com>
1027
1028 PR middle-end/90115
1029 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
1030 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1031
9fc8f278
GA
10322022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
1033
1034 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
1035 omp_set_max_active_levels.
1036 * testsuite/libgomp.fortran/icv-8.f90: New test.
1037
10382022-03-16 Thomas Schwinge <thomas@codesourcery.com>
1039
1040 PR testsuite/102841
1041 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
1042
b9756c08
GA
10432022-03-13 Tobias Burnus <tobias@codesourcery.com>
1044
1045 * libgomp.texi: Fix typo.
1046
57eeedda
GA
10472022-03-12 Thomas Schwinge <thomas@codesourcery.com>
1048
1049 PR middle-end/100280
1050 PR middle-end/104892
1051 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
1052 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
1053 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1054 Likewise.
1055 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
1056 Likewise.
1057 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1058 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1059 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1060 Likewise.
1061
10622022-03-12 Thomas Schwinge <thomas@codesourcery.com>
1063
1064 PR middle-end/104892
1065 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
1066 to PR104892.
1067 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
1068 enable '--param=openacc-kernels=decompose' and adjust.
1069 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
1070 Likewise.
1071 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1072 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1073 Likewise.
1074
10752022-03-12 Thomas Schwinge <thomas@codesourcery.com>
1076
1077 PR middle-end/90115
1078 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
1079 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
1080 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1081 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
1082
10832022-03-12 Thomas Schwinge <thomas@codesourcery.com>
1084
1085 PR middle-end/100280
1086 PR middle-end/104086
1087 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1088 Merge this...
1089 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1090 ..., and this...
1091 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
1092 this, and adjust.
1093 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1094 Extend.
1095
5e28be89
GA
10962022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
1097
1098 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
1099 trait. Test last index in w and v array. Remove redundant
1100 assignment to V(1). Move alignment checks at the end of
1101 parallel region.
1102
11032022-03-10 Tom de Vries <tdevries@suse.de>
1104
1105 * testsuite/libgomp.c/pr104783.c: New test.
1106
11072022-03-10 Thomas Schwinge <thomas@codesourcery.com>
1108
1109 PR middle-end/90115
1110 PR middle-end/102330
1111 PR middle-end/104774
1112 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1113 Enhance.
1114 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1115 Adjust.
1116 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1117 Likewise.
1118 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1119 Likewise.
1120 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1121 Likewise.
1122 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1123 Likewise.
1124 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1125 Likewise.
1126 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1127 Likewise.
1128 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1129 Likewise.
1130 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1131 Likewise.
1132 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1133 Likewise.
1134 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1135 Likewise.
1136 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1137 Likewise.
1138 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1139 Likewise.
1140 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1141 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1142 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1143
11442022-03-10 Thomas Schwinge <thomas@codesourcery.com>
1145
1146 PR middle-end/90115
1147 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
1148 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
1149 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
1150 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
1151
8d96e14c
GA
11522022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1153
1154 PR testsuite/104791
1155 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
1156 expected diagnostics.
1157
11582022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1159
1160 PR middle-end/104784
1161 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1162 Test with '--param=openacc-kernels=decompose'.
1163 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1164 Likewise.
1165 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1166 Likewise.
1167 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1168 Likewise.
1169 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1170 Likewise.
1171 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1172 Likewise.
1173 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1174 Likewise.
1175 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1176 Likewise.
1177 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1178 Likewise.
1179 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1180 Likewise.
1181 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1182 Likewise.
1183 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1184 Likewise.
1185 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1186 Likewise.
1187 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1188 Likewise.
1189 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1190 Likewise.
1191 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1192 Likewise.
1193 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1194 Likewise.
1195 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1196 Likewise.
1197 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1198 Likewise.
1199 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1200 Likewise.
1201 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1202 Likewise.
1203 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1204 Likewise.
1205 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1206 Likewise.
1207 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1208 Likewise.
1209 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1210 Likewise.
1211 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1212 Likewise.
1213 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1214 Likewise.
1215 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1216 Likewise.
1217 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1218 Likewise.
1219 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1220 Likewise.
1221 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1222 Likewise.
1223 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1224 Likewise.
1225 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1226 Likewise.
1227
12282022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1229
1230 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1231 Test '-fopt-info-omp-all'.
1232 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1233 Likewise.
1234 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1235 Likewise.
1236 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1237 Likewise.
1238 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1239 Likewise.
1240 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1241 Likewise.
1242 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1243 Likewise.
1244 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1245 Likewise.
1246 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1247 Likewise.
1248 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1249 Likewise.
1250 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1251 Likewise.
1252 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1253 Likewise.
1254 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1255 Likewise.
1256 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1257 Likewise.
1258 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1259 Likewise.
1260 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1261 Likewise.
1262 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1263 Likewise.
1264 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1265 Likewise.
1266 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1267 Likewise.
1268 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1269 Likewise.
1270 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1271 Likewise.
1272 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1273 Likewise.
1274 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1275 Likewise.
1276 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1277 Likewise.
1278 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1279 Likewise.
1280 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1281 Likewise.
1282 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1283 Likewise.
1284 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1285 Likewise.
1286 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1287 Likewise.
1288 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1289 Likewise.
1290 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1291 Likewise.
1292 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1293 Likewise.
1294 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1295 Likewise.
1296
12972022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1298
1299 PR middle-end/100280
1300 PR middle-end/104132
1301 PR middle-end/104133
1302 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1303 Extend.
1304
13052022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1306
1307 PR middle-end/100280
1308 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
1309 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1310 Likewise.
1311
13122022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1313
1314 PR middle-end/100280
1315 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
1316 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1317 Likewise.
1318
a35f1697
GA
13192022-02-28 Tom de Vries <tdevries@suse.de>
1320
1321 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
1322 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
1323 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
1324 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
1325 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
1326 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
1327
756a6185
GA
13282022-02-24 Tom de Vries <tdevries@suse.de>
1329
1330 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
1331 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
1332 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
1333 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
1334 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
1335 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
1336 * testsuite/libgomp.c/declare-variant-3.h: New header file.
1337
2cfb33fc
GA
13382022-02-22 Thomas Schwinge <thomas@codesourcery.com>
1339
1340 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
1341 gang-redundant execution.
1342
13432022-02-22 Tom de Vries <tdevries@suse.de>
1344
1345 PR target/99555
1346 * config/nvptx/bar.c (generation_to_barrier): New function, copied
1347 from config/rtems/bar.c.
1348 (futex_wait, futex_wake): New function.
1349 (do_spin, do_wait): New function, copied from config/linux/wait.h.
1350 (gomp_barrier_wait_end, gomp_barrier_wait_last)
1351 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
1352 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
1353 and replace with include of config/linux/bar.c.
1354 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
1355 (gomp_barrier_init): Init new fields.
1356 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
1357 workarounds.
1358 * testsuite/libgomp.c/pr99555-1.c: Same.
1359 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
1360
13612022-02-22 Tom de Vries <tdevries@suse.de>
1362
1363 PR testsuite/104146
1364 * testsuite/libgomp.c++/pr96390.C: Add additional-option
1365 -foffload=-Wa,--verify for nvptx.
1366 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
1367
875e493b
GA
13682022-02-15 Tobias Burnus <tobias@codesourcery.com>
1369
1370 * testsuite/libgomp.fortran/depend-4.f90: New test.
1371
a645583d
GA
13722022-02-10 Tobias Burnus <tobias@codesourcery.com>
1373
1374 PR c++/102204
1375 * testsuite/libgomp.c++/target-virtual-1.C: New test.
1376
13772022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
1378
1379 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
1380 * target.c (copy_firstprivate_data): Copy only if host address is not
1381 NULL.
1382 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
1383 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
1384 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
1385 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
1386 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
1387 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
1388 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
1389 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
1390 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
1391 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
1392
2a2fda2d
GA
13932022-02-08 Jakub Jelinek <jakub@redhat.com>
1394
1395 PR libgomp/104385
1396 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
1397 clear task->parent.
1398 * testsuite/libgomp.c/pr104385.c: New test.
1399
3c1cbde1
GA
14002022-02-04 Tobias Burnus <tobias@codesourcery.com>
1401
1402 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
1403 STOP of previous commit.
1404
14052022-02-04 Tobias Burnus <tobias@codesourcery.com>
1406
1407 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
1408 from is_64bit_aligned_.
1409 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
1410 and use it, more implicit none, remove unused argument.
1411
682ede39
GA
14122022-02-03 David Seifert <soap@gentoo.org>
1413 Jakub Jelinek <jakub@redhat.com>
1414
1415 * configure.ac: Support --disable-werror.
1416 * configure: Regenerate.
1417
ae7e4af9
GA
14182022-02-01 Tom de Vries <tdevries@suse.de>
1419
1420 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
1421 PR83812 workaround.
1422 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
1423 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
1424
14252022-02-01 Tom de Vries <tdevries@suse.de>
1426
1427 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
1428 num_workers for nvidia accelerator to fix libgomp error 'insufficient
1429 resources'.
1430 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1431 Same.
1432 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
1433
14342022-02-01 Tom de Vries <tdevries@suse.de>
1435
1436 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
1437 recursion depth.
1438 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
1439
1bb52662
GA
14402022-01-31 Martin Liska <mliska@suse.cz>
1441
1442 * acinclude.m4: Detect *_ld_is_mold and use it.
1443 * configure: Regenerate.
1444
99f17e99
GA
14452022-01-27 Tobias Burnus <tobias@codesourcery.com>
1446
1447 * libgomp.texi (OpenMP 5.0): Update implementation status.
1448
9dd44357
GA
14492022-01-21 Thomas Schwinge <thomas@codesourcery.com>
1450
1451 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
1452 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
1453 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1454 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1455 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1456 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1457 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1458 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1459 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1460 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1461 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1462 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1463 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
1464 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1465 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1466
fe1ad141
GA
14672022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
1468
1469 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
1470 "static") to make the device num available in the offload image.
1471
14722022-01-19 Martin Liska <mliska@suse.cz>
1473 Thomas Schwinge <thomas@codesourcery.com>
1474
1475 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
1476 patterns.
1477 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
1478 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1479 Likewise.
1480 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
1481 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1482 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1483 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
1484 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1485 Likewise.
1486 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
1487 Likewise.
1488 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
1489 Likewise.
1490 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
1491 Likewise.
1492 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
1493 Likewise.
1494 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
1495 Likewise.
1496 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
1497 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1498 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1499
7a761ae6
GA
15002022-01-18 Martin Liska <mliska@suse.cz>
1501
1502 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
1503 in dg-warning.
1504 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
1505 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1506 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
1507 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1508 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1509 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
1510 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
1511 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
1512 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
1513 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
1514 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
1515 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
1516 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
1517 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1518 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1519
fc829782
GA
15202022-01-17 Thomas Schwinge <thomas@codesourcery.com>
1521
1522 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
1523 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
1524 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1525
15262022-01-17 Julian Brown <julian@codesourcery.com>
1527 Thomas Schwinge <thomas@codesourcery.com>
1528
1529 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
1530 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
1531 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
1532
1e942d7c
GA
15332022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1534 Andrew Stubbs <ams@codesourcery.com>
1535
1536 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
1537 the number of teams and threads if necessary.
1538 (gcn_exec): Automatically set the number of gangs and workers if
1539 necessary.
1540
ad3f0d08
GA
15412022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
1542
1543 * testsuite/libgomp.fortran/allocate-1.c: New test.
1544 * testsuite/libgomp.fortran/allocate-1.f90: New test.
1545 * libgomp.texi: Remove string that says that allocate clause
1546 support is for C/C++ only.
1547
15482022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1549
1550 * testsuite/libgomp.c-c++-common/on_device_arch.h
1551 (any_device_arch, any_device_arch_intel_mic): New.
1552 * testsuite/lib/libgomp.exp
1553 (check_effective_target_offload_device_any_intel_mic): New.
1554 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
1555 * testsuite/libgomp.fortran/target10.f90: Likewise.
1556
15572022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1558
1559 PR tree-optimization/102192
1560 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
1561 '-Wuninitialized' diagnostics.
1562
15632022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1564
1565 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
1566 current '-Wuninitialized' diagnostics.
1567 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
1568 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
1569 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
1570 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
1571 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1572 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
1573 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
1574 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1575 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1576 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1577 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
1578 Likewise.
1579
15802022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1581
1582 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
1583 for 'offload_device_intel_mic'.
1584
15852022-01-13 Julian Brown <julian@codesourcery.com>
1586 Thomas Schwinge <thomas@codesourcery.com>
1587
1588 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
1589 offloading execution XFAIL.
1590
15912022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1592
1593 PR middle-end/100280
1594 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1595 Update.
1596 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
1597 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1598 Likewise.
1599
16002022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1601
1602 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1603 Enhance.
1604 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1605 Likewise.
1606 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
1607 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
1608 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
1609 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
1610 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1611 Likewise.
1612 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1613 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1614 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1615 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1616
7d11b64b
GA
16172022-01-04 Tobias Burnus <tobias@codesourcery.com>
1618
1619 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
1620 * testsuite/libgomp.fortran/target10.f90: Likewise.
1621
16222022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
1623
1624 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
1625 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
1626 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
1627
a4ae8c37
GA
16282022-01-03 Jakub Jelinek <jakub@redhat.com>
1629
1630 * libgomp.texi: Bump @copying's copyright year.
1631
7f1239cb
GA
16322021-12-13 Tobias Burnus <tobias@codesourcery.com>
1633
1634 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
1635 * testsuite/libgomp.fortran/atomic-19.f90: New test.
1636
0bceef16
GA
16372021-12-10 Andrew Stubbs <ams@codesourcery.com>
1638
1639 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
1640 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
1641 table, not individual symbols.
1642
4b4839e3
GA
16432021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
1644
1645 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
1646 "target offload_device_nonshared_as"
1647 * testsuite/libgomp.c++/target-this-3.C: Likewise.
1648 * testsuite/libgomp.c++/target-this-4.C: Likewise.
1649
641ff219
GA
16502021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
1651
1652 * target.c (gomp_map_vars_existing): Make sure attached pointer is
1653 not overwritten during cross-host/device copying.
1654 (gomp_update): Likewise.
1655 (gomp_exit_data): Likewise.
1656 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
1657 * testsuite/libgomp.c++/target-12.C: Likewise.
1658 * testsuite/libgomp.c++/target-15.C: Likewise.
1659 * testsuite/libgomp.c++/target-16.C: Likewise.
1660 * testsuite/libgomp.c++/target-17.C: Likewise.
1661 * testsuite/libgomp.c++/target-21.C: Likewise.
1662 * testsuite/libgomp.c++/target-23.C: Likewise.
1663 * testsuite/libgomp.c/target-23.c: Likewise.
1664 * testsuite/libgomp.c/target-29.c: Likewise.
1665 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
1666
16672021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
1668
1669 PR middle-end/92120
1670 * libgomp.h (gomp_attach_pointer): Add bool parameter.
1671 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
1672 (goacc_enter_data_internal): Likewise.
1673 * target.c (gomp_map_vars_existing): Update assert condition to
1674 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
1675 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
1676 parameter, add support for mapping a pointer with NULL target.
1677 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
1678 parameter, add support for attaching a pointer with NULL target.
1679 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
1680 gomp_attach_pointer, add handling for
1681 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
1682 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
1683 * testsuite/libgomp.c++/target-23.C: New testcase.
1684 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
1685 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
1686 * testsuite/libgomp.c++/target-this-1.C: New testcase.
1687 * testsuite/libgomp.c++/target-this-2.C: New testcase.
1688 * testsuite/libgomp.c++/target-this-3.C: New testcase.
1689 * testsuite/libgomp.c++/target-this-4.C: New testcase.
1690 * testsuite/libgomp.c++/target-this-5.C: New testcase.
1691
70e4cb66
GA
16922021-12-04 Tobias Burnus <tobias@codesourcery.com>
1693
1694 * libgomp.texi (OpenMP 5.1): Update status.
1695
16962021-12-04 Tobias Burnus <tobias@codesourcery.com>
1697
1698 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
1699
ea6ef320
GA
17002021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
1701
1702 PR fortran/90030
1703 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
1704 * testsuite/libgomp.fortran/pr90030.f90: New test.
1705
c177e806
GA
17062021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1707 Thomas Schwinge <thomas@codesourcery.com>
1708
1709 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
1710 temporary skip.
1711
17122021-11-30 Cesar Philippidis <cesar@codesourcery.com>
1713 Thomas Schwinge <thomas@codesourcery.com>
1714
1715 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
1716 skip.
1717
87cd82c8
GA
17182021-11-29 Richard Biener <rguenther@suse.de>
1719
1720 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
1721 return.
1722
d9ca4b45
GA
17232021-11-24 Jakub Jelinek <jakub@redhat.com>
1724
1725 PR middle-end/103384
1726 * testsuite/libgomp.c/declare-variant-2.c: New test.
1727
483092d3
GA
17282021-11-18 David Edelsohn <dje.gcc@gmail.com>
1729
1730 * alloc.c (gomp_aligned_alloc): Fix typo.
1731
17322021-11-18 Jakub Jelinek <jakub@redhat.com>
1733
1734 PR libgomp/102838
1735 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
1736 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
1737 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
1738 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1739 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
1740 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
1741 gomp_aligned_alloc instead of team_malloc.
1742
17432021-11-18 Jakub Jelinek <jakub@redhat.com>
1744
1745 PR libgomp/102838
1746 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
1747 memalign over posix_memalign over aligned_alloc over fallback
1748 with malloc instead of aligned_alloc over _aligned_alloc over
1749 posix_memalign over memalign over fallback with malloc. For
1750 aligned_alloc, round up size up to multiple of al.
1751
6b1695f4
GA
17522021-11-16 Jakub Jelinek <jakub@redhat.com>
1753
1754 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
1755 construct as implemented.
1756
e2b57363
GA
17572021-11-15 Tobias Burnus <tobias@codesourcery.com>
1758
1759 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1760
17612021-11-15 Jakub Jelinek <jakub@redhat.com>
1762
1763 * task.c (gomp_create_target_task): Copy args array as well.
1764 * target.c (gomp_target_fallback): Add args argument.
1765 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
1766 (GOMP_target): Adjust gomp_target_fallback caller.
1767 (GOMP_target_ext): Likewise.
1768 (gomp_target_task_fn): Likewise.
1769 * config/nvptx/team.c (gomp_nvptx_main): Set
1770 gomp_global_icv.thread_limit_var.
1771 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
1772
17732021-11-15 Jakub Jelinek <jakub@redhat.com>
1774
1775 * config/nvptx/team.c (__gomp_team_num): Define as
1776 __attribute__((shared)) var.
1777 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
1778 * config/nvptx/target.c (__gomp_team_num): Declare as
1779 extern __attribute__((shared)) var.
1780 (GOMP_teams4): Use __gomp_team_num as the team number instead of
1781 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
1782 is bigger than num_blocks, use num_teams_lower teams and arrange for
1783 bumping of __gomp_team_num if !first and returning false once we run
1784 out of teams.
1785 * config/nvptx/teams.c (__gomp_team_num): Declare as
1786 extern __attribute__((shared)) var.
1787 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
1788
17892021-11-15 Jakub Jelinek <jakub@redhat.com>
1790
1791 * testsuite/libgomp.c/teams-5.c: New test.
1792
af2852b9
GA
17932021-11-12 Jakub Jelinek <jakub@redhat.com>
1794
1795 PR target/103201
1796 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1797 to ...
1798 * config/gcn/teams.c: ... here. New file.
1799
18002021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
1801
1802 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
1803 implicit map handling to allow a "superset" existing map as valid case.
1804 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
1805 (get_implicit): New function to extract implicit status.
1806 (gomp_map_fields_existing): Adjust arguments in calls to
1807 gomp_map_vars_existing, and add uses of get_implicit.
1808 (gomp_map_vars_internal): Likewise.
1809 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
1810
18112021-11-12 Jakub Jelinek <jakub@redhat.com>
1812
1813 * libgomp_g.h (GOMP_teams4): Declare.
1814 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
1815 * target.c (GOMP_teams4): New function.
1816 * config/nvptx/target.c (GOMP_teams): Remove.
1817 (GOMP_teams4): New function.
1818 * config/gcn/target.c (GOMP_teams): Remove.
1819 (GOMP_teams4): New function.
1820 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
1821 teams instead of <= 2.
1822 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
1823
b39265d4
GA
18242021-11-11 Tobias Burnus <tobias@codesourcery.com>
1825
1826 * testsuite/libgomp.fortran/teams-1.f90: New test.
1827
18282021-11-11 Jakub Jelinek <jakub@redhat.com>
1829
1830 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
1831 * team.c (struct gomp_thread_start_data): Likewise.
1832 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
1833 (gomp_team_start): Initialize start_data->num_teams and
1834 start_data->team_num. Update nthr->num_teams and nthr->team_num.
1835 * teams.c (gomp_num_teams, gomp_team_num): Remove.
1836 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
1837 instead of gomp_num_teams and gomp_team_num.
1838 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
1839 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
1840 * testsuite/libgomp.c/teams-4.c: New test.
1841
18422021-11-11 Jakub Jelinek <jakub@redhat.com>
1843
1844 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
1845
c9b1334e
GA
18462021-11-09 Thomas Schwinge <thomas@codesourcery.com>
1847
1848 * env.c (parse_gomp_openacc_dim): Restore parsing.
1849
0ef94462
GA
18502021-10-30 Tobias Burnus <tobias@codesourcery.com>
1851
1852 PR middle-end/102972
1853 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
1854 parallel construct.
1855 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
1856 * testsuite/libgomp.c/target-3.c: Likewise.
1857 * testsuite/libgomp.c/target-5.c: Likewise.
1858 * testsuite/libgomp.c/target-6.c: Likewise.
1859 * testsuite/libgomp.c/target-teams-1.c: Likewise.
1860 * testsuite/libgomp.c/teams-1.c: Likewise.
1861 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1862 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
1863 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1864 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
1865 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
1866 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
1867 * testsuite/libgomp.fortran/teams1.f90: Likewise.
1868
4c61300f
GA
18692021-10-29 Aldy Hernandez <aldyh@redhat.com>
1870
1871 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1872 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1873
04a2cf3f
GA
18742021-10-27 Jakub Jelinek <jakub@redhat.com>
1875
1876 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1877 aren't implemented for Fortran yet.
1878
18792021-10-27 Jakub Jelinek <jakub@redhat.com>
1880
1881 * testsuite/libgomp.c/loop-26.c: New test.
1882 * testsuite/libgomp.c/loop-27.c: New test.
1883
b621508d
GA
18842021-10-25 Tobias Burnus <tobias@codesourcery.com>
1885
1886 PR testsuite/102910
1887 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1888 instead of #include <alloca.h> + alloca.
1889
ae5c5406
GA
18902021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
1891
1892 * libgomp.texi (Support of strictly structured blocks in Fortran):
1893 Adjust to 'Y'.
1894 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1895
674dda6b
GA
18962021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
1897
1898 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1899 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1900
19012021-10-20 Jakub Jelinek <jakub@redhat.com>
1902
1903 PR libgomp/102838
1904 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1905 (struct gomp_work_share): Only use aligned(64) attribute if
1906 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1907 add padding before lock to ensure lock is at offset 64 bytes
1908 into the structure.
1909 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1910 New poor man's static assertions.
1911 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1912 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1913
19142021-10-20 Aldy Hernandez <aldyh@redhat.com>
1915 Richard Biener <rguenther@suse.de>
1916
1917 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1918
ce4d1f63
GA
19192021-10-18 Jakub Jelinek <jakub@redhat.com>
1920
1921 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1922 && gomp_places_list_len < count after nfirst <= nlast loop condition.
1923
19242021-10-18 Tobias Burnus <tobias@codesourcery.com>
1925
1926 PR fortran/102086
1927 PR fortran/92189
1928 PR fortran/92621
1929 PR fortran/101308
1930 PR fortran/101309
1931 PR fortran/101635
1932 PR fortran/92482
1933 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1934
93d183a5
GA
19352021-10-15 Jakub Jelinek <jakub@redhat.com>
1936
1937 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1938 type from char [50] to const char *.
1939 (places_array): Add a testcase for simplified syntax place followed
1940 by length or length and stride.
1941
19422021-10-15 Jakub Jelinek <jakub@redhat.com>
1943
1944 * env.c (parse_one_place): Handle non-negative-number the same
1945 as { non-negative-number }. Reject even !number:1 and
1946 !number:1:stride or !place:1 or !place:1:stride instead of just
1947 length other than 1.
1948 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1949 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1950 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1951 as implemented.
1952 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1953 simplified syntax.
1954
19552021-10-15 Jakub Jelinek <jakub@redhat.com>
1956
1957 * env.c (parse_schedule): For strtoul or strtoull calls which don't
1958 clearly reject return value 0 as invalid handle the case where end
1959 pointer is the same as first argument as invalid.
1960 (parse_unsigned_long_1): Likewise.
1961 (parse_one_place): Likewise.
1962 (parse_places_var): Likewise.
1963 (parse_stacksize): Likewise.
1964 (parse_spincount): Likewise.
1965 (parse_affinity): Likewise.
1966 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
1967 Make code valid C89.
1968 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1969 For strtoul calls which don't clearly reject return value 0 as
1970 invalid handle the case where end pointer is the same as first
1971 argument as invalid.
1972 (gomp_affinity_init_level_1): Likewise.
1973 (gomp_affinity_init_numa_domains): Likewise.
1974 * config/rtems/proc.c (parse_thread_pools): Likewise.
1975
19762021-10-15 Jakub Jelinek <jakub@redhat.com>
1977
1978 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1979 after creating count places clean up and return immediately.
1980 * testsuite/libgomp.c/places-6.c: New test.
1981 * testsuite/libgomp.c/places-7.c: New test.
1982 * testsuite/libgomp.c/places-8.c: New test.
1983 * testsuite/libgomp.c/places-9.c: New test.
1984 * testsuite/libgomp.c/places-10.c: New test.
1985
19862021-10-15 Jakub Jelinek <jakub@redhat.com>
1987
1988 * env.c (parse_places_var): Handle numa_domains as level 5.
1989 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1990 function.
1991 (gomp_affinity_init_level): Use it instead of
1992 gomp_affinity_init_level_1 for level == 5.
1993 * testsuite/libgomp.c/places-5.c: New test.
1994
19952021-10-15 Jakub Jelinek <jakub@redhat.com>
1996
1997 * env.c (parse_places_var): Handle ll_caches as level 4.
1998 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1999 function.
2000 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
2001 last level cache.
2002 (gomp_affinity_init_level): Likewise.
2003 * testsuite/libgomp.c/places-1.c: New test.
2004 * testsuite/libgomp.c/places-2.c: New test.
2005 * testsuite/libgomp.c/places-3.c: New test.
2006 * testsuite/libgomp.c/places-4.c: New test.
2007
5d5885c9
GA
20082021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
2009
2010 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
2011 directive.
2012
20132021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
2014
2015 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
2016
52055987
GA
20172021-10-12 Julian Brown <julian@codesourcery.com>
2018
2019 * target.c (gomp_copy_host2dev): Release device lock on cbuf
2020 error path.
2021
20222021-10-12 Tobias Burnus <tobias@codesourcery.com>
2023
2024 * testsuite/libgomp.fortran/icv-3.f90: New.
2025 * testsuite/libgomp.fortran/icv-4.f90: New.
2026
20272021-10-12 Jakub Jelinek <jakub@redhat.com>
2028
2029 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
2030 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
2031 OMP_TEAMS_THREAD_LIMIT): Document.
2032
20332021-10-12 Jakub Jelinek <jakub@redhat.com>
2034
2035 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
2036 to avoid makeinfo warnings.
2037
20382021-10-12 Jakub Jelinek <jakub@redhat.com>
2039
2040 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
2041 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
2042
20432021-10-12 Jakub Jelinek <jakub@redhat.com>
2044
2045 PR libgomp/102628
2046 PR libgomp/102668
2047 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
2048 allocation sizes from 420 to 320 and from 768 to 568.
2049 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
2050 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
2051 for cr from 16 to 4.
2052
20532021-10-12 Jakub Jelinek <jakub@redhat.com>
2054
2055 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
2056 * testsuite/libgomp.c/scan-12.c: Likewise.
2057 * testsuite/libgomp.c/scan-13.c: Likewise.
2058 * testsuite/libgomp.c/scan-14.c: Likewise.
2059 * testsuite/libgomp.c/scan-15.c: Likewise.
2060 * testsuite/libgomp.c/scan-16.c: Likewise.
2061 * testsuite/libgomp.c/scan-17.c: Likewise.
2062 * testsuite/libgomp.c/scan-18.c: Likewise.
2063 * testsuite/libgomp.c/scan-19.c: Likewise.
2064 * testsuite/libgomp.c/scan-20.c: Likewise.
2065 * testsuite/libgomp.c/scan-21.c: Likewise.
2066 * testsuite/libgomp.c/scan-22.c: Likewise.
2067 * testsuite/libgomp.c++/scan-9.C: Likewise.
2068 * testsuite/libgomp.c++/scan-10.C: Likewise.
2069 * testsuite/libgomp.c++/scan-11.C: Likewise.
2070 * testsuite/libgomp.c++/scan-12.C: Likewise.
2071 * testsuite/libgomp.c++/scan-13.C: Likewise.
2072 * testsuite/libgomp.c++/scan-14.C: Likewise.
2073 * testsuite/libgomp.c++/scan-15.C: Likewise.
2074 * testsuite/libgomp.c++/scan-16.C: Likewise.
2075
20762021-10-12 Kewen Lin <linkw@linux.ibm.com>
2077
2078 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
2079
732d7638
GA
20802021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
2081
2082 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
2083 omp_atv_serialized.
2084 * omp.h.in: Add deprecated flag for omp_atv_sequential.
2085 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
2086 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
2087 * testsuite/libgomp.fortran/alloc-12.f90: New test.
2088
20892021-10-11 Jakub Jelinek <jakub@redhat.com>
2090
2091 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
2092 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
2093 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
2094 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
2095 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
2096 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
2097 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
2098 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
2099 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
2100 omp_set_teams_thread_limit{,_,_8_}.
2101 * icv.c (omp_set_num_teams, omp_get_max_teams,
2102 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
2103 functions.
2104 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
2105 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
2106 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
2107 vars.
2108 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
2109 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
2110 is not specified, use gomp_nteams_var.
2111 * fortran.c (omp_set_num_teams, omp_get_max_teams,
2112 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
2113 ialias_redirect.
2114 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
2115 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
2116 omp_get_teams_thread_limit_): New functions.
2117
c9db17b8
GA
21182021-10-09 liuhongt <hongtao.liu@intel.com>
2119
2120 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
2121 * testsuite/libgomp.c++/scan-11.C: Ditto.
2122 * testsuite/libgomp.c++/scan-12.C: Ditto.
2123 * testsuite/libgomp.c++/scan-13.C: Ditto.
2124 * testsuite/libgomp.c++/scan-14.C: Ditto.
2125 * testsuite/libgomp.c++/scan-15.C: Ditto.
2126 * testsuite/libgomp.c++/scan-16.C: Ditto.
2127 * testsuite/libgomp.c++/scan-9.C: Ditto.
2128 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
2129 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
2130 * testsuite/libgomp.c/scan-11.c: Ditto.
2131 * testsuite/libgomp.c/scan-12.c: Ditto.
2132 * testsuite/libgomp.c/scan-13.c: Ditto.
2133 * testsuite/libgomp.c/scan-14.c: Ditto.
2134 * testsuite/libgomp.c/scan-15.c: Ditto.
2135 * testsuite/libgomp.c/scan-16.c: Ditto.
2136 * testsuite/libgomp.c/scan-17.c: Ditto.
2137 * testsuite/libgomp.c/scan-18.c: Ditto.
2138 * testsuite/libgomp.c/scan-19.c: Ditto.
2139 * testsuite/libgomp.c/scan-20.c: Ditto.
2140 * testsuite/libgomp.c/scan-21.c: Ditto.
2141 * testsuite/libgomp.c/scan-22.c: Ditto.
2142
21432021-10-09 Jakub Jelinek <jakub@redhat.com>
2144
2145 * libgomp.texi (OpenMP 5.1): Mention implemented support for
2146 structured block sequences in C/C++. Mention support for
2147 unconstrained/reproducible modifiers on order clause.
2148 Mention partial (C/C++ only) support of extentensions to atomics
2149 construct. Mention partial (C/C++ on clause only) support of
2150 align/allocator modifiers on allocate clause.
2151
e3e07b89
GA
21522021-10-02 Tobias Burnus <tobias@codesourcery.com>
2153
2154 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
2155 based on libgomp.c-c++-common/order-reproducible-1.c.
2156 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
2157 * testsuite/libgomp.fortran/my-usleep.c: New test.
2158
9d116bcc
GA
21592021-10-01 Tobias Burnus <tobias@codesourcery.com>
2160
2161 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
2162 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
2163 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
2164 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
2165 based on libgomp.c-c++-common/alloc-9.c.
2166
21672021-10-01 Jakub Jelinek <jakub@redhat.com>
2168
2169 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
2170 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
2171
21722021-10-01 Jakub Jelinek <jakub@redhat.com>
2173
2174 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
2175 ialias_redirect.
2176 * env.c (handle_omp_display_env): Use ialias_call.
2177 * icv-device.c: Move ialias right below each function.
2178 (omp_get_device_num): Use ialias_call.
2179 * fortran.c (omp_fulfill_event): Add ialias_redirect.
2180 * icv.c (omp_get_active_level): Add ialias_redirect.
2181
21822021-10-01 Jakub Jelinek <jakub@redhat.com>
2183
2184 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
2185 __alloc_align__ (1) attribute.
2186 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
2187
24679983
GA
21882021-09-30 Tobias Burnus <tobias@codesourcery.com>
2189
2190 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
2191 for -fintrinsic-modules-path= warning of the C compiler.
2192 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
2193 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
2194
21952021-09-30 Tobias Burnus <tobias@codesourcery.com>
2196
2197 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
2198 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
2199 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
2200 omp_realloc): Add.
2201 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
2202 omp_realloc): Add.
2203 * testsuite/libgomp.fortran/alloc-10.f90: New test.
2204 * testsuite/libgomp.fortran/alloc-6.f90: New test.
2205 * testsuite/libgomp.fortran/alloc-7.c: New test.
2206 * testsuite/libgomp.fortran/alloc-7.f90: New test.
2207 * testsuite/libgomp.fortran/alloc-8.f90: New test.
2208 * testsuite/libgomp.fortran/alloc-9.f90: New test.
2209
22102021-09-30 Jakub Jelinek <jakub@redhat.com>
2211
2212 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
2213 omp_realloc): New prototypes.
2214 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
2215 attribute.
2216 * allocator.c: Include string.h.
2217 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
2218 variable and use it instead of alignment so that when retrying the old
2219 alignment is used again. Don't retry if new alignment is the same
2220 as old alignment, unless allocator had pool size.
2221 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
2222 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
2223 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
2224 omp_aligned_calloc and omp_realloc.
2225 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
2226 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
2227 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
2228 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
2229 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
2230 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
2231
fd133479
GA
22322021-09-28 Tobias Burnus <tobias@codesourcery.com>
2233
2234 PR libgomp/96661
2235 * configure.ac: Only check for int-type = 2*size_t support when
2236 building with Fortran support.
2237 * configure: Regenerate.
2238
22392021-09-28 Thomas Schwinge <thomas@codesourcery.com>
2240
2241 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
2242 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2243
cf966403
GA
22442021-09-27 Aldy Hernandez <aldyh@redhat.com>
2245
2246 * team.c: Initialize start_data.
2247 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
2248 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
2249
22502021-09-27 Tobias Burnus <tobias@codesourcery.com>
2251
2252 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
2253 dg-message back to dg-note.
2254
22552021-09-27 Tobias Burnus <tobias@codesourcery.com>
2256
2257 PR fortran/94070
2258 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
2259 expected dg-note output.
2260
e4777439
GA
22612021-09-22 Tobias Burnus <tobias@codesourcery.com>
2262
2263 PR fortran/55534
2264 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
2265 r12-3722 by removing -Wno-missing-include-dirs.
2266 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
2267
22682021-09-22 Jakub Jelinek <jakub@redhat.com>
2269
2270 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
2271 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
2272
2c41dd82
GA
22732021-09-21 Tobias Burnus <tobias@codesourcery.com>
2274
2275 PR fortran/55534
2276 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
2277 to ALWAYS_CFLAGS.
2278 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2279
cf74e7b5
GA
22802021-09-18 Jakub Jelinek <jakub@redhat.com>
2281
2282 * testsuite/libgomp.c++/default-1.C: New test.
2283 * testsuite/libgomp.c-c++-common/default-1.c: New test.
2284 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
2285 to default clause in C and C++" as implemented.
2286
0a4cb439
GA
22872021-09-17 Julian Brown <julian@codesourcery.com>
2288
2289 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
2290
22912021-09-17 Julian Brown <julian@codesourcery.com>
2292
2293 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
2294
22952021-09-17 Jakub Jelinek <jakub@redhat.com>
2296
2297 * libgomp.texi (OpenMP 5.1): Spelling fix,
2298 declare variante -> declare variant.
2299
23002021-09-17 Jakub Jelinek <jakub@redhat.com>
2301
2302 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
2303 Use /* */ comments instead of //.
2304 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
2305 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
2306 * testsuite/libgomp.c++/atomic-16.C: New test.
2307 * testsuite/libgomp.c++/atomic-17.C: New test.
2308
a26206ec
GA
23092021-09-10 Jakub Jelinek <jakub@redhat.com>
2310
2311 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
2312 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
2313 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
2314
b2748138
GA
23152021-09-07 Tobias Burnus <tobias@codesourcery.com>
2316
2317 * libgomp.texi (OpenMP Implementation Status): Extend
2318 OpenMP 5.0 section.
2319 (OpenACC Profiling Interface): Fix typo.
2320
23212021-09-07 Tobias Burnus <tobias@codesourcery.com>
2322
2323 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
2324 not to 4.5; link to new section.
2325 (OpenMP Implementation Status): New.
2326
9f99555f
GA
23272021-09-06 Thomas Schwinge <thomas@codesourcery.com>
2328
2329 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
2330
7b739540
GA
23312021-09-03 Tobias Burnus <tobias@codesourcery.com>
2332
2333 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
2334 dg-output.
2335 * testsuite/libgomp.fortran/error-1.f90: Likewise.
2336
38b19c5b
GA
23372021-08-23 Thomas Schwinge <thomas@codesourcery.com>
2338 Jakub Jelinek <jakub@redhat.com>
2339
2340 * testsuite/libgomp.c/address-space-1.c: New file.
2341
23422021-08-23 Thomas Schwinge <thomas@codesourcery.com>
2343
2344 * testsuite/lib/libgomp.exp
2345 (check_effective_target_offload_target_intelmic): Remove 'proc'.
2346 (check_effective_target_offload_device_intel_mic): New 'proc'.
2347 * testsuite/libgomp.c-c++-common/on_device_arch.h
2348 (device_arch_intel_mic, on_device_arch_intel_mic): New.
2349 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
2350 'dg-xfail-run-if'.
2351 * testsuite/libgomp.fortran/target10.f90: Likewise.
2352
23532021-08-23 Tobias Burnus <tobias@codesourcery.com>
2354
2355 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
2356 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
2357 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
2358 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
2359
23602021-08-23 Jakub Jelinek <jakub@redhat.com>
2361
2362 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
2363 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
2364 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
2365
5b2876f9
GA
23662021-08-22 Thomas Schwinge <thomas@codesourcery.com>
2367
2368 * config/nvptx/error.c (fwrite, exit): Override, too.
2369 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
2370 of offloading testing.
2371 * testsuite/libgomp.fortran/error-1.f90: Likewise.
2372
7c9e1645
GA
23732021-08-20 Tobias Burnus <tobias@codesourcery.com>
2374
2375 * testsuite/libgomp.fortran/error-1.f90: New test.
2376
23772021-08-20 Jakub Jelinek <jakub@redhat.com>
2378
2379 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
2380 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
2381 * error.c (GOMP_warning, GOMP_error): New functions.
2382 * testsuite/libgomp.c-c++-common/error-1.c: New test.
2383
6e529985
GA
23842021-08-18 Tobias Burnus <tobias@codesourcery.com>
2385
2386 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
2387 omp_target_free. omp_target_is_present, omp_target_memcpy,
2388 omp_target_memcpy_rect, omp_target_associate_ptr,
2389 omp_target_disassociate_ptr): Add interface.
2390 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
2391 omp_target_free. omp_target_is_present, omp_target_memcpy,
2392 omp_target_memcpy_rect, omp_target_associate_ptr,
2393 omp_target_disassociate_ptr): Add interface.
2394 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
2395 interface block for omp_alloc + omp_free.
2396 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
2397 * testsuite/libgomp.fortran/refcount-1.f90: New test.
2398 * testsuite/libgomp.fortran/target-12.f90: New test.
2399
24002021-08-18 Jakub Jelinek <jakub@redhat.com>
2401
2402 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
2403
2d14d64b
GA
24042021-08-17 Tobias Burnus <tobias@codesourcery.com>
2405
2406 * testsuite/libgomp.fortran/scope-1.f90: New test.
2407 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
2408
24092021-08-17 Jakub Jelinek <jakub@redhat.com>
2410
2411 * Makefile.am (libgomp_la_SOURCES): Add scope.c
2412 * Makefile.in: Regenerated.
2413 * libgomp_g.h (GOMP_scope_start): Declare.
2414 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
2415 * scope.c: New file.
2416 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
2417 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
2418
9d1d9fc8
GA
24192021-08-16 Thomas Schwinge <thomas@codesourcery.com>
2420
2421 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
2422 '?:' issues.
2423
24242021-08-16 Tobias Burnus <tobias@codesourcery.com>
2425
2426 * testsuite/libgomp.fortran/masked-1.f90: New test.
2427
261512fa
GA
24282021-08-13 Thomas Schwinge <thomas@codesourcery.com>
2429
2430 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
2431
72be20e2
GA
24322021-08-12 Jakub Jelinek <jakub@redhat.com>
2433
2434 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
2435
24362021-08-12 Tobias Burnus <tobias@codesourcery.com>
2437
2438 * env.c (parse_bind_var): Accept 'primary' as alias for
2439 'master'.
2440 (omp_display_env): Add TODO comment to
2441 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
2442 * libgomp.texi: Change 'master thread' to 'primary thread'
2443 in line with OpenMP 5.1.
2444 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
2445 omp_proc_bind_master is an alias of it.
2446 (OMP_PROC_BIND): Mention 'PRIMARY'.
2447 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
2448 (omp_proc_bind_primary): Add.
2449 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
2450 * omp_lib.f90.in (omp_proc_bind_primary): Add.
2451 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
2452 * omp_lib.h.in (omp_proc_bind_primary): Add.
2453 * testsuite/libgomp.c/affinity-1.c: Check that
2454 'primary' works and is identical to 'master'.
2455
37768150
GA
24562021-08-09 Julian Brown <julian@codesourcery.com>
2457 Kwok Cheung Yeung <kcy@codesourcery.com>
2458 Thomas Schwinge <thomas@codesourcery.com>
2459
2460 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
2461 16.
2462 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
2463 [acc_device_radeon]: Update.
2464 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
2465 [ACC_DEVICE_TYPE_radeon]: Likewise.
2466 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2467 [acc_device_radeon]: Likewise.
2468 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
2469 [ACC_DEVICE_TYPE_radeon]: Likewise.
2470 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
2471 'openacc_radeon_accel_selected' and '-O0'.
2472 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2473
8ebf4fb5
GA
24742021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
2475
2476 * icv-device.c (omp_get_device_num): New API function, host side.
2477 * fortran.c (omp_get_device_num_): New interface function.
2478 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
2479 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
2480 omp_get_device_num_.
2481 * libgomp.texi (omp_get_device_num): Add documentation for new API
2482 function.
2483 * omp.h.in (omp_get_device_num): Add declaration.
2484 * omp_lib.f90.in (omp_get_device_num): Likewise.
2485 * omp_lib.h.in (omp_get_device_num): Likewise.
2486 * target.c (gomp_load_image_to_device): If additional entry for device
2487 number exists at end of returned entries from 'load_image_func' hook,
2488 copy the assigned device number over to the device variable.
2489 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
2490 (omp_get_device_num): New API function, device side.
2491 * plugin/plugin-gcn.c ("symcat.h"): Add include.
2492 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
2493 at end of returned 'target_table' entries.
2494 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
2495 (omp_get_device_num): New API function, device side.
2496 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
2497 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
2498 at end of returned 'target_table' entries.
2499 * testsuite/lib/libgomp.exp
2500 (check_effective_target_offload_target_intelmic): New function for
2501 testing for intelmic offloading.
2502 * testsuite/libgomp.c-c++-common/target-45.c: New test.
2503 * testsuite/libgomp.fortran/target10.f90: New test.
2504
4d17ca1b
GA
25052021-07-30 Thomas Schwinge <thomas@codesourcery.com>
2506 Ulrich Drepper <drepper@redhat.com>
2507
2508 * fortran.c (omp_display_env_, omp_display_env_8_): Only
2509 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
2510
25112021-07-29 Thomas Schwinge <thomas@codesourcery.com>
2512 Julian Brown <julian@codesourcery.com>
2513 Kwok Cheung Yeung <kcy@codesourcery.com>
2514
2515 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
2516 's%oaccdevlow%oaccloops%g'.
2517 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
2518 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
2519 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
2520 Likewise.
2521 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
2522 Likewise.
2523 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
2524 Likewise.
2525 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
2526 Likewise.
2527 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
2528 Likewise.
2529 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
2530 Likewise.
2531 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
2532 Likewise.
2533 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
2534 Likewise.
2535 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
2536
872c1a56
ML
25372021-07-29 Aldy Hernandez <aldyh@redhat.com>
2538
2539 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
2540 threader.
2541 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
2542
af3f12e6
GA
25432021-07-27 Ulrich Drepper <drepper@gmail.com>
2544
2545 * env.c (wait_policy, stacksize): New static variables,
2546 move out of handle_omp_display_env.
2547 (omp_display_env): New function. The meat of the old
2548 handle_omp_display_env function.
2549 (handle_omp_display_env): Change to not take parameters
2550 and instead use the global variables. Only perform
2551 parsing, defer to omp_display_env for the implementation.
2552 (initialize_env): Remove local variables wait_policy and
2553 stacksize. Don't pass parameters to handle_omp_display_env.
2554 * fortran.c: Add ialias_redirect for omp_display_env.
2555 (omp_display_env_, omp_display_env_8_): New functions.
2556 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
2557 omp_display_env_, and omp_display_env_8_.
2558 * omp.h.in: Declare omp_display_env.
2559 * omp_lib.f90.in: Likewise.
2560 * omp_lib.h.in: Likewise.
2561
25622021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2563 Julian Brown <julian@codesourcery.com>
2564
2565 * target.c (gomp_coalesce_buf_add): Update comment.
2566 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
2567 'aq && cbuf'.
2568 (gomp_map_vars_internal): Only 'if (!aq)', do
2569 'gomp_coalesce_buf_add'.
2570 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
2571 XFAIL.
2572
25732021-07-27 Julian Brown <julian@codesourcery.com>
2574 Thomas Schwinge <thomas@codesourcery.com>
2575
2576 * libgomp.h (gomp_copy_host2dev): Update prototype.
2577 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
2578 argument to gomp_copy_host2dev (false).
2579 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
2580 (copy_data): Don't free src.
2581 (queue_push_copy): Remove free_src handling.
2582 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
2583 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
2584 snapshotting.
2585 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
2586 queue_push_copy.
2587 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
2588 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
2589 data when true, and set up deferred freeing of temporary buffer.
2590 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
2591 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
2592 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
2593 calls to gomp_copy_host2dev with appropriate ephemeral argument.
2594 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
2595 XFAIL.
2596
25972021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2598 Tom de Vries <tom@codesourcery.com>
2599
2600 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
2601 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
2602
26032021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2604
2605 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
2606 sequencing of 'async' data copying vs. profiling events.
2607 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
2608 Likewise.
2609
26102021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2611 Julian Brown <julian@codesourcery.com>
2612
2613 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
2614 'async'/'wait' issue.
2615 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
2616 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
2617 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
2618
419c6c68
GA
26192021-07-21 Thomas Schwinge <thomas@codesourcery.com>
2620 Joseph Myers <joseph@codesourcery.com>
2621 Cesar Philippidis <cesar@codesourcery.com>
2622
2623 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
2624 file.
2625 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
2626 Likewise.
2627 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
2628 Likewise.
2629 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
2630
92d45509
GA
26312021-07-20 Thomas Schwinge <thomas@codesourcery.com>
2632
2633 PR target/101484
2634 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
2635 '-Wno-error=array-bounds'.
2636 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
2637 * libgomp.h [__AMDGCN__]: Likewise.
2638
21ea2f93
GA
26392021-07-19 Thomas Schwinge <thomas@codesourcery.com>
2640
2641 PR target/101484
2642 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
2643 * libgomp.h [__AMDGCN__]: Likewise.
2644
0e775456
GA
26452021-07-13 Jakub Jelinek <jakub@redhat.com>
2646 Florian Weimer <fweimer@redhat.com>
2647
2648 * config/linux/sem.h: Don't include limits.h.
2649 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
2650 * config/linux/affinity.c: Include limits.h.
2651
bea7c16a
GA
26522021-07-01 Jakub Jelinek <jakub@redhat.com>
2653
2654 PR middle-end/94366
2655 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
2656
6bc18203
GA
26572021-06-29 Tobias Burnus <tobias@codesourcery.com>
2658
2659 PR other/67300
2660 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
2661 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
2662 avoid disabling other offload targets.
2663 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
2664 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2665 * testsuite/libgomp.c/target-44.c: Likewise.
2666
26672021-06-29 Tobias Burnus <tobias@codesourcery.com>
2668
2669 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
2670 target has shared memory and disable some scalar pointer/allocatable
2671 checks if not as firstprivate does not work.
2672
90708f87
GA
26732021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
2674
2675 PR testsuite/101114
2676 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
2677 Add "target offload_device_nonshared_as" condition for enabling test.
2678
9aa8327e
GA
26792021-06-24 Jakub Jelinek <jakub@redhat.com>
2680
2681 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
2682 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
2683 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
2684 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
2685
fcf617f0
GA
26862021-06-23 Jakub Jelinek <jakub@redhat.com>
2687
2688 PR middle-end/101167
2689 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
2690
688359a2
GA
26912021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
2692
2693 * hashtab.h (htab_clear): New function with initialization code
2694 factored out from...
2695 (htab_create): ...here, adjust to use htab_clear function.
2696 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
2697 special refcount values, add comments.
2698 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
2699 (REFCOUNT_LINK): Likewise.
2700 (REFCOUNT_STRUCTELEM): New special refcount range for structure
2701 element siblings.
2702 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
2703 sibling maps.
2704 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
2705 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
2706 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
2707 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
2708 (struct splay_tree_key_s): Add structelem_refcount and
2709 structelem_refcount_ptr fields into a union with dynamic_refcount.
2710 Add comments.
2711 (gomp_map_vars): Delete declaration.
2712 (gomp_map_vars_async): Likewise.
2713 (gomp_unmap_vars): Likewise.
2714 (gomp_unmap_vars_async): Likewise.
2715 (goacc_map_vars): New declaration.
2716 (goacc_unmap_vars): Likewise.
2717 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
2718 (goacc_enter_datum): Likewise.
2719 (goacc_enter_data_internal): Likewise.
2720 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
2721 and goacc_unmap_vars.
2722 (GOACC_data_start): Adjust to use goacc_map_vars.
2723 (GOACC_data_end): Adjust to use goacc_unmap_vars.
2724 * target.c (hash_entry_type): New typedef.
2725 (htab_alloc): New function hook for hashtab.h.
2726 (htab_free): Likewise.
2727 (htab_hash): Likewise.
2728 (htab_eq): Likewise.
2729 (hashtab.h): Add file include.
2730 (gomp_increment_refcount): New function.
2731 (gomp_decrement_refcount): Likewise.
2732 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
2733 gomp_increment_refcount.
2734 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
2735 to gomp_map_vars_existing.
2736 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
2737 variable to guard OpenMP specific paths, adjust calls to
2738 gomp_map_vars_existing, add structure element sibling splay_tree_key
2739 sequence creation code, adjust Fortran map case to avoid increment
2740 under OpenMP.
2741 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
2742 local refcount_set if caller passed in NULL, adjust call to
2743 gomp_map_vars_internal.
2744 (gomp_map_vars_async): Adjust and rename into...
2745 (goacc_map_vars): ...this new function, adjust call to
2746 gomp_map_vars_internal.
2747 (gomp_remove_splay_tree_key): New function with code factored out from
2748 gomp_remove_var_internal.
2749 (gomp_remove_var_internal): Add code to handle removing multiple
2750 splay_tree_key sequence for structure elements, adjust code to use
2751 gomp_remove_splay_tree_key for splay-tree key removal.
2752 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
2753 gomp_decrement_refcount.
2754 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
2755 local refcount_set if caller passed in NULL, adjust call to
2756 gomp_unmap_vars_internal.
2757 (gomp_unmap_vars_async): Adjust and rename into...
2758 (goacc_unmap_vars): ...this new function, adjust call to
2759 gomp_unmap_vars_internal.
2760 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
2761 gomp_unmap_vars.
2762 (GOMP_target_ext): Likewise.
2763 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
2764 (GOMP_target_data): Likewise.
2765 (GOMP_target_data_ext): Likewise.
2766 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
2767 (gomp_exit_data): Add refcount_set parameter, adjust to use
2768 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
2769 after main loop.
2770 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
2771 gomp_map_vars and gomp_exit_data.
2772 (gomp_target_task_fn): Likewise.
2773 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
2774 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
2775 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
2776 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
2777 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
2778 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
2779
ede6c356
GA
27802021-06-15 Tobias Burnus <tobias@codesourcery.com>
2781
2782 PR fortran/92568
2783 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2784
43c35d0d
GA
27852021-06-10 Andrew Stubbs <ams@codesourcery.com>
2786 Thomas Schwinge <thomas@codesourcery.com>
2787
2788 * libgomp.map (GOACC_2.0.2): New symbol version.
2789 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
2790 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
2791
27922021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2793 Andrew Stubbs <ams@codesourcery.com>
2794
2795 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
2796 extracted from...
2797 (GOACC_enter_exit_data): ... here.
2798 (GOACC_declare): Use it.
2799
28002021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2801
2802 * oacc-parallel.c (GOACC_declare): Move...
2803 * oacc-mem.c: ... here.
2804 * libgomp_g.h: Adjust.
2805
28062021-06-10 Andrew Stubbs <ams@codesourcery.com>
2807 Thomas Schwinge <thomas@codesourcery.com>
2808
2809 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2810 handling.
2811
28122021-06-10 Jakub Jelinek <jakub@redhat.com>
2813
2814 PR tree-optimization/100981
2815 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2816 dsdotr and dsdoti to 0.
2817
4f625f47
GA
28182021-06-09 H.J. Lu <hjl.tools@gmail.com>
2819
2820 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2821 if atomic compare-and-swap is supported on 'int'.
2822
28232021-06-09 Richard Biener <rguenther@suse.de>
2824
2825 PR tree-optimization/100981
2826 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2827
c6038721
GA
28282021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2829
2830 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2831 unconditionally.
2832 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2833 Update.
2834 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2835 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2836
28372021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2838
2839 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
2840 '-DACC_MEM_SHARED=0'.
2841 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2842 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2843 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2844 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2845 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2846 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2847 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2848 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2849 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2850 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2851 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2852 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2853 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2854 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2855 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
2856 'acc_device_radeon' testing.
2857 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2858 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2859 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2860 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
2861 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2862 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2863 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2864 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2865 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2866 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2867 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
2868 for non-'openacc_nvidia_accel_selected'.
2869 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2870 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
2871 all implement this checking".
2872 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2873 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2874 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2875 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2876 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2877
28782021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2879
2880 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2881 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2882
28832021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2884
2885 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2886 for 'acc_device_radeon'.
2887
28882021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2889
2890 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2891 for non-'acc_device_nvidia'.
2892
28932021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2894
2895 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2896 'acc_device_radeon' testing.
2897 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2898 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2899 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2900
29012021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2902
2903 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2904 require 'openacc_nvidia_accel_selected'. Fix up for
2905 'ACC_DEVICE_TYPE_radeon'.
2906
29072021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2908
2909 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2910 'openacc_nvidia_accel_selected'.
2911 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2912
29132021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2914
2915 * testsuite/lib/libgomp.exp
2916 (check_effective_target_openacc_radeon_accel_selected):
2917 Streamline.
2918
29192021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2920
2921 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2922 PR80547 workaround.
2923
29242021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2925
2926 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2927 <acc_device_nvidia>: Update comment.
2928
48166757
GA
29292021-05-28 Tobias Burnus <tobias@codesourcery.com>
2930
2931 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2932
cd62d089
GA
29332021-05-27 Jakub Jelinek <jakub@redhat.com>
2934
2935 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2936 check_effective_target_openacc_cublas,
2937 check_effective_target_openacc_cudart): New.
2938 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2939 target openacc_cublas.
2940 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2941 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2942 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2943 target openacc_cuda.
2944 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2945 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2946 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2947 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2948 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2949 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2950 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2951 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2952 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2953 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2954 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2955 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2956 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2957 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2958 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2959 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2960 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2961 targets openacc_cublas and openacc_cudart.
2962 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2963 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2964 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2965 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2966 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2967 Require effective target openacc_cudart.
2968 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2969 for effective target openacc_cuda and add && defined USE_CUDA_H to
2970 preprocessor conditionals. Guard -lcuda also on openacc_cuda
2971 effective target.
2972
01c59ef2
GA
29732021-05-26 Jakub Jelinek <jakub@redhat.com>
2974
2975 PR libgomp/100573
2976 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2977 GOMP_target_end_data, GOMP_target_update_ext,
2978 GOMP_target_enter_exit_data): New dummy entrypoints.
2979 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2980 GOMP_target_end_data, GOMP_target_update_ext,
2981 GOMP_target_enter_exit_data): Likewise.
2982 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2983 OMPFROM, OMPTO): Define.
2984 (main): Remove #pragma omp target teams around all the tests.
2985 * testsuite/libgomp.c-c++-common/target-41.c: New test.
2986 * testsuite/libgomp.c-c++-common/target-42.c: New test.
2987
2bc6dace
GA
29882021-05-25 Jakub Jelinek <jakub@redhat.com>
2989
2990 PR middle-end/99928
2991 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2992
637569df
GA
29932021-05-24 Tobias Burnus <tobias@codesourcery.com>
2994
2995 PR fortran/86470
2996 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2997 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2998 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2999
15d30d2f
GA
30002021-05-22 Thomas Schwinge <thomas@codesourcery.com>
3001
3002 PR testsuite/90115
3003 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
3004 uninteresting/varying diagnostics.
3005
2832d51b
GA
30062021-05-21 Thomas Schwinge <thomas@codesourcery.com>
3007
3008 PR middle-end/90115
3009 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
3010 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3011
30122021-05-21 Thomas Schwinge <thomas@codesourcery.com>
3013
3014 PR middle-end/90115
3015 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
3016 file.
3017 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
3018 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
3019 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3020 Likewise.
3021 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3022 Likewise.
3023 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3024 Likewise.
3025 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3026 Likewise.
3027 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3028 Likewise.
3029 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3030 Likewise.
3031 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3032 Likewise.
3033 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3034 Likewise.
3035 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3036 Likewise.
3037 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3038 Likewise.
3039 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3040 Likewise.
3041 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3042 Likewise.
3043 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3044 Likewise.
3045 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3046 Likewise.
3047 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3048 Likewise.
3049 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3050 Likewise.
3051 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3052 Likewise.
3053 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3054 Likewise.
3055 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3056 Likewise.
3057 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3058 Likewise.
3059 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3060 Likewise.
3061 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3062 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3063 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3064 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
3065 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3066 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3067 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3068 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3069 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3070 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3071 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3072 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3073 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3074 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3075 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
3076 Likewise.
3077 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
3078 Likewise.
3079 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
3080 Likewise.
3081 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3082 Likewise.
3083 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
3084 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
3085 Likewise.
3086 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3087 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3088 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3089 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3090 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
3091 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3092 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3093 Likewise.
3094 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3095 Likewise.
3096 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3097 Likewise.
3098 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3099 Likewise.
3100 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3101 Likewise.
3102 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3103 Likewise.
3104 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3105 Likewise.
3106 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3107 Likewise.
3108 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3109 Likewise.
3110 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3111 Likewise.
3112 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3113 Likewise.
3114 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3115 Likewise.
3116 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3117 Likewise.
3118 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
3119 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3120 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
3121 Likewise.
3122 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
3123 Likewise.
3124 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3125 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3126 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3127
31282021-05-21 Julian Brown <julian@codesourcery.com>
3129 Chung-Lin Tang <cltang@codesourcery.com>
3130 Thomas Schwinge <thomas@codesourcery.com>
3131
3132 PR middle-end/90115
3133 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
3134 test.
3135 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
3136 Likewise.
3137 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
3138 Likewise.
3139
31402021-05-21 Thomas Schwinge <thomas@codesourcery.com>
3141
3142 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
3143 for nvptx offloading.
3144
31452021-05-21 Tobias Burnus <tobias@codesourcery.com>
3146
3147 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
3148
65f32e5d
GA
31492021-05-19 Thomas Schwinge <thomas@codesourcery.com>
3150
3151 PR target/83812
3152 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
3153
31542021-05-19 Julian Brown <julian@codesourcery.com>
3155
3156 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
3157
a8daf9a1
GA
31582021-05-18 Thomas Schwinge <thomas@codesourcery.com>
3159
3160 * testsuite/lib/libgomp.exp
3161 (check_effective_target_offload_target_nvptx): Don't shadow global
3162 'offload_targets' variable.
3163
31642021-05-18 Thomas Schwinge <thomas@codesourcery.com>
3165
3166 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
3167 '-latomic' to nvptx offloading compilation.
3168 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
3169
31702021-05-18 Thomas Schwinge <thomas@codesourcery.com>
3171
3172 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
3173 offloading compilation.
3174
a7ffc1ef
GA
31752021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
3176
3177 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
3178 if new tasks generated.
3179 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
3180
87a7d10c
GA
31812021-05-14 Tobias Burnus <tobias@codesourcery.com>
3182
3183 * testsuite/libgomp.fortran/parallel-master.f90: New test.
3184
f9af11c7
GA
31852021-05-13 Martin Liska <mliska@suse.cz>
3186
3187 PR testsuite/100569
3188 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
3189 * testsuite/libgomp.c/pr46032-2.c: Likewise.
3190 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
3191 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
3192
0ff3a0f2
GA
31932021-05-12 Tobias Burnus <tobias@codesourcery.com>
3194
3195 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
3196 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
3197
037e3661
GA
31982021-05-11 Jakub Jelinek <jakub@redhat.com>
3199
3200 PR middle-end/100471
3201 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
3202 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
3203 reduction pointer.
3204 * testsuite/libgomp.c/task-reduction-4.c: New test.
3205
62d87a32
GA
32062021-05-07 Tobias Burnus <tobias@codesourcery.com>
3207 Tom de Vries <tdevries@suse.de>
3208
3209 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
3210 complex/floating-point || + && reduction with 'omp target'.
3211 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
3212
99e8df7a
GA
32132021-05-04 Tobias Burnus <tobias@codesourcery.com>
3214
3215 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
3216 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
3217 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
3218 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
3219
32202021-05-04 Tobias Burnus <tobias@codesourcery.com>
3221
3222 PR testsuite/100397
3223 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
3224 declaration to scope of non-'depend'-guarded assignment to avoid races.
3225
e690396d
GA
32262021-05-03 Tom de Vries <tdevries@suse.de>
3227
3228 PR target/100321
3229 * testsuite/libgomp.c/target-44.c: New test.
3230
9326049e
GA
32312021-04-30 Roman Zhuykov <zhroma@ispras.ru>
3232
3233 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
3234
3c8e539d
GA
32352021-04-29 Tom de Vries <tdevries@suse.de>
3236
3237 * testsuite/libgomp.c/pr81778.c: New test.
3238
32392021-04-29 Tom de Vries <tdevries@suse.de>
3240
3241 PR target/100232
3242 * testsuite/libgomp.c/target-43.c: New file.
3243
e4ff4ffb
GA
32442021-04-28 Jakub Jelinek <jakub@redhat.com>
3245 Tobias Burnus <tobias@codesourcery.com>
3246
3247 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
3248 * target.c (gomp_load_plugin_for_device): If set and if a plugin
3249 can't be dlopened, silently assume it has no devices.
3250 * Makefile.in: Regenerate.
3251 * config.h.in: Regenerate.
3252 * configure: Regenerate.
3253
c0fa3f2f
GA
32542021-04-26 Tobias Burnus <tobias@codesourcery.com>
3255
3256 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
3257 Use [Ww]arning in dg-bogus as FE diagnostic and default
3258 diagnostic differ and the result depends on ENABLE_OFFLOAD.
3259 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3260 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3261 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3262
32632021-04-26 Tobias Burnus <tobias@codesourcery.com>
3264
3265 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
3266 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
3267 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3268 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3269 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3270
32712021-04-26 Thomas Schwinge <thomas@codesourcery.com>
3272 Nathan Sidwell <nathan@codesourcery.com>
3273 Tom de Vries <vries@codesourcery.com>
3274 Julian Brown <julian@codesourcery.com>
3275 Kwok Cheung Yeung <kcy@codesourcery.com>
3276
3277 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
3278 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
3279 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3280 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3281 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3282 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3283 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
3284 Likewise.
3285 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
3286 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3287 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3288 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
3289 Likewise.
3290 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3291 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3292 Likewise.
3293 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3294 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3295 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3296 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3297 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
3298 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
3299 Likewise.
3300 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
3301 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3302 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3303 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3304 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3305 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3306 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3307 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3308 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3309 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3310 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3311
33122021-04-26 Thomas Schwinge <thomas@codesourcery.com>
3313
3314 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
3315 compile with '-w'.
3316 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3317 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
3318 Likewise.
3319 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3320 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
3321 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3322 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3323 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3324 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3325 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3326
e3948473
GA
33272021-04-22 Richard Biener <rguenther@suse.de>
3328
3329 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
3330 only on nvptx-none.
3331
c1ef0c92
GA
33322021-04-21 Tobias Burnus <tobias@codesourcery.com>
3333
3334 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
3335 omp_depend_kind instead of defining it as 16.
3336
33372021-04-21 Tobias Burnus <tobias@codesourcery.com>
3338
3339 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
3340 New, based on check_effective_target_offload_target_nvptx.
3341 (check_effective_target_offload_target_nvptx): Call it.
3342 (check_effective_target_offload_target_amdgcn): New.
3343 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
3344 Require target offload_target_nvptx || offload_target_amdgcn.
3345 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
3346 * testsuite/libgomp.c/pr86416-1.c: Likewise.
3347 * testsuite/libgomp.c/pr86416-2.c: Likewise.
3348
33492021-04-21 Tobias Burnus <tobias@codesourcery.com>
3350
3351 * testsuite/libgomp.fortran/depobj-1.f90: New test.
3352
6e81e015
GA
33532021-04-19 Thomas Schwinge <thomas@codesourcery.com>
3354
3355 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3356 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
3357 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3358 Likewise.
3359 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3360 Likewise.
3361 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3362
ee351f7f
GA
33632021-04-15 Thomas Schwinge <thomas@codesourcery.com>
3364
3365 PR target/99555
3366 * testsuite/lib/libgomp.exp
3367 (check_effective_target_offload_device_nvptx): New.
3368 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
3369 resolved, make sure that we exit quickly, with error status,
3370 XFAILed.
3371 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
3372 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
3373
df3b1289
GA
33742021-04-14 Jakub Jelinek <jakub@redhat.com>
3375
3376 PR testsuite/100071
3377 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
3378 cp = omp_alloc with cp, p arguments instead of cq, q and call
3379 c_f_pointer after last cq = omp_alloc with cq, q.
3380
a0ecde22
GA
33812021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
3382
3383 PR middle-end/98088
3384 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
3385 for loop with GT/GE condition.
3386 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
3387
3115aba8
GA
33882021-04-09 Thomas Schwinge <thomas@codesourcery.com>
3389
3390 PR middle-end/84991
3391 PR middle-end/84992
3392 PR middle-end/90779
3393 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
3394
33952021-04-09 Jakub Jelinek <jakub@redhat.com>
3396
3397 PR libgomp/99984
3398 * team.c (gomp_thread_start): Call pthread_setspecific for
3399 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
3400 has been initialized to avoid false positive warning.
3401
65374af2
GA
34022021-03-29 Tobias Burnus <tobias@codesourcery.com>
3403
3404 PR target/99555
3405 * testsuite/lib/on_device_arch.c: Move to ...
3406 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
3407 * testsuite/libgomp.fortran/on_device_arch.c: New file;
3408 #include on_device_arch.h.
3409 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
3410 on_device_arch.h instead of using dg-additional-source.
3411 * testsuite/libgomp.c/pr99555-1.c: Likewise.
3412 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
3413 on_device_arch.c without relative paths.
3414
4493b1c1
GA
34152021-03-25 Thomas Schwinge <thomas@codesourcery.com>
3416
3417 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
3418 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
3419 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
3420 * config.h.in: Regenerate.
3421 * configure: Likewise.
3422
34232021-03-25 Thomas Schwinge <thomas@codesourcery.com>
3424
3425 PR target/99555
3426 * testsuite/lib/on_device_arch.c: New file.
3427 * testsuite/libgomp.c/pr99555-1.c: Likewise.
3428 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
3429 skip for nvptx offloading, with error status.
3430 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
3431
34322021-03-25 Thomas Schwinge <thomas@codesourcery.com>
3433
3434 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
3435 OpenACC 'serial' construct diagnostic for nvptx offloading.
3436
3c5b6d24
GA
34372021-03-15 Tobias Burnus <tobias@codesourcery.com>
3438
3439 PR c++/99509
3440 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
3441
6da2762a
GA
34422021-03-12 Tobias Burnus <tobias@codesourcery.com>
3443
3444 PR fortran/98858
3445 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
3446
67f10d28
GA
34472021-03-04 Jakub Jelinek <jakub@redhat.com>
3448
3449 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
3450 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
3451 checking of -m32 or -mx32 options on the command line.
3452 * config.h.in: Regenerated.
3453 * configure: Regenerated.
3454
ec9dc4fa
GA
34552021-02-27 Iain Sandoe <iain@sandoe.co.uk>
3456
3457 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
3458 support from the target.
3459
daa68844
GA
34602021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
3461 Jakub Jelinek <jakub@redhat.com>
3462
3463 PR libgomp/98738
3464 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
3465 (struct gomp_task): Replace detach and completion_sem fields with
3466 union containing completion_sem and detach_team. Add deferred_p
3467 field.
3468 (struct gomp_team): Remove task_detach_queue.
3469 * task.c: Include assert.h.
3470 (gomp_init_task): Initialize deferred_p and completion_sem fields.
3471 Rearrange initialization order of fields.
3472 (task_fulfilled_p): Delete.
3473 (GOMP_task): Use address of task as the event handle. Remove
3474 initialization of detach field. Initialize deferred_p field.
3475 Use automatic local for completion_sem. Initialize detach_team field
3476 for deferred tasks.
3477 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
3478 Set kind of suspended detach task to GOMP_TASK_DETACHED and
3479 decrement task_running_count. Move finish_cancelled block out of
3480 else branch. Relocate call to gomp_team_barrier_done.
3481 (GOMP_taskwait): Handle tasks with completion events that have not
3482 been fulfilled.
3483 (GOMP_taskgroup_end): Likewise.
3484 (omp_fulfill_event): Use address of task as event handle. Post to
3485 completion_sem for undeferred tasks. Clear detach_team if task
3486 has not finished. For finished tasks, handle post-execution tasks,
3487 call gomp_team_barrier_wake if necessary, and free task.
3488 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
3489 (free_team): Remove free of task_detach_queue.
3490 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
3491 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
3492 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
3493 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
3494 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
3495 Change data-sharing of detach events on enclosing parallel to private.
3496 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
3497 taskwait directive.
3498 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
3499 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
3500 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
3501 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
3502 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
3503 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
3504 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
3505 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
3506 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
3507 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
3508 Change data-sharing of detach events on enclosing parallel to private.
3509 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
3510 taskwait directive.
3511 * testsuite/libgomp.fortran/task-detach-7.f90: New.
3512 * testsuite/libgomp.fortran/task-detach-8.f90: New.
3513 * testsuite/libgomp.fortran/task-detach-9.f90: New.
3514 * testsuite/libgomp.fortran/task-detach-10.f90: New.
3515 * testsuite/libgomp.fortran/task-detach-11.f90: New.
3516
2f5765cf
GA
35172021-02-22 Tobias Burnus <tobias@codesourcery.com>
3518
3519 PR fortran/99171
3520 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
3521
acc0ee5c
GA
35222021-02-17 Julian Brown <julian@codesourcery.com>
3523
3524 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
3525 expected errors.
3526
35272021-02-17 Julian Brown <julian@codesourcery.com>
3528
3529 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
3530 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
3531
0c5cdb31
GA
35322021-02-11 Uroš Bizjak <ubizjak@gmail.com>
3533
3534 * config/linux/x86/futex.h (__futex_wait):
3535 Revert output type back to long.
3536 (__futex_wake): Ditto.
3537 (futex_wait): Update for revert.
3538 (futex_wake): Ditto.
3539
35402021-02-11 Uroš Bizjak <ubizjak@gmail.com>
3541
3542 * config/linux/x86/futex.h (__futex_wait): New static inline
3543 wrapper function. Correct output type to int and
3544 timeout type to void *.
3545 (__futex_wake): New static inline wrapper function.
3546 Correct output type to int.
3547 (futex_wait): Use __futex_wait.
3548 (futex_wake): Use __futex_wake.
3549
4b37c3ea
GA
35502021-02-10 Julian Brown <julian@codesourcery.com>
3551
3552 PR fortran/98979
3553 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
3554 errors.
3555
a19dd5e6
GA
35562021-02-04 Julian Brown <julian@codesourcery.com>
3557
3558 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
3559
9faaa807
GA
35602021-02-03 Andrew Stubbs <ams@codesourcery.com>
3561
3562 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3563 EF_AMDGPU_MACH_AMDGCN_GFX908.
3564 (gcn_gfx908_s): New constant string.
3565 (isa_hsa_name): Add gfx908.
3566 (isa_code): Add gfx908.
3567
161e4c08
GA
35682021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
3569
3570 * libgomp.texi (omp_fulfill_event): New entry.
3571
b93d0e36
GA
35722021-01-20 Jakub Jelinek <jakub@redhat.com>
3573
3574 * task.c (GOMP_task): Rename priority argument to priority_arg,
3575 add priority automatic variable and modify that variable. Instead of
3576 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
3577 check flags for that bit.
3578
f35a4f96
GA
35792021-01-19 Tobias Burnus <tobias@codesourcery.com>
3580
3581 PR fortran/98476
3582 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
3583
ef1f8ee6
GA
35842021-01-18 Andreas Schwab <schwab@suse.de>
3585
3586 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
3587
35882021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
3589
3590 * config/rtems/sem.h (gomp_sem_getcount): New function.
3591
35922021-01-18 Jakub Jelinek <jakub@redhat.com>
3593
3594 * config/linux/sem.h (gomp_sem_getcount): New function.
3595 * config/posix/sem.h (gomp_sem_getcount): New function.
3596 * config/posix/sem.c (gomp_sem_getcount): New function.
3597 * config/accel/sem.h (gomp_sem_getcount): New function.
3598 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
3599 (omp_fulfill_event): Likewise.
3600
59cf67d1
GA
36012021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
3602
3603 * fortran.c (omp_fulfill_event_): New.
3604 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
3605 (struct gomp_team): Add task_detach_queue and task_detach_count
3606 fields.
3607 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
3608 * libgomp_g.h (GOMP_task): Add extra argument.
3609 * omp.h.in (enum omp_event_handle_t): New.
3610 (omp_fulfill_event): New.
3611 * omp_lib.f90.in (omp_event_handle_kind): New.
3612 (omp_fulfill_event): New.
3613 * omp_lib.h.in (omp_event_handle_kind): New.
3614 (omp_fulfill_event): Declare.
3615 * priority_queue.c (priority_tree_find): New.
3616 (priority_list_find): New.
3617 (priority_queue_find): New.
3618 * priority_queue.h (priority_queue_predicate): New.
3619 (priority_queue_find): New.
3620 * task.c (gomp_init_task): Initialize detach field.
3621 (task_fulfilled_p): New.
3622 (GOMP_task): Add detach argument. Ignore detach argument if
3623 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
3624 field. Copy address of completion_sem into detach argument and
3625 into the start of the data record. Wait for detach event if task
3626 not deferred.
3627 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
3628 Remove completed tasks and requeue dependent tasks.
3629 (omp_fulfill_event): New.
3630 * team.c (gomp_new_team): Initialize task_detach_queue and
3631 task_detach_count fields.
3632 (free_team): Free task_detach_queue field.
3633 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
3634 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
3635 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
3636 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
3637 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
3638 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
3639 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
3640 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
3641 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
3642 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
3643 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
3644 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
3645
2f7f0d32
GA
36462021-01-15 Jakub Jelinek <jakub@redhat.com>
3647
3648 PR target/70454
3649 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
3650 be added through preprocessor check on
3651 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
3652
5fff80fd
GA
36532021-01-14 Thomas Schwinge <thomas@codesourcery.com>
3654
3655 PR libgomp/65099
3656 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
3657 configurations.
3658 * configure: Regenerate.
3659 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
3660 check.
3661
651b8a50
GA
36622021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
3663
3664 * configure: Re-generate.
3665
36662021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
3667
3668 * configure: Re-generate.
3669
36702021-01-05 Julian Brown <julian@codesourcery.com>
3671
3672 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
3673 (struct ptx_device): Add omp_stacks struct.
3674 (nvptx_open_device): Initialise cached-stacks housekeeping info.
3675 (nvptx_close_device): Free cached stacks block and mutex.
3676 (nvptx_stacks_free): New function.
3677 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
3678 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
3679 (nvptx_stacks_alloc): Rename to...
3680 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
3681 size or smaller is required.
3682 (nvptx_stacks_free): Remove.
3683 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
3684 during kernel execution.
3685
b6dd195a
GA
36862021-01-01 Jakub Jelinek <jakub@redhat.com>
3687
3688 * libgomp.texi: Bump @copying's copyright year.
3689
2d3425a5
GA
36902020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
3691
3692 * libgomp.texi (Top): Avoid bad "up" link.
3693
b1a2242e
GA
36942020-12-18 Jakub Jelinek <jakub@redhat.com>
3695
3696 * testsuite/libgomp.c/task-6.c: New test.
3697
ca2bd949
GA
36982020-12-09 Andrew Stubbs <ams@codesourcery.com>
3699
3700 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
3701 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
3702
f6e8e279
GA
37032020-12-08 Tobias Burnus <tobias@codesourcery.com>
3704
3705 * testsuite/libgomp.fortran/scan-1.f90: New test.
3706
6e1edf48
GA
37072020-12-05 Iain Sandoe <iain@sandoe.co.uk>
3708
3709 PR target/97865
3710 * configure: Regenerate.
3711
a9625c50
GA
37122020-11-29 John David Anglin <danglin@gcc.gnu.org>
3713
3714 * configure: Regenerate.
3715
360258da
GA
37162020-11-25 Thomas Schwinge <thomas@codesourcery.com>
3717
3718 * testsuite/libgomp.oacc-c++/cache-1.C: New.
3719 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
3720
37212020-11-25 Andrew Stubbs <ams@codesourcery.com>
3722
3723 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
3724 expected results.
3725
1e2c9a27
GA
37262020-11-24 Andrew Stubbs <ams@codesourcery.com>
3727
3728 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
3729 (reserved): Delete unused define.
3730
37312020-11-24 Thomas Schwinge <thomas@codesourcery.com>
3732
3733 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
3734 Tcl 8.5-specific behavior.
3735 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3736
25bb75f8
GA
37372020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
3738
3739 * env.c (gomp_global_icv): Remove nest_var field. Add
3740 max_active_levels_var field.
3741 (gomp_max_active_levels_var): Remove.
3742 (parse_boolean): Return true on success.
3743 (handle_omp_display_env): Express OMP_NESTED in terms of
3744 max_active_levels_var. Change format specifier for
3745 max_active_levels_var.
3746 (initialize_env): Set max_active_levels_var from
3747 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
3748 OMP_PROC_BIND.
3749 * icv.c (omp_set_nested): Express in terms of
3750 max_active_levels_var.
3751 (omp_get_nested): Likewise.
3752 (omp_set_max_active_levels): Use max_active_levels_var field instead
3753 of gomp_max_active_levels_var.
3754 (omp_get_max_active_levels): Likewise.
3755 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
3756 max_active_levels_var field.
3757 (gomp_supported_active_levels): Set to UCHAR_MAX.
3758 (gomp_max_active_levels_var): Delete.
3759 * libgomp.texi (omp_get_nested): Update documentation.
3760 (omp_set_nested): Likewise.
3761 (OMP_MAX_ACTIVE_LEVELS): Likewise.
3762 (OMP_NESTED): Likewise.
3763 (OMP_NUM_THREADS): Likewise.
3764 (OMP_PROC_BIND): Likewise.
3765 * parallel.c (gomp_resolve_num_threads): Replace reference
3766 to nest_var with max_active_levels_var. Use max_active_levels_var
3767 field instead of gomp_max_active_levels_var.
3768
37692020-11-18 Tobias Burnus <tobias@codesourcery.com>
3770
3771 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3772 nvptx_usleep; use also for device={arch(gcn)}.
3773
faab61b5
GA
37742020-11-14 Jakub Jelinek <jakub@redhat.com>
3775
3776 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
3777 (foo): Add tests for non-VLA private and firstprivate clauses on
3778 omp task.
3779 (bar): Likewise. Remove taking of address from private/firstprivate
3780 variables.
3781 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
3782 (foo): Add p, q, px and s arguments. Add tests for array reductions
3783 and for non-VLA private and firstprivate clauses on omp task.
3784 (bar): Removed.
3785 (main): Adjust foo caller. Don't call bar.
3786
77f67db2
GA
37872020-11-13 Gergö Barany <gergo@codesourcery.com>
3788 Thomas Schwinge <thomas@codesourcery.com>
3789
3790 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3791 New.
3792 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3793 Likewise.
3794 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3795 Likewise.
3796 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3797 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3798
37992020-11-13 Gergö Barany <gergo@codesourcery.com>
3800 Thomas Schwinge <thomas@codesourcery.com>
3801
3802 PR fortran/94358
3803 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3804
38052020-11-13 Jakub Jelinek <jakub@redhat.com>
3806
3807 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3808 for array reductions.
3809 (main): Adjust foo callers.
3810
a5a11525
GA
38112020-11-12 Jakub Jelinek <jakub@redhat.com>
3812
3813 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
3814 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
3815 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
3816 * allocator.c (omp_aligned_alloc): New for now static function,
3817 add alignment argument and handle it.
3818 (omp_alloc): Reimplement using omp_aligned_alloc.
3819 (GOMP_alloc, GOMP_free): New functions.
3820 (omp_free): Add ialias.
3821 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
3822 * testsuite/libgomp.c++/allocate-1.C: New test.
3823
38242020-11-12 Thomas Schwinge <thomas@codesourcery.com>
3825
3826 PR fortran/97782
3827 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3828
bb622641
GA
38292020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
3830
3831 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
3832 usable.
3833 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
3834 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
3835 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
3836 (goacc_enter_data_internal): Likewise.
3837 * target.c (gomp_map_vars_internal):
3838 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
3839 of gomp_attach_pointer for OpenMP cases.
3840 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
3841 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
3842 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
3843
0cfd9109
GA
38442020-11-05 Ulrich Drepper <drepper@redhat.com>
3845 Kwok Cheung Yeung <kcy@codesourcery.com>
3846
3847 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
3848 * Makefile.in: Regenerate.
3849 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
3850 pragmas to ignore -Wdeprecated-declarations warnings.
3851 * icv.c: Likewise.
3852 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
3853 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
3854 and omp_get_nested with __GOMP_DEPRECATED_5_0.
3855 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
3856 deprecated.
3857 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
3858 to test options.
3859 * testsuite/libgomp.c/affinity-1.c: Likewise.
3860 * testsuite/libgomp.c/affinity-2.c: Likewise.
3861 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
3862 * testsuite/libgomp.c/lib-1.c: Likewise.
3863 * testsuite/libgomp.c/nested-1.c: Likewise.
3864 * testsuite/libgomp.c/nested-2.c: Likewise.
3865 * testsuite/libgomp.c/nested-3.c: Likewise.
3866 * testsuite/libgomp.c/pr32362-1.c: Likewise.
3867 * testsuite/libgomp.c/pr32362-2.c: Likewise.
3868 * testsuite/libgomp.c/pr32362-3.c: Likewise.
3869 * testsuite/libgomp.c/pr35549.c: Likewise.
3870 * testsuite/libgomp.c/pr42942.c: Likewise.
3871 * testsuite/libgomp.c/pr61200.c: Likewise.
3872 * testsuite/libgomp.c/sort-1.c: Likewise.
3873 * testsuite/libgomp.c/target-5.c: Likewise.
3874 * testsuite/libgomp.c/target-6.c: Likewise.
3875 * testsuite/libgomp.c/teams-1.c: Likewise.
3876 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3877 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3878 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3879 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
3880 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3881 * testsuite/libgomp.fortran/lib2.f: Likewise.
3882 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3883 * testsuite/libgomp.fortran/teams1.f90: Likewise.
3884
88ce3d5f
GA
38852020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3886
3887 PR target/85486
3888 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3889 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3890 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3891
38922020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3893
3894 PR testsuite/80219
3895 PR testsuite/85303
3896 * testsuite/lib/libgomp.exp (libgomp_init): Set
3897 'gcc_warning_prefix', 'gcc_error_prefix'.
3898
38992020-10-30 Jakub Jelinek <jakub@redhat.com>
3900
3901 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3902 even in field_tgt_clear initializer.
3903
e93aae4a
GA
39042020-10-28 Jakub Jelinek <jakub@redhat.com>
3905
3906 * testsuite/libgomp.c/target-42.c: New test.
3907
39082020-10-28 Jakub Jelinek <jakub@redhat.com>
3909 Tom de Vries <tdevries@suse.de>
3910
3911 PR testsuite/81690
3912 * testsuite/libgomp.c/usleep.h: New file.
3913 * testsuite/libgomp.c/target-32.c: Include usleep.h.
3914 (main): Use tgt_usleep instead of usleep.
3915 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3916 (main): Use tgt_usleep instead of usleep.
3917
39182020-10-28 Jakub Jelinek <jakub@redhat.com>
3919
3920 PR lto/96680
3921 * testsuite/libgomp.c/declare-variant-1.c: New test.
3922
56ddd5e2
GA
39232020-10-22 Jakub Jelinek <jakub@redhat.com>
3924
3925 * testsuite/libgomp.c/target-41.c: New test.
3926
39272020-10-22 Jakub Jelinek <jakub@redhat.com>
3928
3929 * icv.c (omp_get_initial_device): Remove including corresponding
3930 ialias.
3931 * icv-device.c (omp_get_initial_device): New function. Return
3932 gomp_get_num_devices (). Add ialias.
3933 * target.c (resolve_device): Don't fail with
3934 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3935 gomp_get_num_devices ().
3936 (omp_target_alloc, omp_target_free, omp_target_is_present,
3937 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3938 omp_target_disassociate_ptr, omp_pause_resource): Use
3939 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3940 first use in the functions, in uses dominated by the
3941 gomp_get_num_devices call use num_devices_openmp instead.
3942 * libgomp.texi (omp_get_initial_device): Document.
3943 * config/gcn/icv-device.c (omp_get_initial_device): New function.
3944 Add ialias.
3945 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3946 * testsuite/libgomp.c/target-40.c: New test.
3947
39482020-10-21 Jakub Jelinek <jakub@redhat.com>
3949
3950 * env.c (parse_target_offload): Change new_offload var type to int,
3951 preinitialize to -1, remove found var and test new_offload != -1
3952 instead of found.
3953
e2e04288
GA
39542020-10-20 Jakub Jelinek <jakub@redhat.com>
3955
3956 * target.c (gomp_target_init): Inside of the function, use automatic
3957 variables corresponding to num_devices, num_devices_openmp and devices
3958 global variables and update the globals only at the end of the
3959 function.
3960
39612020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
3962
3963 * env.c (gomp_target_offload_var): New.
3964 (parse_target_offload): New.
3965 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3966 (initialize_env): Parse OMP_TARGET_OFFLOAD.
3967 * libgomp.h (gomp_target_offload_t): New.
3968 (gomp_target_offload_var): New.
3969 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3970 * target.c (resolve_device): Generate error if device not found and
3971 offloading is mandatory.
3972 (gomp_target_fallback): Generate error if offloading is mandatory.
3973 (GOMP_target): Add argument in call to gomp_target_fallback.
3974 (GOMP_target_ext): Likewise.
3975 (gomp_target_data_fallback): Generate error if offloading is mandatory.
3976 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3977 (GOMP_target_data_ext): Likewise.
3978 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3979 (gomp_target_init): Return early if offloading is disabled.
3980
b85d5dc5
GA
39812020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
3982
3983 * libgomp.texi (omp_get_max_active_levels): Modify description.
3984 (omp_get_supported_active_levels): Make descriptions consistent.
3985
b2698c21
GA
39862020-10-14 Jakub Jelinek <jakub@redhat.com>
3987
3988 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3989
bdd74cc2
GA
39902020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
3991
3992 * env.c (gomp_max_active_levels_var): Initialize to
3993 gomp_supported_active_levels.
3994 (initialize_env): Limit gomp_max_active_levels_var to be at most
3995 equal to gomp_supported_active_levels.
3996 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3997 (omp_get_supported_active_levels_): New.
3998 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3999 to at most equal to gomp_supported_active_levels.
4000 (omp_get_supported_active_levels): New.
4001 * libgomp.h (gomp_supported_active_levels): New.
4002 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
4003 omp_get_supported_active_levels_.
4004 * libgomp.texi (omp_get_supported_active_levels): New.
4005 (omp_set_max_active_levels): Update. Add reference to
4006 omp_get_supported_active_levels.
4007 * omp.h.in (omp_get_supported_active_levels): New.
4008 * omp_lib.f90.in (omp_get_supported_active_levels): New.
4009 * omp_lib.h.in (omp_get_supported_active_levels): New.
4010 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
4011 against omp_get_supported_active_levels.
4012 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
4013
2baa36d4
GA
40142020-10-11 Clement Chigot <clement.chigot@atos.net>
4015
4016 * config/t-aix: Delete and recreate libgomp before creating
4017 FAT library.
4018
da9df699
GA
40192020-10-08 Tom de Vries <tdevries@suse.de>
4020
4021 PR libgomp/81802
4022 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
4023 dimensions.
4024
8e97b905
GA
40252020-10-06 Tom de Vries <tdevries@suse.de>
4026
4027 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
4028
40292020-10-06 Tom de Vries <tdevries@suse.de>
4030
4031 PR middle-end/90861
4032 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
4033
7e9282ae
GA
40342020-10-05 Tom de Vries <tdevries@suse.de>
4035
4036 PR fortran/95654
4037 * testsuite/libgomp.fortran/pr95654.f90: New test.
4038
b0b9b8f0
GA
40392020-10-02 Tobias Burnus <tobias@codesourcery.com>
4040
4041 * Makefile.in: Regenerate with automake 1.15.1.
4042 * aclocal.m4: Likewise.
4043 * configure: Likewise.
4044 * testsuite/Makefile.in: Likewise.
4045
660bfe61
GA
40462020-09-30 Andrew Stubbs <ams@codesourcery.com>
4047
4048 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
4049 and amdgcn targets.
4050
40512020-09-30 Tobias Burnus <tobias@codesourcery.com>
4052
4053 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
4054
93bca37c
GA
40552020-09-29 Andrew Stubbs <ams@codesourcery.com>
4056
4057 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
4058 total number of threads is one.
4059 (gomp_team_barrier_wake): Likewise.
4060 (gomp_team_barrier_wait_end): Likewise.
4061 (gomp_team_barrier_wait_cancel_end): Likewise.
4062 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
4063 (gomp_team_barrier_wake): Likewise.
4064 (gomp_team_barrier_wait_end): Likewise.
4065 (gomp_team_barrier_wait_cancel_end): Likewise.
4066 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
4067
e84761c6
GA
40682020-09-28 Tobias Burnus <tobias@codesourcery.com>
4069
4070 PR middle-end/96390
4071 * testsuite/libgomp.c++/pr96390.C: New test.
4072 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
4073
4383c595
GA
40742020-09-27 Clement Chigot <clement.chigot@atos.net>
4075
4076 * config/t-aix: Use $(AR) without -X32_64.
4077
cdd8f031
GA
40782020-09-25 Jakub Jelinek <jakub@redhat.com>
4079
4080 * testsuite/libgomp.c/loop-25.c: New test.
4081
521d2711
GA
40822020-09-22 Tobias Burnus <tobias@codesourcery.com>
4083
4084 PR fortran/95654
4085 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
4086
40872020-09-22 Tom de Vries <tdevries@suse.de>
4088
4089 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
4090 fails.
4091
ecde1b0a
GA
40922020-09-16 Nathan Sidwell <nathan@acm.org>
4093
4094 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
4095
9f7ab8c5
GA
40962020-09-15 Tobias Burnus <tobias@codesourcery.com>
4097
4098 PR fortran/96668
4099 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
4100
41012020-09-15 Tobias Burnus <tobias@codesourcery.com>
4102
4103 PR fortran/96668
4104 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
4105 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
4106 (gomp_map_vars_existing): Update call to it.
4107 (gomp_map_fields_existing): Likewise
4108 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
4109 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
4110 remapped.
4111 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
4112 GOMP_MAP_POINTER.
4113 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
4114 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
4115
50a71cd0
GA
41162020-09-14 Tom de Vries <tdevries@suse.de>
4117
4118 * config/nvptx/atomic.c: New file. Add
4119 __sync_val_compare_and_swap_16.
4120 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
4121 target offload_target_nvptx.
4122
31a05046
GA
41232020-09-08 Julian Brown <julian@codesourcery.com>
4124
4125 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
4126 iteration-ordering assumptions.
4127
41282020-09-08 Julian Brown <julian@codesourcery.com>
4129
4130 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
4131 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4132
5b9a3d2a
GA
41332020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
4134
4135 * plugin/plugin-nvptx.c (nvptx_free):
4136 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
4137 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
4138 comments.
4139
41402020-08-20 Tobias Burnus <tobias@codesourcery.com>
4141
4142 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
4143
b3cb5606
GA
41442020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
4145
4146 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
4147
41482020-08-13 Jakub Jelinek <jakub@redhat.com>
4149
4150 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
4151 * testsuite/libgomp.c/loop-23.c (main): Likewise.
4152 * testsuite/libgomp.c/loop-24.c: New test.
4153
bc0ca715
GA
41542020-08-08 Jakub Jelinek <jakub@redhat.com>
4155 Tobias Burnus <tobias@codesourcery.com>
4156
4157 PR fortran/93553
4158 * testsuite/libgomp.fortran/pr93553.f90: New test.
4159
aa5ea20c
GA
41602020-08-05 Jakub Jelinek <jakub@redhat.com>
4161
4162 * testsuite/libgomp.c/loop-22.c: New test.
4163 * testsuite/libgomp.c/loop-23.c: New test.
4164
41652020-08-05 Jakub Jelinek <jakub@redhat.com>
4166
4167 PR middle-end/96459
4168 * testsuite/libgomp.c/teams-3.c: New test.
4169 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
4170 if not defined yet.
4171 (N(test)): Use it before all N(f*) calls.
4172 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
4173 (main): Don't call all test_* functions from within
4174 #pragma omp teams reduction(|:err), call them directly.
4175
abba2591
GA
41762020-08-04 Tom de Vries <tdevries@suse.de>
4177
4178 PR target/96428
4179 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
4180 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
4181
6a1ad710
GA
41822020-08-03 Julian Brown <julian@codesourcery.com>
4183 Thomas Schwinge <thomas@codesourcery.com>
4184
4185 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
4186 shared-memory devices. Extend with further checking.
4187
41882020-08-03 Martin Jambor <mjambor@suse.cz>
4189
4190 * plugin/Makefrag.am: Remove configuration of HSA plugin.
4191 * aclocal.m4: Regenerated.
4192 * Makefile.in: Regenerated.
4193 * config.h.in: Regenerated.
4194 * configure: Regenerated.
4195 * plugin/configfrag.ac: Likewise.
4196 * plugin/hsa_ext_finalize.h: Removed.
4197 * plugin/plugin-hsa.c: Likewise.
4198 * testsuite/Makefile.in: Regenerated.
4199 * testsuite/lib/libgomp.exp
4200 (offload_target_to_openacc_device_type): Remove hsa case.
4201 (check_effective_target_hsa_offloading_selected_nocache): Removed
4202 (check_effective_target_hsa_offloading_selected): Likewise.
4203 (libgomp_init): Do not add -Wno-hsa to additional_flags.
4204 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
4205 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
4206 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
4207 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
4208 * testsuite/libgomp.hsa.c/c.exp: Likewise.
4209 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
4210 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
4211 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
4212 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
4213 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
4214 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
4215 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
4216 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
4217 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
4218 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
4219 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
4220 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
4221 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
4222 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
4223 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
4224 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
4225 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
4226 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4227 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4228
e71dab87
GA
42292020-07-27 Julian Brown <julian@codesourcery.com>
4230 Thomas Schwinge <thomas@codesourcery.com>
4231
4232 * libgomp.h (struct target_var_desc): Rename do_detach field to
4233 is_attach.
4234 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
4235 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
4236 (goacc_enter_data_internal): Don't affect reference counts
4237 for attach mappings.
4238 (goacc_exit_data_internal): Don't affect reference counts for detach
4239 mappings.
4240 * target.c (gomp_map_vars_existing): Don't affect reference counts for
4241 attach mappings.
4242 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
4243 mark attach mappings.
4244 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
4245 reference count for attach mappings.
4246 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
4247 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
4248 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
4249 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
4250 test as shouldfail.
4251 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
4252 gracefully in no-finalize mode.
4253 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
4254
53256ee3
GA
42552020-07-24 Thomas Schwinge <thomas@codesourcery.com>
4256
4257 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
4258 use.
4259 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4260 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4261
9bb403dc
GA
42622020-07-23 Julian Brown <julian@codesourcery.com>
4263 Thomas Schwinge <thomas@codesourcery.com>
4264
4265 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
4266 finalization for detach operation.
4267 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
4268 New test.
4269
42702020-07-23 Tobias Burnus <tobias@codesourcery.com>
4271
4272 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
4273 * libgomp_f.h.in (omp_check_defines): Check whether
4274 sizeof of determined Fortran kind and C typedef match.
4275 * omp_lib.f90.in: Add omp_depened_kind.
4276 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
4277 * configure: Regenerate.
4278 * Makefile.in: Regenerate.
4279 * testsuite/Makefile.in: Regenerate.
4280
3ea9abca
GA
42812020-07-22 Tobias Burnus <tobias@codesourcery.com>
4282
4283 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
4284 gcc/testsuite/c-c++-common/gomp/.
4285 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
4286 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
4287 from gcc/testsuite/gfortran.dg/gomp/.
4288 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
4289
42902020-07-22 Tobias Burnus <tobias@codesourcery.com>
4291
4292 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
4293 * omp_lib.h.in: Likewise.
4294
aeb34e15
GA
42952020-07-18 H.J. Lu <hjl.tools@gmail.com>
4296
4297 PR target/95620
4298 * testsuite/libgomp.c/pr95620.c: New test.
4299
96686b3f
GA
43002020-07-16 Julian Brown <julian@codesourcery.com>
4301 Thomas Schwinge <thomas@codesourcery.com>
4302
4303 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
4304 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
4305
fe8185b5
GA
43062020-07-15 Tobias Burnus <tobias@codesourcery.com>
4307
4308 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
4309 avoid conversion on 32bit systems from 32bit to 64bit due
4310 to -fdefault-integer-8.
4311
43122020-07-15 Tobias Burnus <tobias@codesourcery.com>
4313
4314 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
4315 variables; add character(kind=4) tests; update TODO comment.
4316
43172020-07-15 Tobias Burnus <tobias@codesourcery.com>
4318
4319 * allocator.c: Add ialias for omp_init_allocator and
4320 omp_destroy_allocator.
4321 * configure.ac: Set INTPTR_T_KIND.
4322 * configure: Regenerate.
4323 * Makefile.in: Regenerate.
4324 * testsuite/Makefile.in: Regenerate.
4325 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
4326 omp_set_default_allocator_, omp_get_default_allocator_): New
4327 functions and ialias_redirect.
4328 * icv.c: Add ialias for omp_set_default_allocator and
4329 omp_get_default_allocator.
4330 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
4331 omp_destroy_allocator_, omp_set_default_allocator_ and
4332 omp_get_default_allocator_.
4333 * omp_lib.f90.in: Add allocator traits parameters, declare
4334 allocator routines and add related kind parameters.
4335 * omp_lib.h.in: Likewise.
4336 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
4337 * testsuite/libgomp.fortran/alloc-1.F90: New test.
4338 * testsuite/libgomp.fortran/alloc-2.F90: New test.
4339 * testsuite/libgomp.fortran/alloc-3.F: New test.
4340 * testsuite/libgomp.fortran/alloc-4.f90: New test.
4341 * testsuite/libgomp.fortran/alloc-5.f90: New test.
4342
8ca07a30
GA
43432020-07-14 Tom de Vries <tom@codesourcery.com>
4344 Cesar Philippidis <cesar@codesourcery.com>
4345 Thomas Schwinge <thomas@codesourcery.com>
4346 Kwok Cheung Yeung <kcy@codesourcery.com>
4347
4348 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
4349 New variable.
4350 (acc_init_1): Set acc_init_thread to pthread_self (). Set
4351 acc_init_state to initializing at the start, and to initialized at the
4352 end.
4353 (self_initializing_p): New function.
4354 (acc_get_device_type): Return acc_device_none if called by thread that
4355 is currently executing acc_init_1.
4356 * libgomp.texi (acc_get_device_type): Update documentation.
4357 (Implementation Status and Implementation-Defined Behavior): Likewise.
4358 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
4359
43602020-07-14 David Edelsohn <dje.gcc@gmail.com>
4361
4362 * config/t-aix: Set BITS from compiler cpp macro.
4363
43642020-07-14 Tobias Burnus <tobias@codesourcery.com>
4365
4366 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
4367
43682020-07-14 Tobias Burnus <tobias@codesourcery.com>
4369
4370 PR fortran/67311
4371 * testsuite/libgomp.fortran/target-map-1.f90: New test.
4372
43732020-07-14 Jakub Jelinek <jakub@redhat.com>
4374
4375 * testsuite/libgomp.c/loop-21.c: New test.
4376
ea69fcf9
GA
43772020-07-13 Julian Brown <julian@codesourcery.com>
4378 Thomas Schwinge <thomas@codesourcery.com>
4379
4380 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
4381
86536295
GA
43822020-07-10 Julian Brown <julian@codesourcery.com>
4383 Thomas Schwinge <thomas@codesourcery.com>
4384
4385 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
4386 dynamic_refcount.
4387 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4388 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
4389 dynamic_refcount.
4390 (acc_unmap_data): Update comment.
4391 (goacc_map_var_existing, goacc_enter_datum): Adjust for
4392 dynamic_refcount semantics.
4393 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
4394 Adjust for dynamic_refcount semantics.
4395 (goacc_enter_data_internal): Implement "present" case of dynamic
4396 memory-map handling here. Update "non-present" case for
4397 dynamic_refcount semantics.
4398 (goacc_exit_data_internal): Use goacc_exit_datum_1.
4399 * target.c (gomp_map_vars_internal): Remove
4400 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
4401 handling.
4402 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
4403 (gomp_load_image_to_device): Substitute dynamic_refcount for
4404 virtual_refcount.
4405 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
4406 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
4407 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
4408 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
4409 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
4410 trace output.
4411 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
4412 trace output.
4413 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
4414 test.
4415 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4416 Remove stale comment.
4417 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
4418 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
4419 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
4420 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
4421 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
4422 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
4423
44242020-07-10 Julian Brown <julian@codesourcery.com>
4425 Thomas Schwinge <thomas@codesourcery.com>
4426
4427 * oacc-mem.c (goacc_map_var_existing): New function.
4428 (goacc_enter_datum): Use above function.
4429 (goacc_exit_datum_1): New function.
4430 (goacc_exit_datum): Use above function.
4431
3f8ca9cb
GA
44322020-07-09 Julian Brown <julian@codesourcery.com>
4433 Thomas Schwinge <thomas@codesourcery.com>
4434
4435 PR middle-end/95270
4436 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
4437 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
4438
44392020-07-09 Julian Brown <julian@codesourcery.com>
4440
4441 * oacc-mem.c (find_group_last): Group data-movement clauses
4442 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
4443 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
4444
44452020-07-09 Jakub Jelinek <jakub@redhat.com>
4446
4447 * testsuite/libgomp.c/loop-19.c: New test.
4448 * testsuite/libgomp.c/loop-20.c: New test.
4449
44502020-07-09 Jakub Jelinek <jakub@redhat.com>
4451
4452 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
4453 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
4454 it. Remove __omp_alloctrait_value_max__.
4455 * allocator.c (omp_init_allocator): Handle omp_atv_default for
4456 omp_atk_alignment and omp_atk_pool_size.
4457
b991c834
GA
44582020-07-03 Thomas Schwinge <thomas@codesourcery.com>
4459
4460 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
4461 behavior for 'GOMP_MAP_FORCE_FROM'.
4462 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
4463
44642020-07-03 Thomas Schwinge <thomas@codesourcery.com>
4465
4466 * oacc-mem.c (goacc_exit_data_internal): Remove
4467 'GOMP_MAP_ALWAYS_FROM' handling.
4468
46fbb6c6
GA
44692020-06-30 Thomas Schwinge <thomas@codesourcery.com>
4470
4471 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
4472 'scan-assembler' with 'scan-offload-rtl'.
4473 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
4474 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4475 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
4476 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
4477
44782020-06-30 Thomas Schwinge <thomas@codesourcery.com>
4479
4480 * target.c (gomp_map_vars_existing): Assert 'kind !=
4481 GOMP_MAP_ATTACH'.
4482 (gomp_map_vars_internal): Clean up.
4483
9a33c41f
GA
44842020-06-27 Jakub Jelinek <jakub@redhat.com>
4485
4486 * testsuite/libgomp.c/loop-17.c: New test.
4487 * testsuite/libgomp.c/loop-18.c: New test.
4488
c9c05f73
GA
44892020-06-26 Marek Polacek <polacek@redhat.com>
4490
4491 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
4492
4543acc8
GA
44932020-06-23 Alexandre Oliva <oliva@adacore.com>
4494
4495 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
4496 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
4497
605a8f3b
GA
44982020-06-22 David Edelsohn <dje.gcc@gmail.com>
4499
4500 * Makefile.am: Use -include.
4501 * Makefile.in: Regenerate.
4502
f86e11a2
GA
45032020-06-21 David Edelsohn <dje.gcc@gmail.com>
4504
4505 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
4506 * Makefile.in: Regenerate
4507 * configure.ac (tmake_file): Substitute.
4508 * configure: Regenerate.
4509 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
4510 * config/t-aix: New file.
4511
aff95ee7
GA
45122020-06-17 Thomas Schwinge <thomas@codesourcery.com>
4513
4514 PR lto/94848
4515 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
4516 'dg-do run'.
4517
45182020-06-17 Andrew Stubbs <ams@codesourcery.com>
4519
4520 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
4521 variant for HSA_RUNTIME_LIB name.
4522 (find_executable_symbol_1): Delete.
4523 (find_executable_symbol): Delete.
4524 (init_kernel_properties): Add ".kd" suffix to symbol names.
4525 (find_load_offset): Delete.
4526 (create_and_finalize_hsa_program): Remove relocation handling.
4527
56638b9b
GA
45282020-06-16 Tobias Burnus <tobias@codesourcery.com>
4529
4530 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
4531
2c455ae0
GA
45322020-06-08 Tobias Burnus <tobias@codesourcery.com>
4533
4534 PR lto/94848
4535 PR middle-end/95551
4536 * testsuite/libgomp.fortran/target-var.f90: New test.
4537
1a59f3db
GA
45382020-06-05 Thomas Schwinge <thomas@codesourcery.com>
4539 Julian Brown <julian@codesourcery.com>
4540
4541 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
4542 special handling.
4543
45442020-06-05 Thomas Schwinge <thomas@codesourcery.com>
4545 Julian Brown <julian@codesourcery.com>
4546
4547 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
4548 Simplify.
4549
45502020-06-05 Julian Brown <julian@codesourcery.com>
4551
4552 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
4553 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
4554
3add3425
GA
45552020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4556
4557 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
4558 Evaluate 'copyfrom' individually for each entry.
4559 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
4560
45612020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4562
4563 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
4564 Evaluate 'finalize' individually for each entry.
4565 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
4566 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
4567 file.
4568
45692020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4570
4571 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
4572 usage.
4573 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
4574
45752020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4576 Julian Brown <julian@codesourcery.com>
4577
4578 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
4579 checking.
4580 (acc_unmap_data, goacc_exit_data_internal): Restore
4581 'is_tgt_unmapped' checking.
4582 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
4583 file.
4584 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
4585 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
4586 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
4587 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
4588 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
4589 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
4590
45912020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4592 Julian Brown <julian@codesourcery.com>
4593
4594 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
4595
45962020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4597
4598 PR libgomp/92854
4599 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
4600
46012020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4602
4603 PR libgomp/92854
4604 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
4605 more.
4606
46072020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4608 Julian Brown <julian@codesourcery.com>
4609
4610 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
4611 'gomp_map_vars'.
4612 (acc_map_data): Clean up accordingly.
4613
46142020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4615
4616 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
4617 of over-eager 'finalize' clause.
4618 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
4619 file.
4620 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
4621 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
4622 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
4623 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
4624 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
4625 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
4626 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
4627 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
4628
46292020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4630
4631 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
4632
46332020-06-04 Julian Brown <julian@codesourcery.com>
4634
4635 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
4636 error path.
4637 (goacc_detach_internal): Likewise.
4638
46392020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4640
4641 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
4642 the checkpoint.
4643 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4644 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4645 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4646 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4647 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4648
a9312a79
GA
46492020-06-02 Jakub Jelinek <jakub@redhat.com>
4650
4651 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
4652 defined.
4653
945b53cc
GA
46542020-05-30 Jakub Jelinek <jakub@redhat.com>
4655
4656 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
4657
46582020-05-30 Jakub Jelinek <jakub@redhat.com>
4659
4660 * allocator.c (omp_alloc): For size == 0, return NULL early.
4661
885ef72f
GA
46622020-05-29 H.J. Lu <hjl.tools@gmail.com>
4663
4664 PR bootstrap/95413
4665 * configure: Regenerated.
4666
8df7ee67
TK
46672020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
4668
4669 PR libfortran/95191
4670 * testsuite/libgomp.fortran/async_io_9.f90: New test.
4671
800bcc8c
JJ
46722020-05-19 Jakub Jelinek <jakub@redhat.com>
4673
4674 * omp.h.in (omp_uintptr_t): New typedef.
4675 (__GOMP_UINTPTR_T_ENUM): Define.
4676 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
4677 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
4678 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
4679 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
4680 omp_get_default_allocator, omp_alloc, omp_free): Declare.
4681 * libgomp.h (struct gomp_team_state): Add def_allocator field.
4682 (gomp_def_allocator): Declare.
4683 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
4684 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
4685 omp_alloc and omp_free.
4686 * team.c (gomp_team_start): Copy over ts.def_allocator.
4687 * env.c (gomp_def_allocator): New variable.
4688 (parse_wait_policy): Adjust function comment.
4689 (parse_allocator): New function.
4690 (handle_omp_display_env): Print OMP_ALLOCATOR.
4691 (initialize_env): Call parse_allocator.
4692 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
4693 * allocator.c: New file.
4694 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
4695 functions.
4696 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
4697 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
4698 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
4699 * Makefile.in: Regenerated.
4700
4c1a5d8b
L
47012020-05-15 H.J. Lu <hongjiu.lu@intel.com>
4702
4703 PR bootstrap/95147
4704 * configure: Regenerated.
4705
cdc34b50
TK
47062020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
4707
4708 PR libfortran/95119
4709 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
4710
47112020-05-14 H.J. Lu <hongjiu.lu@intel.com>
4712
4713 * configure: Regenerated.
4714
47152020-05-14 Jakub Jelinek <jakub@redhat.com>
4716
4717 * testsuite/libgomp.c-c++-common/target-40.c: New test.
4718
f884bef2
TB
47192020-05-13 Tobias Burnus <tobias@codesourcery.com>
4720
4721 PR fortran/94690
4722 * testsuite/libgomp.fortran/pr66199-3.f90: New.
4723 * testsuite/libgomp.fortran/pr66199-4.f90: New.
4724 * testsuite/libgomp.fortran/pr66199-5.f90: New.
4725 * testsuite/libgomp.fortran/pr66199-6.f90: New.
4726 * testsuite/libgomp.fortran/pr66199-7.f90: New.
4727 * testsuite/libgomp.fortran/pr66199-8.f90: New.
4728 * testsuite/libgomp.fortran/pr66199-9.f90: New.
4729
dc703151
JJ
47302020-05-12 Jakub Jelinek <jakub@redhat.com>
4731
4732 * testsuite/libgomp.c/target-39.c: New test.
4733
b9dc11b6
TS
47342020-04-29 Thomas Schwinge <thomas@codesourcery.com>
4735
a5d0bc12
TS
4736 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
4737 * openacc.f90 (acc_device_current): Likewise.
4738 * openacc.h (acc_device_current): Likewise.
4739 * openacc_lib.h (acc_device_current): Likewise.
4740
7f198924
TS
4741 PR target/94282
4742 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
4743 'dg-allow-blank-lines-in-output'.
4744
4912a04f
TS
4745 * oacc-init.c (get_openacc_name): Handle 'gcn'.
4746 * testsuite/lib/libgomp.exp
4747 (offload_target_to_openacc_device_type) [amdgcn*]: Return
4748 'radeon'. Adjust all users.
4749 (check_effective_target_openacc_amdgcn_accel_present): Rename
4750 to...
4751 (check_effective_target_openacc_radeon_accel_present): ... this.
4752 Adjust all users.
4753 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
4754 (check_effective_target_openacc_radeon_accel_selected): ... this.
4755 Adjust all users.
4756
b9dc11b6
TS
4757 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
4758 'dg-do run'.
4759
966de09b
AS
47602020-04-23 Andrew Stubbs <ams@codesourcery.com>
4761
4762 PR other/94629
4763
4764 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
4765 hsa_iterate_agents.
4766 (GOMP_OFFLOAD_init_device): Check return values from both calls to
4767 hsa_agent_iterate_regions.
4768
3f5d94c1
TS
47692020-04-20 Thomas Schwinge <thomas@codesourcery.com>
4770
4771 PR middle-end/94635
4772 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4773 run'.
4774
85d8c05a
TB
47752020-04-20 Tobias Burnus <tobias@codesourcery.com>
4776
4777 PR middle-end/94120
4778 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4779 test case.
4780
af557050
TB
47812020-04-17 Tobias Burnus <tobias@codesourcery.com>
4782
4783 PR middle-end/94635
4784 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4785
af4c9257
TS
47862020-04-13 Thomas Schwinge <thomas@codesourcery.com>
4787
4788 PR libgomp/92843
4789 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4790 Rename to...
4791 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4792 ... this.
4793 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4794 Rename to...
4795 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4796 ... this.
4797 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4798 Rename to...
4799 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4800 ... this.
4801 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4802 Rename to...
4803 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4804 ... this.
4805 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4806 Rename to...
4807 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4808 ... this.
4809 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4810 Rename to...
4811 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4812 ... this.
4813 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4814 Rename to...
4815 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4816 ... this.
4817 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4818 Rename to...
4819 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4820 ... this.
4821 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4822 Rename to...
4823 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4824 ... this.
4825 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4826 Rename to...
4827 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4828 ... this.
4829 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4830 Rename to...
4831 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4832 ... this.
4833 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4834 Rename to...
4835 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4836 ... this.
4837 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4838 Rename to...
4839 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4840 ... this.
4841 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4842 Rename to...
4843 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4844 ... this.
4845 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4846 Rename to...
4847 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4848 ... this.
4849 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4850 Rename to...
4851 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4852 ... this.
4853
be9862dd
JB
48542020-04-10 Julian Brown <julian@codesourcery.com>
4855 Thomas Schwinge <thomas@codesourcery.com>
4856
4857 PR libgomp/92843
4858 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4859 New file.
4860 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4861 Likewise.
4862 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4863 Likewise.
4864 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4865 Likewise.
4866 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4867 Likewise.
4868 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4869 Likewise.
4870 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4871 Likewise.
4872 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4873 Likewise.
4874 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4875 Likewise.
4876 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4877 Likewise.
4878 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4879 Likewise.
4880 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4881 Likewise.
4882 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4883 Likewise.
4884 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4885 Likewise.
4886 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4887 Likewise.
4888 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4889 Likewise.
4890
6b816a5f
TS
48912020-04-10 Thomas Schwinge <thomas@codesourcery.com>
4892
4893 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4894 run'.
4895
13e41d8b
TB
48962020-04-08 Tobias Burnus <tobias@codesourcery.com>
4897
4898 PR middle-end/94120
4899 * libgomp.oacc-c++/declare-pr94120.C: New.
4900
749bd22d
MR
49012020-04-06 Maciej W. Rozycki <macro@wdc.com>
4902
4903 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4904 files.
4905 * configure: Regenerate.
4906 * testsuite/libgomp-site-extra.exp.in: New file.
4907 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4908 variable.
4909 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4910 variable.
4911 * testsuite/Makefile.in: Regenerate.
4912
2b1e849b
TS
49132020-04-03 Thomas Schwinge <thomas@codesourcery.com>
4914
4915 PR tree-optimization/89713
4916 PR c/94392
4917 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4918 'bar.sync'.
4919 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4920
689418b9
TB
49212020-03-31 Tobias Burnus <tobias@codesourcery.com>
4922
4923 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4924 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4925
c2211a60
TB
49262020-03-24 Tobias Burnus <tobias@codesourcery.com>
4927
4928 PR libgomp/81689
4929 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4930
4897bb00
TB
49312020-03-20 Tobias Burnus <tobias@codesourcery.com>
4932
4933 PR libgomp/94251
4934 * target.c (gomp_load_image_to_device): Fix link
4935 variable handling.
4936
02f7334a
JJ
49372020-03-19 Jakub Jelinek <jakub@redhat.com>
4938
4939 PR c++/93931
4940 * testsuite/libgomp.c++/pr93931.C: New test.
4941
bb83e069
TB
49422020-03-19 Tobias Burnus <tobias@codesourcery.com>
4943
4944 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4945 dg-allow-blank-lines-in-output.
4946
26cbcfe5
TB
49472020-03-18 Julian Brown <julian@codesourcery.com>
4948 Tobias Burnus <tobias@codesourcery.com>
4949
4950 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4951 it work concurrently.
4952
4da92887
TB
49532020-03-18 Tobias Burnus <tobias@codesourcery.com>
4954
4955 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4956 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4957 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4958
9c3cdb43
JJ
49592020-03-14 Jakub Jelinek <jakub@redhat.com>
4960
4961 PR middle-end/93566
4962 * testsuite/libgomp.c/pr93566.c: New test.
4963
83d45e1d
FH
49642020-02-21 Frederik Harwath <frederik@codesourcery.com>
4965
4966 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4967 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4968 integer(acc_device_property) for the type of the return value of
4969 acc_get_property.
4970
8d1a1cb1
TB
49712020-02-19 Tobias Burnus <tobias@codesourcery.com>
4972
4973 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4974 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4975 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4976 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4977 (acc_set_device_num): Fix Fortran argument name, use same name for C.
4978 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
4979 corrections; add note about the previous interface and named constant.
4980 (OpenACC library and environment variables): Fix two typos.
4981 * openacc.f90: Use for all procedures the argument names from the spec
4982 as for …_h they are user visible.
4983 (openacc_kinds): Rename acc_device_property to
4984 acc_device_property_kinds and change value to int32 ; and update users.
4985 Re-add acc_device_property for for backward compatibility.
4986 (acc_get_property_string_h): Clean up as acc_device_property_kind
4987 changed.
4988 (acc_get_property_h): Likewise and return c_size_t instead of
4989 acc_device_property.
4990 (openacc): Also export acc_device_property_kinds.
4991 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4992 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4993 handling; check against /= 0 instead of == 1 to match C.
4994 * openacc_lib.h: Use for all procedures the argument names from the spec
4995 as for …_h they are user visible. Place !GCC$ into the first column to
4996 be active also for fixed-form souce form.
4997 (acc_device_current, acc_device_property_kind, acc_device_property,
4998 acc_property_memory, acc_property_free_memory, acc_property_name,
4999 acc_property_vendor, acc_property_driver): New named constants.
5000 (acc_get_property, acc_get_property_string): New generic interface.
5001
2d9eb4e4
FH
50022020-02-13 Frederik Harwath <frederik@codesourcery.com>
5003
5004 PR libgomp/93481
5005 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
5006 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
5007 optional.
5008 (gomp_target_task_fn): Assert "devicep->async_run_func".
5009 (clear_unsupported_flags): New function to remove unsupported flags
5010 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
5011 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
5012 * testsuite/libgomp.c/target-33.c:
5013 Remove xfail for offload_target_nvptx.
5014 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
5015
50162020-02-10 Frederik Harwath <frederik@codesourcery.com>
5017
5018 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
5019 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
5020 * testsuite/libgomp.c/target-34.c: Likewise.
5021 * testsuite/libgomp.c/target-link-1.c: Add xfail for
5022 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
5023
9bc3b95d
JJ
50242020-02-09 Jakub Jelinek <jakub@redhat.com>
5025
5026 * testsuite/libgomp.c/target-38.c: New test.
5027
cb3f0648
JJ
50282020-02-06 Jakub Jelinek <jakub@redhat.com>
5029
5030 PR libgomp/93515
5031 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
5032
91bc3c98
TB
50332020-02-05 Tobias Burnus <tobias@codesourcery.com>
5034
5035 * testsuite/lib/libgomp.exp
5036 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
5037 and not as 'source' argument to libgomp_target_compile.
5038
591f869a
AS
50392020-02-03 Andrew Stubbs <ams@codesourcery.com>
5040
5041 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
5042 (gcn_gfx801_s): Remove.
5043 (isa_hsa_name): Remove gfx801.
5044 (isa_gcc_name): Remove gfx801/carizzo.
5045 (isa_code): Remove gfx801.
5046
e464fc90
TB
50472020-02-03 Julian Brown <julian@codesourcery.com>
5048 Tobias Burnus <tobias@codesourcery.com>
5049
5050 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
5051 and *_finalize variants; document acc_attach and acc_detach; update
5052 references from OpenACC 2.0 to 2.6.
5053 * openacc.f90 (openacc_version): Update to 201711.
5054 * openacc_lib.h (openacc_version): Update to 201711.
5055 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
5056 openacc_version to 201711.
5057 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
5058
5a28e272
KCY
50592020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
5060
5061 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
5062 and vgpr_count fields.
5063 (struct kernel_info): Add a field for a hsa_kernel_description.
5064 (run_kernel): Reduce the number of threads/workers if the requested
5065 number would require too many VGPRs.
5066 (init_basic_kernel_info): Initialize description field with
5067 the hsa_kernel_description entry for the kernel.
5068
5ab5d81b
TB
50692020-01-29 Tobias Burnus <tobias@codesourcery.com>
5070
5071 PR bootstrap/93409
5072 * plugin/configfrag.ac (enable_offload_targets): Skip
5073 HSA and GCN plugin besides -m32 also for -mx32.
5074 * configure: Regenerate.
5075
989a5fb3
FH
50762020-01-29 Frederik Harwath <frederik@codesourcery.com>
5077
5078 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
5079
50802020-01-29 Frederik Harwath <frederik@codesourcery.com>
5081
5082 * plugin-gcn.c (struct agent_info): Add fields "name" and
5083 "vendor_name" ...
5084 (GOMP_OFFLOAD_init_device): ... and init from here.
5085 (struct hsa_context_info): Add field "driver_version_s" ...
5086 (init_hsa_contest): ... and init from here.
5087 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
5088 implementation.
5089 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
5090 Enable test execution for amdgcn and host offloading targets.
5091 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
5092 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
5093 (expect_device_properties): Split function into ...
5094 (expect_device_string_properties): ... this new function ...
5095 (expect_device_memory): ... and this new function.
5096 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
5097 Add test.
5098
278c3214
JB
50992020-01-28 Julian Brown <julian@codesourcery.com>
5100
5101 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
5102 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
5103 component/non-component variable refs in a single directive.
5104 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
5105
e8e66971
MR
51062020-01-24 Maciej W. Rozycki <macro@wdc.com>
5107
5108 * configure.ac: Handle `--with-toolexeclibdir='.
5109 * Makefile.in: Regenerate.
5110 * aclocal.m4: Regenerate.
5111 * configure: Regenerate.
5112 * testsuite/Makefile.in: Regenerate.
5113
9e424d97
FH
51142020-01-24 Frederik Harwath <frederik@codesourcery.com>
5115
5116 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
5117 (expect_device_properties): Remove "expected_free_mem" argument,
5118 change "expected_total_mem" argument type to size_t;
5119 change types of acc_get_property results to size_t,
5120 adapt format strings.
5121 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
5122 Use %zu instead of %zd to print size_t values.
5123 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
5124 rename to ...
5125 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
5126 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
5127 rename to ...
5128 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
5129
14e5e746
AS
51302020-01-23 Andrew Stubbs <ams@codesourcery.com>
5131
5132 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
5133 the device id.
5134
09e0ad62
AS
51352020-01-20 Andrew Stubbs <ams@codesourcery.com>
5136
5137 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
5138 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
5139 Adjust test dimensions for amdgcn.
5140 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
5141 gang/worker/vector expectations dynamically.
5142 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
5143 (main): Likewise.
5144 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
5145 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
5146 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
5147 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
5148 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
5149 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
5150 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
5151 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
5152 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5153 (acc_gang): Recognise acc_device_radeon.
5154 (acc_worker): Likewise.
5155 (acc_vector): Likewise.
5156 (main): Set expectations for amdgcn.
5157 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
5158 (main): Adjust gang/worker/vector expectations dynamically.
5159 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
5160 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
5161 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
5162 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
5163 for amdgcn.
5164
6687d13a
AS
51652020-01-17 Andrew Stubbs <ams@codesourcery.com>
5166
5167 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
5168 acc_device_radeon.
5169 (openacc): Likewise.
5170 * openacc.f90 (openacc_kinds): Likewise.
5171 (openacc): Likewise.
5172 * openacc.h (acc_device_t): Likewise.
5173 * openacc_lib.h: Likewise.
5174 * testsuite/lib/libgomp.exp
5175 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
5176 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
5177 (cb_compute_construct_end): Likewise.
5178 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5179 (cb_enqueue_launch_start): Likewise.
5180 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
5181 (cb_enter_data_end): Likewise.
5182 (cb_exit_data_start): Likewise.
5183 (cb_exit_data_end): Likewise.
5184 (cb_compute_construct_end): Likewise.
5185 (cb_enqueue_launch_start): Likewise.
5186 (cb_enqueue_launch_end): Likewise.
5187 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
5188 (main): Likewise.
5189
b3b75e66
TS
51902020-01-10 Thomas Schwinge <thomas@codesourcery.com>
5191
6fc0385c
TS
5192 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
5193 to use this instead of 'enum gomp_device_property'.
5194 (GOMP_OFFLOAD_get_property): Rename to...
5195 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
5196 * libgomp.h (struct gomp_device_descr): Move
5197 'GOMP_OFFLOAD_openacc_get_property'...
5198 (struct acc_dispatch_t): ... here. Adjust all users.
5199 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
5200
b3b75e66
TS
5201 * target.c (gomp_map_vars_internal)
5202 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
5203 paths.
5204
91df4397
JJ
52052020-01-10 Jakub Jelinek <jakub@redhat.com>
5206
5207 PR libgomp/93219
5208 * libgomp.h (gomp_print_string): Change return type from void to int.
5209 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
5210 not all characters have been written.
5211
df2c0d36
TB
52122020-01-08 Tobias Burnus <tobias@codesourcery.com>
5213
5214 * libgomp.texi: Fix typos, use https.
5215
f760c0c7
TB
52162020-01-03 Tobias Burnus <tobias@codesourcery.com>
5217
5218 * testsuite/libgomp.fortran/optional-map.f90: Add test for
5219 unallocated/disassociated actual arguments to nonallocatable/nonpointer
5220 dummy arguments; those are/shall be regarded as absent arguments.
5221 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5222 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
5223
7e7065b9
JJ
52242020-01-01 Jakub Jelinek <jakub@redhat.com>
5225
8d9254fc
JJ
5226 Update copyright years.
5227
7e7065b9
JJ
5228 * libgomp.texi: Bump @copying's copyright year.
5229
2c829799
AM
52302019-12-31 Ayush Mittal <ayush.m@samsung.com>
5231
5232 PR libgomp/93065
5233 * oacc-init.c (goacc_runtime_deinitialize): New function.
5234
e9dcb75e
JJ
52352019-12-28 Jakub Jelinek <jakub@redhat.com>
5236
5237 PR bootstrap/93074
5238 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
5239 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
5240
6c84c8bf
MR
52412019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
5242 Frederik Harwath <frederik@codesourcery.com>
5243 Thomas Schwinge <tschwinge@codesourcery.com>
5244
5245 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
5246 * libgomp-plugin.h (gomp_device_property_value): New union.
5247 (gomp_device_property_value): New prototype.
5248 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
5249 constant.
5250 (acc_device_property_t): New enum.
5251 (acc_get_property, acc_get_property_string): New prototypes.
5252 * oacc-init.c (acc_get_device_type): Also assert that result
5253 is not `acc_device_current'.
5254 (get_property_any, acc_get_property, acc_get_property_string):
5255 New functions.
5256 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
5257 `acc_property_memory', `acc_property_free_memory',
5258 `acc_property_name', `acc_property_vendor' and
5259 `acc_property_driver' constants. Add `acc_device_property' data
5260 type.
5261 (openacc_internal): Add `acc_get_property' and
5262 `acc_get_property_string' interfaces. Add `acc_get_property_h',
5263 `acc_get_property_string_h', `acc_get_property_l' and
5264 `acc_get_property_string_l'.
5265 * oacc-host.c (host_get_property): New function.
5266 (host_dispatch): Wire it.
5267 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
5268 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
5269 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
5270 * libgomp.texi (OpenACC Runtime Library Routines): Add
5271 `acc_get_property'.
5272 (acc_get_property): New node.
5273 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
5274 function (stub).
5275 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
5276 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
5277 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
5278 calls.
5279 (GOMP_OFFLOAD_get_property): New function.
5280 (struct ptx_device): Add new field "name".
5281 (cuda_driver_version_s): Add new static variable ...
5282 (nvptx_init): ... and init from here.
5283
5284 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
5285 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
5286 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
5287 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
5288 with test helper functions.
5289
5290 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
5291
c8e759b4
MR
52922019-12-22 Maciej W. Rozycki <macro@wdc.com>
5293
5294 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
5295 variable.
5296
b092fb3b
TS
52972019-12-21 Thomas Schwinge <thomas@codesourcery.com>
5298
5299 * target.c (gomp_map_vars_internal): Restore 'omp declare target
5300 link' handling.
5301
9be3ac5d
JB
53022019-12-19 Julian Brown <julian@codesourcery.com>
5303
5304 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
5305 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
5306 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
5307
02817027
JB
53082019-12-19 Julian Brown <julian@codesourcery.com>
5309 Cesar Philippidis <cesar@codesourcery.com>
5310
5311 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
5312 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
5313 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
5314 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
5315 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
5316 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
5317 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
5318 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
5319 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
5320 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
5321 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
5322 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
5323 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
5324
c2eb021f
JB
53252019-12-19 Julian Brown <julian@codesourcery.com>
5326
5327 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
5328 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
5329 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
5330 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
5331 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
5332 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
5333 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
5334 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
5335 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
5336 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
5337 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
5338 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
5339
8e7e71ff
JB
53402019-12-19 Julian Brown <julian@codesourcery.com>
5341
5342 * libgomp.h (struct target_var_desc): Add do_detach flag.
5343 * oacc-init.c (acc_shutdown_1): Free aux block if present.
5344 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
5345 struct components. Tidy up and add some new checks.
5346 (goacc_enter_data_internal): Update call to find_group_last.
5347 (goacc_exit_data_internal): Support detach operations and
5348 GOMP_MAP_STRUCT.
5349 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
5350 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
5351 attach/detach in enter/exit data detection code.
5352 * target.c (gomp_map_vars_existing): Initialise do_detach field of
5353 tgt_var_desc.
5354 (gomp_map_vars_internal): Support attach.
5355 (gomp_unmap_vars_internal): Support detach.
5356
5d5be7bf
JB
53572019-12-19 Julian Brown <julian@codesourcery.com>
5358 Thomas Schwinge <thomas@codesourcery.com>
5359
5360 * libgomp.h (struct splay_tree_aux): Add attach_count field.
5361 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
5362 * libgomp.map (OACC_2.6): New section. Add acc_attach,
5363 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
5364 acc_detach_finalize_async.
5365 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
5366 acc_detach, acc_detach_async, acc_detach_finalize,
5367 acc_detach_finalize_async): New functions.
5368 * openacc.h (acc_attach, acc_attach_async, acc_detach,
5369 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
5370 prototypes.
5371 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
5372 (gomp_remove_var_internal): Free attachment counts if present.
5373 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
5374 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
5375
5bcd470b
JB
53762019-12-19 Julian Brown <julian@codesourcery.com>
5377 Cesar Philippidis <cesar@codesourcery.com>
5378
5379 * libgomp.h (gomp_map_val): Add prototype.
5380 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
5381 open-coding device-address calculation.
5382 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
5383 non-present case.
5384
378da98f
JB
53852019-12-19 Julian Brown <julian@codesourcery.com>
5386
5387 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
5388 field for virtual_refcount.
5389 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
5390 (gomp_free_memmap): Remove prototype.
5391 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
5392 instead of calling gomp_free_memmap.
5393 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
5394 dynamic_refcount.
5395 (acc_unmap_data): Open code instead of forcing target_mem_desc's
5396 to_free field to NULL then calling gomp_unmap_vars. Handle
5397 REFCOUNT_INFINITY on target blocks.
5398 (goacc_enter_data): Rename to...
5399 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
5400 handling for mapping groups. Use virtual_refcount instead of
5401 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
5402 map_map_vars_async call. Re-do lookup for target pointer return value.
5403 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
5404 renamed goacc_enter_datum function.
5405 (goacc_exit_data): Rename to...
5406 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
5407 (acc_delete, acc_delete_async, acc_delete_finalize,
5408 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
5409 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
5410 goacc_exit_datum function.
5411 (gomp_acc_remove_pointer, find_pointer): Remove functions.
5412 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
5413 New functions.
5414 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
5415 goacc_exit_data_internal helper functions.
5416 * target.c (gomp_map_vars_internal): Handle
5417 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
5418 semantics.
5419 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
5420 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
5421 virtual_refcount field instead of dynamic_refcount.
5422 (gomp_free_memmap): Remove function.
5423 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
5424 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
5425 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
5426
2a656a93
JB
54272019-12-19 Julian Brown <julian@codesourcery.com>
5428 Thomas Schwinge <thomas@codesourcery.com>
5429
5430 * libgomp.h (struct splay_tree_aux): New.
5431 (struct splay_tree_key_s): Replace link_key field with aux pointer.
5432 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
5433 to aux struct.
5434 (gomp_remove_var_internal): Free aux block if present.
5435 (gomp_load_image_to_device): Zero-initialise aux field instead of
5436 link_key field.
5437 (omp_target_associate_pointer): Zero-initialise aux field.
5438
601399c0
JJ
54392019-12-18 Jakub Jelinek <jakub@redhat.com>
5440
5441 PR middle-end/86416
5442 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
5443 q or none.
5444 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
5445 L or none.
5446
a6163563
JB
54472019-12-19 Julian Brown <julian@codesourcery.com>
5448 Maciej W. Rozycki <macro@codesourcery.com>
5449 Tobias Burnus <tobias@codesourcery.com>
5450 Thomas Schwinge <thomas@codesourcery.com>
5451
5452 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
5453 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
5454 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
5455 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
5456 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
5457 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
5458 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
5459 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
5460 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
5461
6278b549
TS
54622019-12-18 Thomas Schwinge <thomas@codesourcery.com>
5463
77ce5555
TS
5464 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
5465 called...
5466 (goacc_insert_pointer): ... from here, "present" case.
5467 (goacc_insert_pointer): Inline function into...
5468 (GOACC_enter_exit_data): ... here, and simplify.
5469
9444a299
TS
5470 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
5471 called...
5472 (goacc_insert_pointer): ... from here, "not present" case.
5473
5031b619
TS
5474 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
5475 all users.
5476
1a79b578
TS
5477 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
5478 'goacc_enter_data', 'goacc_exit_data'.
5479
34cfe31e
TS
5480 * oacc-mem.c (delete_copyout): Refactor into...
5481 (goacc_exit_data): ... this. Adjust all users.
5482
aaf0e9d7
TS
5483 * oacc-mem.c (present_create_copy): Refactor into...
5484 (goacc_enter_data): ... this. Adjust all users.
5485
83d1d065
TS
5486 * target.c (gomp_unmap_vars_internal): Add a safeguard to
5487 'gomp_remove_var'.
5488
cc3f11f5
TS
5489 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
5490 like 'GOMP_MAP_FROM'.
5491
ddb25eb9
TS
5492 PR libgomp/92726
5493 PR libgomp/92970
5494 PR libgomp/92984
5495 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
5496 fails.
5497 (GOACC_enter_exit_data): Simplify accordingly.
5498 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
5499 subsuming...
5500 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
5501 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
5502 file.
5503 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
5504 subsuming...
5505 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
5506 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
5507 file.
5508 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
5509 subsuming...
5510 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
5511
32128577
TS
5512 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
5513 'finalize' handling.
5514
ba40277f
TS
5515 PR libgomp/92848
5516 * oacc-mem.c (acc_map_data, present_create_copy)
5517 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
5518 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
5519 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
5520 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
5521 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
5522 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
5523 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
5524 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5525 Remove "XFAIL"s.
5526
6278b549
TS
5527 * target.c (gomp_unmap_tgt): Make it 'static'.
5528 * libgomp.h (gomp_unmap_tgt): Remove.
5529
c80c9e26
TB
55302019-12-18 Tobias Burnus <tobias@codesourcery.com>
5531
5532 PR middle-end/86416
5533 * testsuite/libgomp.c/pr86416-1.c: New.
5534 * testsuite/libgomp.c/pr86416-2.c: New.
5535
0b8499a4
TB
55362019-12-17 Tobias Burnus <tobias@codesourcery.com>
5537
5538 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
5539 all symbols as public except for the 'use …, only' imported symbol,
5540 which is private.
5541 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
5542 all symbols from module openacc_kinds as PUBLIC
5543 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
5544 fix comment typo.
5545 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
5546
1cbd94e8
JB
55472019-12-13 Julian Brown <julian@codesourcery.com>
5548
5549 PR libgomp/92881
5550
5551 * libgomp.h (gomp_remove_var_async): Add prototype.
5552 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
5553 gomp_remove_var.
5554 * target.c (gomp_unref_tgt): Change return type to bool, indicating
5555 whether target_mem_desc was unmapped.
5556 (gomp_unref_tgt_void): New.
5557 (gomp_remove_var): Reimplement in terms of...
5558 (gomp_remove_var_internal): ...this new helper function.
5559 (gomp_remove_var_async): New, implemented using above helper function.
5560 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
5561 gomp_unref_tgt.
5562
26b74ed0
AS
55632019-12-13 Andrew Stubbs <ams@codesourcery.com>
5564
5565 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
5566 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
5567 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
5568 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
5569 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
5570 Likewise.
5571 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
5572 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
5573
7858bb96
TB
55742019-12-13 Tobias Burnus <tobias@codesourcery.com>
5575
5576 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
5577 as public except for the 'use …, only' imported symbol, which is
5578 private.
5579 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
5580 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
5581 attributes for acc_copyout_finalize and acc_delete_finalize.
5582
f8ac7d8f
JJ
55832019-12-11 Jakub Jelinek <jakub@redhat.com>
5584
5585 PR fortran/92899
5586 * testsuite/libgomp.fortran/atomic1.f90: New test.
5587
3d1b5e71
TS
55882019-12-11 Thomas Schwinge <thomas@codesourcery.com>
5589
d6e8c01c
TS
5590 PR libgomp/92843
5591 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
5592 reference counting for structured 'REFCOUNT_INFINITY'. Add some
5593 assertions.
5594 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
5595 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
5596 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
5597 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5598 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5599
57963e39
TS
5600 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
5601 * oacc-mem.c: ... here.
5602 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
5603 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
5604 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
5605 Remove.
5606 * libgomp_g.h: Update.
5607
c5578b56
TS
5608 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
5609 * oacc-async.c: ... here.
5610 * oacc-int.h (goacc_wait): Declare.
5611 * libgomp_g.h: Update
5612
3d1b5e71
TS
5613 PR libgomp/92854
5614 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
5615 New file.
5616 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
5617 Likewise.
5618 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
5619 Likewise.
5620 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
5621 Likewise.
5622 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
5623 Likewise.
5624 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
5625 Likewise.
5626
5e939438
TS
56272019-12-11 Thomas Schwinge <thomas@codesourcery.com>
5628 Julian Brown <julian@codesourcery.com>
5629
5630 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
5631 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
5632
93d90219
TB
56332019-12-11 Tobias Burnus <tobias@codesourcery.com>
5634
5635 * omp_lib.h.in: Fix spelling of function declaration
5636 omp_get_cancell(l)ation.
5637 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
5638 Fix typos.
5639 * env.c: Fix comment typos.
5640 * oacc-host.c: Likewise.
5641 * ordered.c: Likewise.
5642 * task.c: Likewise.
5643 * team.c: Likewise.
5644 * config/gcn/task.c: Likewise.
5645 * config/gcn/team.c: Likewise.
5646 * config/nvptx/task.c: Likewise.
5647 * config/nvptx/team.c: Likewise.
5648 * plugin/plugin-gcn.c: Likewise.
5649 * testsuite/libgomp.fortran/jacobi.f: Likewise.
5650 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5651 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
5652
a0221aee
TB
56532019-12-11 Tobias Burnus <tobias@codesourcery.com>
5654
5655 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
5656 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
5657 unnecessary 'dg-additional-options "-w"'.
5658
47afc7b4
TS
56592019-12-09 Thomas Schwinge <thomas@codesourcery.com>
5660 Julian Brown <julian@codesourcery.com>
5661
5662 PR libgomp/92116
5663 PR libgomp/92877
5664
5665 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
5666 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
5667 Adjust all users.
5668 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5669 Remove XFAIL.
5670 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5671 Likewise.
5672 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
5673
b5859e40
TS
56742019-12-09 Thomas Schwinge <thomas@codesourcery.com>
5675
cec41816
TS
5676 PR libgomp/92503
5677 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
5678 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
5679 file.
5680 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
5681 Likewise.
5682 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
5683 Likewise.
5684 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
5685 Likewise.
5686 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5687 Likewise.
5688 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5689 Likewise.
5690 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5691 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5692 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5693 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5694 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5695 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5696 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5697 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5698 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
5699 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5700
e103542b
TS
5701 PR libgomp/92840
5702 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
5703 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
5704 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
5705 New file.
5706 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
5707 Likewise.
5708 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
5709 Likewise.
5710 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5711 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
5712
41f36f22
TS
5713 PR libgomp/92511
5714 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
5715 this file...
5716 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
5717 this file...
5718 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
5719 file...
5720 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
5721 file...
5722 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5723 ... with their content moved into, and extended in this new file.
5724 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
5725 New file.
5726 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
5727 Likewise.
5728 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
5729 Likewise.
5730 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
5731 Likewise.
5732
6effebe1
TS
5733 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
5734
7d020473
TS
5735 PR libgomp/92854
5736 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
5737
1e1fb715
TS
5738 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
5739
b5859e40
TS
5740 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
5741
11586ed9
TB
57422019-12-09 Tobias Burnus <tobias@codesourcery.com>
5743
5744 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
5745 unique.
5746 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
5747 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5748 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
5749 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
5750 Ditto.
5751 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
5752 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
5753
3ad4a03a
KCY
57542019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
5755
5756 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
5757
6e4d01d6
TB
57582019-12-06 Tobias Burnus <tobias@codesourcery.com>
5759 Kwok Cheung Yeung <kcy@codesourcery.com>
5760
5761 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
5762 if input it a NULL pointer.
5763 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
5764 diagnostic of NULL pointer.
5765 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
5766 * testsuite/libgomp.fortran/optional-map.f90: New.
5767 * testsuite/libgomp.fortran/use_device_addr-1.f90
5768 (test_dummy_opt_callee_1_absent): New.
5769 (test_dummy_opt_call_1): Call it.
5770 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5771 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
5772 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5773 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
5774 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
5775 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
5776 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
5777 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
5778 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
5779 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
5780 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
5781 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
5782 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
5783 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
5784 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
5785 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
5786
ad80ec46
TB
57872019-12-05 Tobias Burnus <tobias@codesourcery.com>
5788
5789 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
5790 expect dg-output of 'Error termination.' for GCN.
5791 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5792 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5793
a8a5f4cc
JJ
57942019-12-04 Jakub Jelinek <jakub@redhat.com>
5795
5796 PR fortran/92756
5797 * testsuite/libgomp.fortran/teams1.f90: New test.
5798 * testsuite/libgomp.fortran/teams2.f90: New test.
5799
d8f0024b
FH
58002019-12-03 Frederik Harwath <frederik@codesourcery.com>
5801
5802 * oacc-init.c (acc_known_device_type): Add function.
5803 (unknown_device_type_error): Add function.
5804 (name_of_acc_device_t): Change to call unknown_device_type_error
5805 on unknown type.
5806 (resolve_device): Use acc_known_device_type.
5807 (acc_init): Fail if acc_device_t argument is not valid.
5808 (acc_shutdown): Likewise.
5809 (acc_get_num_devices): Likewise.
5810 (acc_set_device_type): Likewise.
5811 (acc_get_device_num): Likewise.
5812 (acc_set_device_num): Likewise.
5813 (acc_on_device): Add comment that argument validity is not checked.
5814
83caa34e
AS
58152019-12-03 Andrew Stubbs <ams@codesourcery.com>
5816
5817 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5818 Recognize amdgcn.
5819 (check_effective_target_openacc_amdgcn_accel_present): New proc.
5820 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
5821 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
5822 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5823 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5824
00484365
SN
58252019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
5826
5827 PR libgomp/91938
5828 * configure.tgt: Avoid IE tls on *-*-musl*.
5829
9909a059
TB
58302019-11-29 Tobias Burnus <tobias@codesourcery.com>
5831
5832 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5833 adding a common-block test case.
5834
b3f44388
JJ
58352019-11-29 Jakub Jelinek <jakub@redhat.com>
5836
5837 PR c++/60228
5838 * testsuite/libgomp.c++/udr-20.C: New test.
5839 * testsuite/libgomp.c++/udr-21.C: New test.
5840
b1a73b48
TS
58412019-11-27 Thomas Schwinge <thomas@codesourcery.com>
5842
5843 * testsuite/lib/libgomp.exp
5844 (check_effective_target_offload_target_nvptx): New proc.
5845 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
5846 'dg-skip-if'.
5847 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
5848 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
5849 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
5850
b8e72446
RO
58512019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5852
5853 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
5854 * testsuite/libgomp.c/pr39591-2.c: Likewise.
5855 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5856 * testsuite/libgomp.c/private-1.c: Likewise.
5857 * testsuite/libgomp.c/task-1.c: Likewise.
5858 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
5859
d88b27da
JB
58602019-11-20 Julian Brown <julian@codesourcery.com>
5861
5862 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
5863 aq->mutex here.
5864 (queue_push_launch): Lock aq->mutex before calling
5865 wait_for_queue_nonfull.
5866 (queue_push_callback): Likewise.
5867 (queue_push_asyncwait): Likewise.
5868 (queue_push_placeholder): Likewise.
5869
8d2f4ddf
JB
58702019-11-20 Julian Brown <julian@codesourcery.com>
5871
5872 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
5873 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5874 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
5875 return code.
5876
e307b05f
JB
58772019-11-20 Julian Brown <julian@codesourcery.com>
5878
5879 PR libgomp/92511
5880
5881 * oacc-mem.c (present_create_copy): Fix device pointer return value in
5882 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
5883 in non-present/create case.
5884 (delete_copyout): Change error condition to fail only on copies outside
5885 of mapped block. Adjust error message accordingly.
5886 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5887 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5888 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5889 message.
5890 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5891 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5892 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5893
83115e9e
MR
58942019-11-20 Maciej W. Rozycki <macro@wdc.com>
5895
5896 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5897 libatomic in build-tree testing.
5898
a1289887
MR
58992019-11-18 Maciej W. Rozycki <macro@wdc.com>
5900
5901 * testsuite/Makefile.in: Regenerate.
5902
8916ba87
AS
59032019-11-15 Andrew Stubbs <ams@codesourcery.com>
5904
5905 * testsuite/libgomp.c/target-print-1.c: New file.
5906 * testsuite/libgomp.fortran/target-print-1.f90: New file.
5907 * testsuite/libgomp.oacc-c/print-1.c: New file.
5908 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5909
237957cc
AS
59102019-11-13 Andrew Stubbs <ams@codesourcery.com>
5911 Kwok Cheung Yeung <kcy@codesourcery.com>
5912 Julian Brown <julian@codesourcery.com>
5913 Tom de Vries <tom@codesourcery.com>
5914
5915 * plugin/Makefrag.am: Add amdgcn plugin support.
5916 * plugin/configfrag.ac: Likewise.
5917 * plugin/plugin-gcn.c: New file.
5918 * configure: Regenerate.
5919 * Makefile.in: Regenerate.
5920 * testsuite/Makefile.in: Regenerate.
5921
cee16451
AS
59222019-11-13 Andrew Stubbs <ams@codesourcery.com>
5923
5924 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5925 and use team_malloc variants.
5926 (gomp_gcn_exit_kernel): Use team_free.
5927 * libgomp.h (TEAM_ARENA_SIZE): Define.
5928 (TEAM_ARENA_START): Define.
5929 (TEAM_ARENA_FREE): Define.
5930 (TEAM_ARENA_END): Define.
5931 (team_malloc): New function.
5932 (team_malloc_cleared): New function.
5933 (team_free): New function.
5934 * team.c (gomp_new_team): Initialize and use team_malloc.
5935 (free_team): Use team_free.
5936 (gomp_free_thread): Use team_free.
5937 (gomp_pause_host): Use team_free.
5938 * work.c (gomp_init_work_share): Use team_malloc.
5939 (gomp_fini_work_share): Use team_free.
5940
fa499995
AS
59412019-11-13 Andrew Stubbs <ams@codesourcery.com>
5942 Kwok Cheung Yeung <kcy@codesourcery.com>
5943 Julian Brown <julian@codesourcery.com>
5944 Tom de Vries <tom@codesourcery.com>
5945
5946 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5947 * Makefile.in: Regenerate.
5948 * config.h.in (PLUGIN_GCN): Add new undef.
5949 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
5950 * config/gcn/affinity-fmt.c: New file.
5951 * config/gcn/bar.c: New file.
5952 * config/gcn/bar.h: New file.
5953 * config/gcn/doacross.h: New file.
5954 * config/gcn/icv-device.c: New file.
5955 * config/gcn/oacc-target.c: New file.
5956 * config/gcn/simple-bar.h: New file.
5957 * config/gcn/target.c: New file.
5958 * config/gcn/task.c: New file.
5959 * config/gcn/team.c: New file.
5960 * config/gcn/time.c: New file.
5961 * configure.ac: Add amdgcn*-*-*.
5962 * configure: Regenerate.
5963 * configure.tgt: Add amdgcn*-*-*.
5964 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5965 * libgomp.h (gcn_thrs): Add amdgcn variant.
5966 (set_gcn_thrs): Likewise.
5967 (gomp_thread): Likewise.
5968 * oacc-int.h (goacc_thread): Likewise.
5969 * oacc-target.c: New file.
5970 * openacc.f90 (acc_device_gcn): New parameter.
5971 * openacc.h (acc_device_t): Add acc_device_gcn.
5972 * team.c (gomp_free_pool_helper): Add amdgcn support.
5973
d2903ce0
AS
59742019-11-13 Andrew Stubbs <ams@codesourcery.com>
5975 Julian Brown <julian@codesourcery.com>
5976
5977 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5978 parameter.
5979 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5980 queue constructor.
5981 * oacc-host.c (host_openacc_async_construct): Add device parameter.
5982 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5983 device parameter.
5984
b3d14b3a
AS
59852019-11-13 Andrew Stubbs <ams@codesourcery.com>
5986
5987 * configure.tgt (nvptx*-*-*): Add "accel" directory.
5988 * config/nvptx/libgomp-plugin.c: Move ...
5989 * config/accel/libgomp-plugin.c: ... to here.
5990 * config/nvptx/lock.c: Move ...
5991 * config/accel/lock.c: ... to here.
5992 * config/nvptx/mutex.c: Move ...
5993 * config/accel/mutex.c: ... to here.
5994 * config/nvptx/mutex.h: Move ...
5995 * config/accel/mutex.h: ... to here.
5996 * config/nvptx/oacc-async.c: Move ...
5997 * config/accel/oacc-async.c: ... to here.
5998 * config/nvptx/oacc-cuda.c: Move ...
5999 * config/accel/oacc-cuda.c: ... to here.
6000 * config/nvptx/oacc-host.c: Move ...
6001 * config/accel/oacc-host.c: ... to here.
6002 * config/nvptx/oacc-init.c: Move ...
6003 * config/accel/oacc-init.c: ... to here.
6004 * config/nvptx/oacc-mem.c: Move ...
6005 * config/accel/oacc-mem.c: ... to here.
6006 * config/nvptx/oacc-plugin.c: Move ...
6007 * config/accel/oacc-plugin.c: ... to here.
6008 * config/nvptx/omp-lock.h: Move ...
6009 * config/accel/omp-lock.h: ... to here.
6010 * config/nvptx/openacc.f90: Move ...
6011 * config/accel/openacc.f90: ... to here.
6012 * config/nvptx/pool.h: Move ...
6013 * config/accel/pool.h: ... to here.
6014 * config/nvptx/proc.c: Move ...
6015 * config/accel/proc.c: ... to here.
6016 * config/nvptx/ptrlock.c: Move ...
6017 * config/accel/ptrlock.c: ... to here.
6018 * config/nvptx/ptrlock.h: Move ...
6019 * config/accel/ptrlock.h: ... to here.
6020 * config/nvptx/sem.c: Move ...
6021 * config/accel/sem.c: ... to here.
6022 * config/nvptx/sem.h: Move ...
6023 * config/accel/sem.h: ... to here.
6024 * config/nvptx/thread-stacksize.h: Move ...
6025 * config/accel/thread-stacksize.h: ... to here.
6026
62aee289
MR
60272019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
6028 Tobias Burnus <tobias@codesourcery.com>
6029 Frederik Harwath <frederik@codesourcery.com>
6030 Thomas Schwinge <thomas@codesourcery.com>
6031
6032 libgomp/
6033 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
6034 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
6035 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
6036
a2c26c50
TB
60372019-11-11 Tobias Burnus <tobias@codesourcery.com>
6038 Kwok Cheung Yeung <kcy@codesourcery.com>
6039
6040 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
6041 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
6042
6d4868f3
TS
60432019-11-11 Thomas Schwinge <thomas@codesourcery.com>
6044
bfa1837b
TS
6045 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
6046
6d4868f3
TS
6047 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
6048 run'.
6049 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
6050 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
6051
5d183d17
FH
60522019-11-06 Thomas Schwinge <thomas@codesourcery.com>
6053
6054 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
6055 Add expected warnings about missing reduction clauses.
6056 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
6057 Likewise.
6058 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
6059 Likewise.
6060 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
6061 Likewise.
6062
d8f03b03
TB
60632019-11-04 Tobias Burnus <tobias@codesourcery.com>
6064
6065 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
6066 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
6067 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
6068 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
6069 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
6070 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
6071
12fd2ec5
TB
60722019-11-04 Tobias Burnus <tobias@codesourcery.com>
6073
6074 PR fortran/92305
6075 * testsuite/libgomp.fortran/allocatable2.f90: Use
6076 unique numbers with 'stop'.
6077 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
6078 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
6079 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
6080 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
6081 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
6082
92e63bd2
TB
60832019-11-01 Tobias Burnus <tobias@codesourcery.com>
6084
6085 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
6086 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
6087 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
6088 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
6089 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
6090 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
6091
91ae0a46
TB
60922019-10-30 Tobias Burnus <tobias@codesourcery.com>
6093
6094 * testsuite/libgomp.fortran/target9.f90: New.
6095
c425e66b
TB
60962019-10-30 Tobias Burnus <tobias@codesourcery.com>
6097
6098 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
6099 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
6100 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
6101 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
6102 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
6103 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
6104 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
6105 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
6106 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
6107 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
6108 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
6109 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
6110 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
6111 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
6112 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
6113 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
6114 * testsuite/libgomp.fortran/associate1.f90: Ditto.
6115 * testsuite/libgomp.fortran/associate2.f90: Ditto.
6116 * testsuite/libgomp.fortran/associate3.f90: Ditto.
6117 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
6118 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
6119 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
6120 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
6121 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
6122 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
6123 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
6124 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
6125 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
6126 * testsuite/libgomp.fortran/character1.f90: Ditto.
6127 * testsuite/libgomp.fortran/character2.f90: Ditto.
6128 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
6129 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
6130 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
6131 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
6132 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
6133 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
6134 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
6135 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
6136 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
6137 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
6138 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
6139 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
6140 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
6141 * testsuite/libgomp.fortran/do1.f90: Ditto.
6142 * testsuite/libgomp.fortran/do2.f90: Ditto.
6143 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
6144 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
6145 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
6146 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
6147 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
6148 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
6149 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
6150 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
6151 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
6152 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
6153 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
6154 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
6155 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
6156 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
6157 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
6158 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
6159 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
6160 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
6161 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
6162 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
6163 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
6164 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
6165 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
6166 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
6167 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
6168 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
6169 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
6170 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
6171 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
6172 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
6173 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
6174 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
6175 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
6176 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
6177 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
6178 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
6179 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
6180 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
6181 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
6182 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
6183 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
6184 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
6185 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
6186 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
6187 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
6188 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
6189 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
6190 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
6191 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
6192 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
6193 * testsuite/libgomp.fortran/lib1.f90: Ditto.
6194 * testsuite/libgomp.fortran/lib4.f90: Ditto.
6195 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
6196 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
6197 * testsuite/libgomp.fortran/nested1.f90: Ditto.
6198 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
6199 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
6200 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
6201 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
6202 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
6203 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
6204 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
6205 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
6206 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
6207 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
6208 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
6209 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
6210 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
6211 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
6212 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
6213 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
6214 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
6215 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
6216 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
6217 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
6218 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
6219 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
6220 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
6221 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
6222 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
6223 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
6224 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
6225 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
6226 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
6227 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
6228 * testsuite/libgomp.fortran/pr28390.f: Ditto.
6229 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
6230 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
6231 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
6232 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
6233 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
6234 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
6235 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
6236 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
6237 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
6238 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
6239 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
6240 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
6241 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
6242 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
6243 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
6244 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
6245 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
6246 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
6247 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
6248 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
6249 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
6250 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
6251 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
6252 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
6253 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
6254 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
6255 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
6256 * testsuite/libgomp.fortran/reference1.f90: Ditto.
6257 * testsuite/libgomp.fortran/reference2.f90: Ditto.
6258 * testsuite/libgomp.fortran/retval1.f90: Ditto.
6259 * testsuite/libgomp.fortran/retval2.f90: Ditto.
6260 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
6261 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
6262 * testsuite/libgomp.fortran/simd1.f90: Ditto.
6263 * testsuite/libgomp.fortran/simd2.f90: Ditto.
6264 * testsuite/libgomp.fortran/simd3.f90: Ditto.
6265 * testsuite/libgomp.fortran/simd4.f90: Ditto.
6266 * testsuite/libgomp.fortran/simd5.f90: Ditto.
6267 * testsuite/libgomp.fortran/simd6.f90: Ditto.
6268 * testsuite/libgomp.fortran/simd7.f90: Ditto.
6269 * testsuite/libgomp.fortran/stack.f90: Ditto.
6270 * testsuite/libgomp.fortran/strassen.f90: Ditto.
6271 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
6272 * testsuite/libgomp.fortran/tabs2.f: Ditto.
6273 * testsuite/libgomp.fortran/target1.f90: Ditto.
6274 * testsuite/libgomp.fortran/target2.f90: Ditto.
6275 * testsuite/libgomp.fortran/target3.f90: Ditto.
6276 * testsuite/libgomp.fortran/target4.f90: Ditto.
6277 * testsuite/libgomp.fortran/target5.f90: Ditto.
6278 * testsuite/libgomp.fortran/target6.f90: Ditto.
6279 * testsuite/libgomp.fortran/target7.f90: Ditto.
6280 * testsuite/libgomp.fortran/target8.f90: Ditto.
6281 * testsuite/libgomp.fortran/task1.f90: Ditto.
6282 * testsuite/libgomp.fortran/task2.f90: Ditto.
6283 * testsuite/libgomp.fortran/task3.f90: Ditto.
6284 * testsuite/libgomp.fortran/task4.f90: Ditto.
6285 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
6286 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
6287 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
6288 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
6289 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
6290 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
6291 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
6292 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
6293 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
6294 * testsuite/libgomp.fortran/udr1.f90: Ditto.
6295 * testsuite/libgomp.fortran/udr10.f90: Ditto.
6296 * testsuite/libgomp.fortran/udr11.f90: Ditto.
6297 * testsuite/libgomp.fortran/udr12.f90: Ditto.
6298 * testsuite/libgomp.fortran/udr13.f90: Ditto.
6299 * testsuite/libgomp.fortran/udr14.f90: Ditto.
6300 * testsuite/libgomp.fortran/udr15.f90: Ditto.
6301 * testsuite/libgomp.fortran/udr2.f90: Ditto.
6302 * testsuite/libgomp.fortran/udr3.f90: Ditto.
6303 * testsuite/libgomp.fortran/udr4.f90: Ditto.
6304 * testsuite/libgomp.fortran/udr5.f90: Ditto.
6305 * testsuite/libgomp.fortran/udr6.f90: Ditto.
6306 * testsuite/libgomp.fortran/udr7.f90: Ditto.
6307 * testsuite/libgomp.fortran/udr8.f90: Ditto.
6308 * testsuite/libgomp.fortran/udr9.f90: Ditto.
6309 * testsuite/libgomp.fortran/vla1.f90: Ditto.
6310 * testsuite/libgomp.fortran/vla2.f90: Ditto.
6311 * testsuite/libgomp.fortran/vla3.f90: Ditto.
6312 * testsuite/libgomp.fortran/vla4.f90: Ditto.
6313 * testsuite/libgomp.fortran/vla5.f90: Ditto.
6314 * testsuite/libgomp.fortran/vla6.f90: Ditto.
6315 * testsuite/libgomp.fortran/vla7.f90: Ditto.
6316 * testsuite/libgomp.fortran/vla8.f90: Ditto.
6317 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
6318 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
6319
01509e2f
TB
63202019-10-30 Tobias Burnus <tobias@codesourcery.com>
6321
6322 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
6323 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
6324 Ditto; add 'dg-do run' for torture testing.
6325 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
6326 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
6327 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
6328 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
6329 * testsuite/libgomp.fortran/pr28390.f: Ditto.
6330 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
6331 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
6332 * testsuite/libgomp.fortran/task2.f90: Ditto.
6333 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
6334 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
6335 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
6336 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
6337 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
6338 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
6339
ffbdd78a
TB
63402019-10-28 Tobias Burnus <tobias@codesourcery.com>
6341
6342 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
6343 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
6344 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
6345 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
6346 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
6347 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
6348 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
6349 Use 'stop' not abort().
6350 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
6351 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
6352 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
6353 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
6354 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
6355 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
6356 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
6357 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
6358 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
6359 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
6360 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
6361 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
6362 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
6363 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
6364 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
6365 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
6366 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
6367 Ditto.
6368 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6369 Ditto.
6370 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6371 Ditto.
6372 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6373 Ditto.
6374 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6375 Ditto.
6376 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
6377 Ditto.
6378 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
6379 Ditto.
6380 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
6381 Ditto.
6382 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
6383 Ditto.
6384 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
6385 Ditto.
6386 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
6387 Ditto.
6388 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
6389 Ditto.
6390 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
6391 Ditto.
6392 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
6393 Ditto.
6394 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
6395 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
6396 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
6397 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
6398 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
6399 Likewise and also add 'dg-do run'.
6400 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
6401 Ditto.
6402
ec084613
CP
64032019-10-25 Cesar Philippidis <cesar@codesourcery.com>
6404 Tobias Burnus <tobias@codesourcery.com>
6405
6406 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
6407 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
6408 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
6409
77ef3394
JJ
64102019-10-14 Jakub Jelinek <jakub@redhat.com>
6411
6412 PR libgomp/92081
6413 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
6414 than 0.
6415
08c14aaa
TB
64162019-10-11 Tobias Burnus <tobias@codesourcery.com>
6417
6418 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
6419 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
6420
6bbead0c
TS
64212019-10-09 Thomas Schwinge <thomas@codesourcery.com>
6422
6423 PR middle-end/92036
6424 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
6425 file.
6426
eba3dee8
TB
64272019-10-09 Tobias Burnus <tobias@codesourcery.com>
6428
6429 PR testsuite/91884
6430 * testsuite/libgomp.fortran/fortran.exp: Conditionally
6431 add -lquadmath.
6432 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
6433
7d48e14f
JJ
64342019-10-09 Jakub Jelinek <jakub@redhat.com>
6435
6436 PR libgomp/92028
6437 * target.c (gomp_map_vars_internal): Readd the previous
6438 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
6439 though do that just in the !not_found_cnt case.
6440
65b67cf3
TB
64412019-10-08 Tobias Burnus <tobias@codesourcery.com>
6442
6443 * gfortran.dg/gomp/target-simd.f90: New.
6444
6c7e076b
JB
64452019-10-02 Julian Brown <julian@codesourcery.com>
6446 Cesar Philippidis <cesar@codesourcery.com>
6447
6448 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
6449 * target.c (FIELD_TGT_EMPTY): Define.
6450 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
6451 as switch instead of list of ifs.
6452 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
6453
d61bff85
AT
64542019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
6455
6456 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
6457 include. Replace alloca () with __builtin_alloca ().
6458 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
6459
810f316d
JJ
64602019-10-01 Jakub Jelinek <jakub@redhat.com>
6461
6462 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
6463 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
6464 * oacc-parallel.c: Don't include "libgomp_g.h".
6465 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
6466 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
6467 * aclocal.m4: Regenerated.
6468 * config.h.in: Regenerated.
6469 * configure: Regenerated.
6470 * Makefile.in: Regenerated.
6471
d7f9ee98
KCY
64722019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
6473
6474 * libgomp_g.h: Include stdint.h instead of gstdint.h.
6475
e9085da5
MR
64762019-09-27 Maciej W. Rozycki <macro@wdc.com>
6477
6478 * configure: Regenerate.
6479
c28712be
TB
64802019-09-13 Tobias Burnus <tobias@codesourcery.com>
6481
6482 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
6483 string is initialized.
6484
3c086f8d
FW
64852019-09-06 Florian Weimer <fweimer@redhat.com>
6486
6487 * configure: Regenerate.
6488
c6c2d1bc
CLT
64892019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
6490
6491 PR other/79543
6492 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
6493 scanning to conform to the GNU Coding Standards.
6494 * configure: Regenerate.
6495
5cb72d83
JJ
64962019-08-28 Jakub Jelinek <jakub@redhat.com>
6497
6498 PR libgomp/91530
6499 * testsuite/libgomp.c/scan-21.c: New test.
6500 * testsuite/libgomp.c/scan-22.c: New test.
6501
0ad7981c
JJ
65022019-08-27 Jakub Jelinek <jakub@redhat.com>
6503
6504 PR libgomp/91530
6505 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
6506 targets.
6507 * testsuite/libgomp.c/scan-12.c: Likewise.
6508 * testsuite/libgomp.c/scan-13.c: Likewise.
6509 * testsuite/libgomp.c/scan-14.c: Likewise.
6510 * testsuite/libgomp.c/scan-15.c: Likewise.
6511 * testsuite/libgomp.c/scan-16.c: Likewise.
6512 * testsuite/libgomp.c/scan-17.c: Likewise.
6513 * testsuite/libgomp.c/scan-18.c: Likewise.
6514 * testsuite/libgomp.c/scan-19.c: Likewise.
6515 * testsuite/libgomp.c/scan-20.c: Likewise.
6516 * testsuite/libgomp.c++/scan-9.C: Likewise.
6517 * testsuite/libgomp.c++/scan-10.C: Likewise.
6518 * testsuite/libgomp.c++/scan-11.C: Likewise.
6519 * testsuite/libgomp.c++/scan-12.C: Likewise.
6520 * testsuite/libgomp.c++/scan-14.C: Likewise.
6521 * testsuite/libgomp.c++/scan-15.C: Likewise.
6522 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
6523 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
6524 * testsuite/libgomp.c++/scan-16.C: Likewise.
6525
1e67491a
TK
65262019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
6527
6528 PR fortran/91473
6529 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
6530 -std=legacy so invalid code in the test case is accepted.
6531
393fdeb1
TK
65322019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
6533
6534 PR fortran/91422
6535 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
6536 dimension.
6537
8860d270
JJ
65382019-08-08 Jakub Jelinek <jakub@redhat.com>
6539
6540 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
6541 perform the lookup in the first loop only if !not_found_cnt, otherwise
6542 perform lookups for it in the second loop guarded with
6543 if (not_found_cnt || has_firstprivate).
6544 * testsuite/libgomp.c/target-37.c: New test.
6545 * testsuite/libgomp.c++/target-22.C: New test.
6546
398e3feb
JJ
65472019-08-07 Jakub Jelinek <jakub@redhat.com>
6548
6549 * testsuite/libgomp.c/target-18.c (struct S): New type.
6550 (foo): Use use_device_addr clause instead of use_device_ptr clause
6551 where required by OpenMP 5.0, add further tests for both use_device_ptr
6552 and use_device_addr clauses.
6553 * testsuite/libgomp.c++/target-9.C (struct S): New type.
6554 (foo): Use use_device_addr clause instead of use_device_ptr clause
6555 where required by OpenMP 5.0, add further tests for both use_device_ptr
6556 and use_device_addr clauses. Add t and u arguments.
6557 (main): Adjust caller.
6558
d81ab49d
JJ
65592019-08-06 Jakub Jelinek <jakub@redhat.com>
6560
6561 * testsuite/libgomp.c++/loop-13.C: New test.
6562 * testsuite/libgomp.c++/loop-14.C: New test.
6563 * testsuite/libgomp.c++/loop-15.C: New test.
6564
c3ac76aa
JJ
65652019-07-31 Jakub Jelinek <jakub@redhat.com>
6566
6567 PR middle-end/91301
6568 * testsuite/libgomp.c++/for-27.C: New test.
6569
8dc63166
SK
65702019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
6571
393fdeb1 6572 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 6573 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 6574
554a530f
JJ
65752019-07-20 Jakub Jelinek <jakub@redhat.com>
6576
6577 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
6578
6cda84b5
JJ
65792019-07-08 Jakub Jelinek <jakub@redhat.com>
6580
6581 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
6582 * testsuite/libgomp.c++/scan-16.C: Likewise.
6583
1f52d1a8
JJ
65842019-07-06 Jakub Jelinek <jakub@redhat.com>
6585
6f67abcd
JJ
6586 * testsuite/libgomp.c/scan-19.c: New test.
6587 * testsuite/libgomp.c/scan-20.c: New test.
6588
1f52d1a8
JJ
6589 * testsuite/libgomp.c/scan-11.c: New test.
6590 * testsuite/libgomp.c/scan-12.c: New test.
6591 * testsuite/libgomp.c/scan-13.c: New test.
6592 * testsuite/libgomp.c/scan-14.c: New test.
6593 * testsuite/libgomp.c/scan-15.c: New test.
6594 * testsuite/libgomp.c/scan-16.c: New test.
6595 * testsuite/libgomp.c/scan-17.c: New test.
6596 * testsuite/libgomp.c/scan-18.c: New test.
6597 * testsuite/libgomp.c++/scan-9.C: New test.
6598 * testsuite/libgomp.c++/scan-10.C: New test.
6599 * testsuite/libgomp.c++/scan-11.C: New test.
6600 * testsuite/libgomp.c++/scan-12.C: New test.
6601 * testsuite/libgomp.c++/scan-13.C: New test.
6602 * testsuite/libgomp.c++/scan-14.C: New test.
6603 * testsuite/libgomp.c++/scan-15.C: New test.
6604 * testsuite/libgomp.c++/scan-16.C: New test.
6605
2f03073f
JJ
66062019-07-04 Jakub Jelinek <jakub@redhat.com>
6607
6608 * testsuite/libgomp.c/scan-9.c: New test.
6609 * testsuite/libgomp.c/scan-10.c: New test.
6610
2f6bb511
JJ
66112019-07-03 Jakub Jelinek <jakub@redhat.com>
6612
6613 * testsuite/libgomp.c++/scan-1.C: New test.
6614 * testsuite/libgomp.c++/scan-2.C: New test.
6615 * testsuite/libgomp.c++/scan-3.C: New test.
6616 * testsuite/libgomp.c++/scan-4.C: New test.
6617 * testsuite/libgomp.c++/scan-5.C: New test.
6618 * testsuite/libgomp.c++/scan-6.C: New test.
6619 * testsuite/libgomp.c++/scan-7.C: New test.
6620 * testsuite/libgomp.c++/scan-8.C: New test.
6621 * testsuite/libgomp.c/scan-1.c: New test.
6622 * testsuite/libgomp.c/scan-2.c: New test.
6623 * testsuite/libgomp.c/scan-3.c: New test.
6624 * testsuite/libgomp.c/scan-4.c: New test.
6625 * testsuite/libgomp.c/scan-5.c: New test.
6626 * testsuite/libgomp.c/scan-6.c: New test.
6627 * testsuite/libgomp.c/scan-7.c: New test.
6628 * testsuite/libgomp.c/scan-8.c: New test.
6629
bd194a51
TS
66302019-06-18 Thomas Schwinge <thomas@codesourcery.com>
6631
85fca03a
TS
6632 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
6633 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
6634 Likewise.
6635
bd194a51
TS
6636 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
6637 check.
6638
6652161e
CP
66392019-06-18 Cesar Philippidis <cesar@codesourcery.com>
6640
6641 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
6642 file.
6643
3a37d6f6
TS
66442019-06-18 Thomas Schwinge <thomas@codesourcery.com>
6645
4017da8d
TS
6646 PR fortran/90743
6647 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
6648 case.
6649 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
6650 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
6651 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
6652 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
6653
6f7c1f65
TS
6654 PR testsuite/90861
6655 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
6656
3a37d6f6
TS
6657 PR middle-end/90862
6658 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
6659
f45ce17d
TV
66602019-06-16 Tom de Vries <tdevries@suse.de>
6661
6662 PR tree-optimization/89376
6663 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
6664
00908992
TV
66652019-06-15 Tom de Vries <tdevries@suse.de>
6666
6667 PR tree-optimization/89713
6668 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
6669 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
6670
211b7533
JJ
66712019-06-15 Jakub Jelinek <jakub@redhat.com>
6672
6673 PR middle-end/90779
6674 * testsuite/libgomp.c/pr90779.c: New test.
6675 * testsuite/libgomp.fortran/pr90779.f90: New test.
6676
120a01d1
TV
66772019-06-15 Tom de Vries <tdevries@suse.de>
6678
6679 PR tree-optimization/90009
6680 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
6681
c29c92c7
FX
66822019-06-13 Feng Xue <fxue@os.amperecomputing.com>
6683
6684 PR tree-optimization/89713
6685 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
6686
ce9c4ec3
JJ
66872019-06-11 Jakub Jelinek <jakub@redhat.com>
6688
6689 PR target/90811
6690 * testsuite/libgomp.c/pr90811.c: New test.
6691
28b3a77c
JJ
66922019-06-05 Jakub Jelinek <jakub@redhat.com>
6693
6694 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
6695 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
6696
7855700e
JJ
66972019-06-04 Jakub Jelinek <jakub@redhat.com>
6698
6699 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
6700 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
6701 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
6702 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
6703
a7155c2e
RO
67042019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6705
6706 * configure.ac: Call AX_COUNT_CPUS.
6707 Substitute CPU_COUNT.
6708 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
6709 count fallback.
6710 * aclocal.m4: Regenerate.
6711 * configure: Regenerate.
6712 * Makefile.in, testsuite/Makefile.in: Regenerate.
6713
7e47198b
JJ
67142019-05-29 Jakub Jelinek <jakub@redhat.com>
6715
6716 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
6717 to ...
6718 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
6719 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
6720 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
6721
fcfb8032
JJ
67222019-05-27 Jakub Jelinek <jakub@redhat.com>
6723
8e7757ba
JJ
6724 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
6725
36c7a3ff
JJ
6726 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
6727
fcfb8032
JJ
6728 PR libgomp/90641
6729 * work.c (gomp_init_work_share): Instead of aligning final ordered
6730 value to multiples of long long alignment, align to that the
6731 first part (ordered team ids) and if inline_ordered_team_ids
6732 is not on a long long alignment boundary within the structure,
6733 use __alignof__ (long long) - 1 pad size always.
6734 * loop.c (GOMP_loop_start): Fix *mem computation if
6735 inline_ordered_team_ids is not aligned on long long alignment boundary
6736 within the structure.
6737 * loop-ull.c (GOMP_loop_ull_start): Likewise.
6738 * sections.c (GOMP_sections2_start): Likewise.
6739
b5c26449
JJ
67402019-05-24 Jakub Jelinek <jakub@redhat.com>
6741
6c7ae8c5
JJ
6742 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
6743 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
6744
b5c26449
JJ
6745 PR libgomp/90585
6746 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
6747 HAVE_INTTYPES_H is defined.
6748 (print_uint64_t): New typedef.
6749 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
6750 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
6751 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
6752 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
6753 before casting to void *.
6754 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
6755 * oacc-mem.c: Don't include config.h nor stdint.h.
6756 * target.c: Don't include config.h.
6757 * oacc-cuda.c: Likewise.
6758 * oacc-host.c: Don't include stdint.h.
6759
3e03ed66
JJ
67602019-05-20 Jakub Jelinek <jakub@redhat.com>
6761
6762 PR libgomp/90527
6763 * alloc.c (_GNU_SOURCE): Define.
6764
5fae049d
TS
67652019-05-17 Thomas Schwinge <thomas@codesourcery.com>
6766
6767 * acc_prof.h: New file.
6768 * oacc-profiling.c: Likewise.
6769 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6770 Add these, respectively.
6771 * Makefile.in: Regenerate.
6772 * env.c (initialize_env): Call goacc_profiling_initialize.
6773 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
6774 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
6775 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
6776 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
6777 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
6778 acc_prof_register, acc_prof_unregister, and acc_register_library.
6779 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
6780 GOMP_PLUGIN_goacc_thread.
6781 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
6782 prof_callbacks_enabled members.
6783 (goacc_prof_enabled, goacc_profiling_initialize)
6784 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
6785 (goacc_profiling_dispatch): Declare.
6786 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
6787 (GOACC_PROFILING_SETUP_P): Define.
6788 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
6789 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
6790 OpenACC Profiling Interface.
6791 * oacc-cuda.c (acc_get_current_cuda_device)
6792 (acc_get_current_cuda_context, acc_get_cuda_stream)
6793 (acc_set_cuda_stream): Likewise.
6794 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
6795 (acc_init, acc_set_device_type, acc_get_device_type)
6796 (acc_get_device_num, goacc_lazy_initialize): Likewise.
6797 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
6798 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
6799 (acc_unmap_data, present_create_copy, delete_copyout)
6800 (update_dev_host): Likewise.
6801 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
6802 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
6803 Likewise.
6804 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6805 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6806 Likewise.
6807 * libgomp.texi: Update.
6808 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
6809 file.
6810 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
6811 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6812 Likewise.
6813 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6814 Likewise.
6815 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6816 Likewise.
6817 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6818 Likewise.
6819
1f4c5b9b
CLT
68202019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
6821
6822 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
6823 (struct goacc_asyncqueue_list): Likewise.
6824 (goacc_aq): Likewise.
6825 (goacc_aq_list): Likewise.
6826 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6827 (GOMP_OFFLOAD_openacc_async_test): Remove.
6828 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6829 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6830 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6831 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6832 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6833 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6834 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
6835 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
6836 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
6837 (GOMP_OFFLOAD_openacc_async_exec): Declare.
6838 (GOMP_OFFLOAD_openacc_async_construct): Declare.
6839 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
6840 (GOMP_OFFLOAD_openacc_async_test): Declare.
6841 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
6842 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
6843 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
6844 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
6845 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
6846
6847 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
6848 (gomp_acc_insert_pointer): Adjust declaration.
6849 (gomp_copy_host2dev): New declaration.
6850 (gomp_copy_dev2host): Likewise.
6851 (gomp_map_vars_async): Likewise.
6852 (gomp_unmap_tgt): Likewise.
6853 (gomp_unmap_vars_async): Likewise.
6854 (gomp_fini_device): Likewise.
6855
6856 * oacc-async.c (get_goacc_thread): New function.
6857 (get_goacc_thread_device): New function.
6858 (lookup_goacc_asyncqueue): New function.
6859 (get_goacc_asyncqueue): New function.
6860 (acc_async_test): Adjust code to use new async design.
6861 (acc_async_test_all): Likewise.
6862 (acc_wait): Likewise.
6863 (acc_wait_async): Likewise.
6864 (acc_wait_all): Likewise.
6865 (acc_wait_all_async): Likewise.
6866 (goacc_async_free): New function.
6867 (goacc_init_asyncqueues): Likewise.
6868 (goacc_fini_asyncqueues): Likewise.
6869 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
6870 design.
6871 (acc_set_cuda_stream): Likewise.
6872 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
6873 (host_openacc_register_async_cleanup): Remove.
6874 (host_openacc_async_exec): New function.
6875 (host_openacc_async_test): Adjust parameters.
6876 (host_openacc_async_test_all): Remove.
6877 (host_openacc_async_wait): Remove.
6878 (host_openacc_async_wait_async): Remove.
6879 (host_openacc_async_wait_all): Remove.
6880 (host_openacc_async_wait_all_async): Remove.
6881 (host_openacc_async_set_async): Remove.
6882 (host_openacc_async_synchronize): New function.
6883 (host_openacc_async_serialize): New function.
6884 (host_openacc_async_host2dev): New function.
6885 (host_openacc_async_dev2host): New function.
6886 (host_openacc_async_queue_callback): New function.
6887 (host_openacc_async_construct): New function.
6888 (host_openacc_async_destruct): New function.
6889 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 6890 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
6891 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6892 (goacc_attach_host_thread_to_device): Remove old async code usage.
6893 * oacc-int.h (goacc_init_asyncqueues): New declaration.
6894 (goacc_fini_asyncqueues): Likewise.
6895 (goacc_async_copyout_unmap_vars): Likewise.
6896 (goacc_async_free): Likewise.
6897 (get_goacc_asyncqueue): Likewise.
6898 (lookup_goacc_asyncqueue): Likewise.
6899 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6900 design.
6901 (present_create_copy): Adjust code to use new async design.
6902 (delete_copyout): Likewise.
6903 (update_dev_host): Likewise.
6904 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6905 async design.
6906 (gomp_acc_remove_pointer): Adjust code to use new async design.
6907 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6908 design.
6909 (GOACC_enter_exit_data): Likewise.
6910 (goacc_wait): Likewise.
6911 (GOACC_update): Likewise.
6912 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6913 when called, warn as obsolete in comment.
6914 * target.c (goacc_device_copy_async): New function.
6915 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6916 add goacc_device_copy_async case.
6917 (gomp_copy_dev2host): Likewise.
6918 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6919 (gomp_map_pointer): Likewise.
6920 (gomp_map_fields_existing): Likewise.
6921 (gomp_map_vars_internal): New always_inline function, renamed from
6922 gomp_map_vars.
6923 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
6924 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6925 passing goacc_asyncqueue argument.
6926 (gomp_unmap_tgt): Remove static, add attribute_hidden.
6927 (gomp_unref_tgt): New function.
6928 (gomp_unmap_vars_internal): New always_inline function, renamed from
6929 gomp_unmap_vars.
6930 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6931 (gomp_unmap_vars_async): Implement by calling
6932 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6933 (gomp_fini_device): New function.
6934 (gomp_exit_data): Adjust gomp_copy_dev2host call.
6935 (gomp_load_plugin_for_device): Remove old interface, adjust to load
6936 new async interface.
6937 (gomp_target_fini): Adjust code to call gomp_fini_device.
6938
6939 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
6940 (struct ptx_stream): Remove.
6941 (struct nvptx_thread): Remove current_stream field.
6942 (cuda_map_create): Remove.
6943 (cuda_map_destroy): Remove.
6944 (map_init): Remove.
6945 (map_fini): Remove.
6946 (map_pop): Remove.
6947 (map_push): Remove.
6948 (struct goacc_asyncqueue): Define.
6949 (struct nvptx_callback): Define.
6950 (struct ptx_free_block): Define.
6951 (struct ptx_device): Remove null_stream, active_streams, async_streams,
6952 stream_lock, and next fields.
6953 (enum ptx_event_type): Remove.
6954 (struct ptx_event): Remove.
6955 (ptx_event_lock): Remove.
6956 (ptx_events): Remove.
6957 (init_streams_for_device): Remove.
6958 (fini_streams_for_device): Remove.
6959 (select_stream_for_async): Remove.
6960 (nvptx_init): Remove ptx_events and ptx_event_lock references.
6961 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6962 case.
6963 (nvptx_open_device): Add free_blocks initialization, remove
6964 init_streams_for_device call.
6965 (nvptx_close_device): Remove fini_streams_for_device call, add
6966 free_blocks destruct code.
6967 (event_gc): Remove.
6968 (event_add): Remove.
6969 (nvptx_exec): Adjust parameters and code.
6970 (nvptx_free): Likewise.
6971 (nvptx_host2dev): Remove.
6972 (nvptx_dev2host): Remove.
6973 (nvptx_set_async): Remove.
6974 (nvptx_async_test): Remove.
6975 (nvptx_async_test_all): Remove.
6976 (nvptx_wait): Remove.
6977 (nvptx_wait_async): Remove.
6978 (nvptx_wait_all): Remove.
6979 (nvptx_wait_all_async): Remove.
6980 (nvptx_get_cuda_stream): Remove.
6981 (nvptx_set_cuda_stream): Remove.
6982 (GOMP_OFFLOAD_alloc): Adjust code.
6983 (GOMP_OFFLOAD_free): Likewise.
6984 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6985 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6986 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6987 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6988 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6989 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6990 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6991 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6992 (cuda_free_argmem): New function.
6993 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6994 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6995 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6996 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6997 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6998 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6999 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
7000 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
7001 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
7002 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
7003 (cuda_callback_wrapper): New function.
7004 (cuda_memcpy_sanity_check): New function.
7005 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
7006 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
7007 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
7008 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
7009
da2d30c1
TS
70102019-05-07 Thomas Schwinge <thomas@codesourcery.com>
7011
7012 PR target/87835
7013 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
7014
2bbbfa4e
TS
70152019-05-06 Thomas Schwinge <thomas@codesourcery.com>
7016
7017 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
7018
bbf1efe1
KB
70192019-03-27 Kevin Buettner <kevinb@redhat.com>
7020
7021 * team.c (gomp_team_start): Initialize pool->threads[0].
7022
1241136c
TS
70232019-02-22 Thomas Schwinge <thomas@codesourcery.com>
7024
b03d721a
TS
7025 * testsuite/libgomp.oacc-c++/c++.exp: Specify
7026 "-foffload=$offload_target".
7027 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7028 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7029 * testsuite/lib/libgomp.exp
7030 (check_effective_target_openacc_nvidia_accel_configured): Remove,
7031 as (conceptually) merged into
7032 check_effective_target_openacc_nvidia_accel_selected. Adjust all
7033 users.
7034
0a0384b4
TS
7035 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
7036 * testsuite/libgomp-test-support.exp.in: Adjust.
7037 * testsuite/lib/libgomp.exp: Likewise. Don't populate
7038 openacc_device_types_s.
7039 (offload_target_to_openacc_device_type): New proc.
7040 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
7041 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7042 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7043 * Makefile.in: Regenerate.
7044 * configure: Likewise.
7045 * testsuite/Makefile.in: Likewise.
7046
ee332b4a
TS
7047 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
7048 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
7049 instead of OFFLOAD_TARGETS.
7050 * target.c (gomp_target_init): Adjust.
7051 * testsuite/libgomp-test-support.exp.in: Likewise.
7052 * testsuite/lib/libgomp.exp: Likewise. Populate
7053 openacc_device_types_s instead of offload_targets_s_openacc.
7054 (check_effective_target_openacc_nvidia_accel_selected)
7055 (check_effective_target_openacc_host_selected): Adjust.
7056 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
7057 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7058 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7059 * Makefile.in: Regenerate.
7060 * config.h.in: Likewise.
7061 * configure: Likewise.
7062 * testsuite/Makefile.in: Likewise.
7063
1241136c
TS
7064 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
7065 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
7066 "offloading: supported, but hardware not accessible".
7067 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7068 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7069
19695f4d
CLT
70702019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
7071
7072 PR c/87924
7073 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
7074 goacc_wait().
7075 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
7076 and related adjustment.
7077
8b44f8ec
JJ
70782019-01-30 Jakub Jelinek <jakub@redhat.com>
7079
7080 PR c++/88988
7081 * testsuite/libgomp.c++/pr88988.C: New test.
7082
be3a87e7
JJ
70832019-01-28 Jakub Jelinek <jakub@redhat.com>
7084
7085 PR middle-end/89002
7086 * testsuite/libgomp.c/pr89002.c: New test.
7087
497ef4d7
RB
70882019-01-28 Richard Biener <rguenther@suse.de>
7089
7090 PR testsuite/89064
7091 PR tree-optimization/86865
7092 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
7093
738c56d4
TV
70942019-01-24 Tom de Vries <tdevries@suse.de>
7095
7096 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
7097 once instantiated_devices drops to 0.
7098
4a75460b
TV
70992019-01-23 Tom de Vries <tdevries@suse.de>
7100
7101 PR target/PR88946
7102 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
7103 cuMemFree.
7104 (nvptx_exec): Don't call map_push if mapnum == 0.
7105 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
7106
4fef8e4d
TV
71072019-01-23 Tom de Vries <tdevries@suse.de>
7108
7109 PR target/88941
7110 PR target/88939
7111 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
7112 (map_fini): Remove "assert (!s->map->active)".
7113 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
7114
2ee6cb22
TV
71152019-01-23 Tom de Vries <tdevries@suse.de>
7116
7117 PR target/87835
7118 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
7119 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
7120
d41d952c
TV
71212019-01-15 Tom de Vries <tdevries@suse.de>
7122
7123 PR target/80547
7124 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
7125 New test.
7126
efb56ae8
TV
71272019-01-12 Tom de Vries <tdevries@suse.de>
7128
7129 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
7130 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
7131 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
7132 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
7133
2c2ff168
TV
71342019-01-12 Tom de Vries <tdevries@suse.de>
7135
7136 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
7137
a1057758
TV
71382019-01-12 Tom de Vries <tdevries@suse.de>
7139
7140 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
7141 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
7142 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
7143
56314b77
TV
71442019-01-12 Tom de Vries <tdevries@suse.de>
7145
7146 PR target/85486
7147 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
7148 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
7149
b39e4366
TV
71502019-01-12 Tom de Vries <tdevries@suse.de>
7151
7152 PR target/85381
7153 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
7154 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
7155
2cb7a501
TV
71562019-01-12 Tom de Vries <tdevries@suse.de>
7157
7158 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
7159 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
7160 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
7161
8e77f71e
TV
71622019-01-12 Tom de Vries <tdevries@suse.de>
7163
7164 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
7165 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
7166 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
7167
52d22ece
TV
71682019-01-12 Tom de Vries <tdevries@suse.de>
7169
7170 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
7171 resources diagnostic.
7172
2b9d9e39
TV
71732019-01-12 Tom de Vries <tdevries@suse.de>
7174
7175 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
7176 vector length to be 128.
7177 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
7178 length 2097152 to be reduced to 1024 instead of 32.
7179
4102bda6
TS
71802019-01-11 Thomas Schwinge <thomas@codesourcery.com>
7181 James Norris <jnorris@codesourcery.com>
7182
7183 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
7184 Library Routines", and "Environment Variables".
7185
052aaace
TV
71862019-01-11 Tom de Vries <tdevries@suse.de>
7187
7188 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
7189 num_workers 16.
7190
9390f916
TV
71912019-01-11 Tom de Vries <tdevries@suse.de>
7192
7193 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
7194 -foffload=-w.
7195 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
7196 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
7197 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
7198 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
7199
2c3e7ad2
TV
72002019-01-11 Tom de Vries <tdevries@suse.de>
7201
7202 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
7203 test.
7204
e222497d
NS
72052019-01-10 Nathan Sidwell <nathan@acm.org>
7206 Julian Brown <julian@codesourcery.com>
7207
7208 PR lto/71959
7209 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
7210 * testsuite/libgomp.oacc-c++/pr71959.C: New.
7211
cb87fec3
SH
72122019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
7213
7214 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
7215 and paste code.
7216
30b4d0d0
SH
72172019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
7218
7219 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
7220 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
7221 write.
7222
5d0bc70a
TV
72232019-01-09 Tom de Vries <tdevries@suse.de>
7224
7225 PR target/88756
7226 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
7227 #define instead of "const int".
7228 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
7229 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
7230 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
7231 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
7232
2c372e81
TV
72332019-01-09 Tom de Vries <tdevries@suse.de>
7234
7235 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
7236 one worker.
7237
43493c97
TV
72382019-01-07 Tom de Vries <tdevries@suse.de>
7239
7240 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
7241 GOMP_OPENACC_DIM argument.
7242
5c571497
TV
72432019-01-03 Tom de Vries <tdevries@suse.de>
7244
7245 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
7246 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
7247
a5544970
JJ
72482019-01-01 Jakub Jelinek <jakub@redhat.com>
7249
7250 Update copyright years.
7251
3f27508c
JJ
72522019-01-01 Jakub Jelinek <jakub@redhat.com>
7253
7254 * libgomp.texi: Bump @copying's copyright year.
7255
59d5960c
TS
72562018-12-28 Thomas Schwinge <thomas@codesourcery.com>
7257
7258 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
7259 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
7260 (GOACC_declare): Redefine the "device" argument to "flags".
7261
a44c1790
TS
72622018-12-28 Thomas Schwinge <thomas@codesourcery.com>
7263 Cesar Philippidis <cesar@codesourcery.com>
7264
7265 * target.c (struct gomp_coalesce_chunk): New structure.
7266 (struct gomp_coalesce_buf): Update the chunks member to use that
7267 type. Adjust all users.
7268
a152954e
TV
72692018-12-19 Tom de Vries <tdevries@suse.de>
7270
7271 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
7272 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
7273 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
7274
49188cd1
TV
72752018-12-19 Tom de Vries <tdevries@suse.de>
7276
7277 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
7278 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
7279 gcc/testsuite/gcc.dg/goacc.
7280 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
7281
c759830b
TS
72822018-12-14 Thomas Schwinge <thomas@codesourcery.com>
7283 Chung-Lin Tang <cltang@codesourcery.com>
7284
7285 * oacc-mem.c (acc_present_or_create): Remove definition and change
7286 to alias of acc_create.
7287 (acc_present_or_copyin): Remove definition and change to alias of
7288 acc_copyin.
7289 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
7290 of acc_present_or_create.
7291 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
7292 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7293 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7294 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7295 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7296 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7297 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7298 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7299 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7300 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7301 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7302 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7303 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7304 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7305 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7306 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7307
7de562ee
TS
73082018-12-14 Thomas Schwinge <thomas@codesourcery.com>
7309
f847198e
TS
7310 PR libgomp/88495
7311 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
7312 "identical parameters".
7313 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
7314 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
7315
c8ab8aab
TS
7316 PR libgomp/88484
7317 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
7318 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
7319
1404af62
TS
7320 PR libgomp/88407
7321 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
7322 (nvptx_wait_async): Unseen async-argument is a no-op.
7323 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
7324 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
7325 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7326 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
7327 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7328 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
7329 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
7330 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
7331 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
7332
7de562ee
TS
7333 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
7334 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7335
17469af7
CLT
73362018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
7337
7338 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
7339 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7340 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7341
18c247cc
TS
73422018-12-14 Thomas Schwinge <thomas@codesourcery.com>
7343
7344 PR libgomp/88370
7345 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
7346 (acc_set_cuda_stream): Clarify.
7347 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7348 "async_valid_p".
7349 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
7350 acc_async_sync".
7351 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
7352 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
7353 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
7354 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
7355
b0aba46c
TV
73562018-12-14 Tom de Vries <tdevries@suse.de>
7357
7358 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
7359 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
7360 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
7361 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
7362 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
7363
fe0827ee
TV
73642018-12-13 Tom de Vries <tdevries@suse.de>
7365
7366 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
7367 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
7368 * fortran.c (omp_display_affinity_): ... here.
7369 * libgomp.h (gomp_print_string): Declare.
7370 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
7371 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
7372 write.
7373
a51f8c92
JJ
73742018-12-13 Jakub Jelinek <jakub@redhat.com>
7375
7376 PR libgomp/88460
7377 * testsuite/libgomp.c++/for-24.C (results): Include it in
7378 omp declare target region.
7379 (main): Use map (always, tofrom: results) instead of
7380 map (tofrom: results).
7381
a6ef2ac9
JJ
73822018-12-12 Jakub Jelinek <jakub@redhat.com>
7383
7a289b7d
JJ
7384 PR fortran/88463
7385 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
7386 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
7387
a6ef2ac9
JJ
7388 * testsuite/libgomp.c-c++-common/for-16.c: New test.
7389
9c47a019
AS
73902018-12-12 Andreas Schwab <schwab@suse.de>
7391
7392 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
7393 clobbered.
7394
d0cbb206
TK
73952018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
7396
7397 PR fortran/88411
7398 * testsuite/libgomp.fortran/async_io_8.f90: New test.
7399
84ca08d2
TS
74002018-12-09 Thomas Schwinge <thomas@codesourcery.com>
7401 Jakub Jelinek <jakub@redhat.com>
7402
7403 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
7404 devicep->host2dev_func.
7405
6997628d
JJ
74062018-12-08 Jakub Jelinek <jakub@redhat.com>
7407
7408 PR libgomp/87995
7409 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
7410 tls_runtime effective target.
7411 (t): New threadprivate variable.
7412 (main): Set t in threads which execute iterations of the worksharing
7413 loop. Propagate that to the task after the loop and don't abort
7414 if the current taskgroup hasn't been cancelled.
7415
daa8c1d7
JJ
74162018-12-02 Jakub Jelinek <jakub@redhat.com>
7417
4a82df9a
JJ
7418 * testsuite/libgomp.c/task-reduction-3.c: New test.
7419
daa8c1d7
JJ
7420 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
7421
fe570ff8
CP
74222018-11-30 Cesar Philippidis <cesar@codesourcery.com>
7423
7424 PR libgomp/88288
7425 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
7426 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
7427
c223608f
TS
74282018-11-30 Thomas Schwinge <thomas@codesourcery.com>
7429
7430 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
7431
fc60283c
RB
74322018-10-19 Richard Biener <rguenther@suse.de>
7433
7434 PR tree-optimization/88182
7435 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
7436
ffcf3b79
JJ
74372018-11-26 Jakub Jelinek <jakub@redhat.com>
7438
7439 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
7440 (RUNTEST): Don't define.
7441 (RUNTESTDEFAULTFLAGS): Add.
7442 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
7443 (distclean-am): Depend on distclean-DEJAGNU.
7444 (check-am): If -j% option is present in MFLAGS and if
7445 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
7446 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
7447 * testsuite/Makefile.in: Regenerated.
7448
ef6e6914
RB
74492018-11-26 Richard Biener <rguenther@suse.de>
7450
7451 PR tree-optimization/88182
7452 * testsuite/libgomp.c++/pr88182.C: New testcase.
7453
72d3bb76
JJ
74542018-11-20 Jakub Jelinek <jakub@redhat.com>
7455
7456 PR bootstrap/88106
7457 * config/mingw32/affinity-fmt.c: New file.
7458
207286c3
JJ
74592018-11-09 Jakub Jelinek <jakub@redhat.com>
7460
9666c522
JJ
7461 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
7462 (gomp_display_affinity): Use __builtin_choose_expr to handle
7463 properly handle argument having integral, or pointer or some other
7464 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
7465 with uint64_t type instead of %llx and unsigned long long.
7466
207286c3
JJ
7467 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
7468 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
7469
2033f45b
RO
74702018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7471
7472 * affinity.c: Include <string.h>, <stdio.h>.
7473 (gomp_display_affinity_place): Remove cpusetp.
7474 * teams.c: Include <limits.h>.
7475
28567c40
JJ
74762018-11-08 Jakub Jelinek <jakub@redhat.com>
7477
8991d779
JJ
7478 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
7479 in_reduction clause for s[0].
7480
28567c40
JJ
7481 * affinity.c (gomp_display_affinity_place): New function.
7482 * affinity-fmt.c: New file.
7483 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
7484 * config/linux/affinity.c (gomp_display_affinity_place): New function.
7485 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
7486 Move these functions to ...
7487 * config/nvptx/teams.c: ... here. New file.
7488 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
7489 New functions.
7490 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
7491 functions.
7492 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
7493 and _aligned_malloc.
7494 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
7495 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
7496 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
7497 gomp_affinity_format_len): New variables.
7498 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
7499 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
7500 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
7501 modifiers. Display (non-default) chunk sizes. Print
7502 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
7503 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
7504 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
7505 * fortran.c: Include stdio.h and string.h.
7506 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
7507 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
7508 (omp_set_affinity_format_, omp_get_affinity_format_,
7509 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
7510 omp_pause_resource_all_): New functions.
7511 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
7512 switch.
7513 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
7514 functions to ...
7515 * teams.c: ... here. New file.
7516 * libgomp_g.h: Include gstdint.h.
7517 (GOMP_loop_nonmonotonic_runtime_start,
7518 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
7519 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
7520 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
7521 GOMP_parallel_loop_nonmonotonic_runtime,
7522 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
7523 GOMP_loop_ull_nonmonotonic_runtime_start,
7524 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
7525 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
7526 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
7527 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
7528 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
7529 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7530 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
7531 GOMP_teams_reg): Declare.
7532 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
7533 gomp_aligned_alloc uses fallback implementation.
7534 (gomp_aligned_alloc, gomp_aligned_free): Declare.
7535 (enum gomp_schedule_type): Add GFS_MONOTONIC.
7536 (struct gomp_doacross_work_share): Add extra field.
7537 (struct gomp_work_share): Add task_reductions field.
7538 (struct gomp_taskgroup): Add workshare and reductions fields.
7539 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
7540 (gomp_thread_handle): New typedef.
7541 (gomp_display_affinity_place, gomp_set_affinity_format,
7542 gomp_display_string, gomp_display_affinity,
7543 gomp_display_affinity_thread): Declare.
7544 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
7545 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
7546 gomp_workshare_task_reduction_register): Declare.
7547 (gomp_team_start): Add taskgroup argument.
7548 (gomp_pause_host): Declare.
7549 (gomp_init_work_share, gomp_work_share_start): Change bool argument
7550 to size_t.
7551 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
7552 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
7553 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
7554 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
7555 GOMP_loop_ull_doacross_start,
7556 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
7557 GOMP_loop_maybe_nonmonotonic_runtime_next,
7558 GOMP_loop_maybe_nonmonotonic_runtime_start,
7559 GOMP_loop_nonmonotonic_runtime_next,
7560 GOMP_loop_nonmonotonic_runtime_start,
7561 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
7562 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
7563 GOMP_loop_ull_nonmonotonic_runtime_next,
7564 GOMP_loop_ull_nonmonotonic_runtime_start,
7565 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
7566 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
7567 GOMP_taskgroup_reduction_register,
7568 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7569 GOMP_teams_reg and GOMP_taskwait_depend.
7570 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
7571 omp_{capture,display}_affinity{,_}, and
7572 omp_[gs]et_affinity_format{,_}.
7573 * loop.c: Include string.h.
7574 (GOMP_loop_runtime_next): Add ialias.
7575 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7576 (gomp_loop_static_start, gomp_loop_dynamic_start,
7577 gomp_loop_guided_start, gomp_loop_ordered_static_start,
7578 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
7579 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7580 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
7581 or gomp_doacross_init callers.
7582 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
7583 GOMP_loop_doacross_start): New functions.
7584 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
7585 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
7586 Mask off GFS_MONOTONIC bit.
7587 (GOMP_loop_maybe_nonmonotonic_runtime_next,
7588 GOMP_loop_maybe_nonmonotonic_runtime_start,
7589 GOMP_loop_nonmonotonic_runtime_next,
7590 GOMP_loop_nonmonotonic_runtime_start,
7591 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
7592 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
7593 functions.
7594 (gomp_parallel_loop_start): Pass NULL as taskgroup to
7595 gomp_team_start.
7596 * loop_ull.c: Include string.h.
7597 (GOMP_loop_ull_runtime_next): Add ialias.
7598 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7599 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
7600 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
7601 gomp_loop_ull_ordered_dynamic_start,
7602 gomp_loop_ull_ordered_guided_start,
7603 gomp_loop_ull_doacross_static_start,
7604 gomp_loop_ull_doacross_dynamic_start,
7605 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
7606 and gomp_doacross_ull_init callers.
7607 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
7608 GOMP_loop_ull_doacross_start): New functions.
7609 (GOMP_loop_ull_runtime_start,
7610 GOMP_loop_ull_ordered_runtime_start,
7611 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
7612 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
7613 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
7614 GOMP_loop_ull_nonmonotonic_runtime_next,
7615 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
7616 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
7617 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
7618 (omp_pause_resource_t, omp_depend_t): New typedefs.
7619 (enum omp_lock_hint_t): Renamed to ...
7620 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
7621 enumerators using numbers and omp_lock_hint_* as their aliases.
7622 (omp_lock_hint_t): New typedef. Rename to ...
7623 (omp_sync_hint_t): ... this.
7624 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
7625 omp_sync_hint_t instead of omp_lock_hint_t.
7626 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7627 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7628 Declare.
7629 (omp_target_is_present, omp_target_disassociate_ptr):
7630 Change first argument from void * to const void *.
7631 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
7632 from void * to const void *.
7633 (omp_target_associate_ptr): Change first and second arguments from
7634 void * to const void *.
7635 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
7636 omp_pause_hard): New parameters.
7637 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7638 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7639 New interfaces.
7640 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
7641 omp_pause_hard): New parameters.
7642 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7643 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7644 New externals.
7645 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
7646 EXTRA argument. If not needed to prepare array, if extra is 0,
7647 clear ws->doacross, otherwise allocate just doacross structure and
7648 extra payload. If array is needed, allocate also extra payload.
7649 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
7650 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
7651 doacross == NULL.
7652 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
7653 gomp_team_start.
7654 (GOMP_parallel): Likewise. Formatting fix.
7655 (GOMP_parallel_reductions): New function.
7656 (GOMP_cancellation_point): If taskgroup has workshare
7657 flag set, check cancelled of prev taskgroup if any.
7658 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
7659 on prev taskgroup if any.
7660 * sections.c: Include string.h.
7661 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7662 (GOMP_sections_start): Adjust gomp_work_share_start caller.
7663 (GOMP_sections2_start): New function.
7664 (GOMP_parallel_sections_start, GOMP_parallel_sections):
7665 Pass NULL as taskgroup to gomp_team_start.
7666 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
7667 gomp_work_share_start callers.
7668 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
7669 If taskgroup has workshare flag set, check cancelled on prev
7670 taskgroup if any. Guard all cancellation tests with
7671 gomp_cancel_var test.
7672 (omp_target_is_present, omp_target_disassociate_ptr):
7673 Change ptr argument from void * to const void *.
7674 (omp_target_memcpy): Change src argument from void * to const void *.
7675 (omp_target_memcpy_rect): Likewise.
7676 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
7677 instead of char * where needed.
7678 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
7679 from void * to const void *.
7680 (omp_pause_resource, omp_pause_resource_all): New functions.
7681 * task.c (gomp_task_handle_depend): Handle new depend array format
7682 in addition to the old. Handle mutexinoutset kinds the same as
7683 inout for now, handle unspecified kinds.
7684 (gomp_create_target_task): If taskgroup has workshare flag set, check
7685 cancelled on prev taskgroup if any. Guard all cancellation tests with
7686 gomp_cancel_var test. Handle new depend array format count in
7687 addition to the old.
7688 (GOMP_task): Likewise. Adjust function comment.
7689 (gomp_task_run_pre): If taskgroup has workshare flag set, check
7690 cancelled on prev taskgroup if any. Guard all cancellation tests with
7691 gomp_cancel_var test.
7692 (GOMP_taskwait_depend): New function.
7693 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
7694 format in addition to the old. Handle mutexinoutset kinds the same as
7695 inout for now, handle unspecified kinds. Fix a function comment typo.
7696 (gomp_taskgroup_init): New function.
7697 (GOMP_taskgroup_start): Use it.
7698 (gomp_reduction_register, gomp_create_artificial_team,
7699 GOMP_taskgroup_reduction_register,
7700 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7701 gomp_parallel_reduction_register,
7702 gomp_workshare_task_reduction_register,
7703 gomp_workshare_taskgroup_start,
7704 GOMP_workshare_task_reduction_unregister): New functions.
7705 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
7706 check cancelled on prev taskgroup if any. Guard all cancellation
7707 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
7708 by calling GOMP_taskgroup_reduction_register.
7709 * team.c (gomp_thread_attr): Remove comment.
7710 (struct gomp_thread_start_data): Add handle field.
7711 (gomp_thread_start): Call pthread_detach.
7712 (gomp_new_team): Adjust gomp_init_work_share caller.
7713 (gomp_free_pool_helper): Call pthread_detach.
7714 (gomp_team_start): Add taskgroup argument, initialize implicit
7715 tasks' taskgroup field to that. Don't call
7716 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
7717 (gomp_team_end): Determine nesting by thr->ts.level != 0
7718 rather than thr->ts.team != NULL.
7719 (gomp_pause_pool_helper, gomp_pause_host): New functions.
7720 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
7721 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
7722 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
7723 if more than 1 allocate also extra payload at the end of array. Never
7724 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
7725 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
7726 return true instead of ws.
7727 * Makefile.in: Regenerated.
7728 * configure: Regenerated.
7729 * config.h.in: Regenerated.
7730 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
7731 in some cases.
7732 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
7733 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
7734 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
7735 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
7736 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
7737 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
7738 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
7739 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
7740 * testsuite/libgomp.c-c++-common/for-10.c: New test.
7741 * testsuite/libgomp.c-c++-common/for-11.c: New test.
7742 * testsuite/libgomp.c-c++-common/for-12.c: New test.
7743 * testsuite/libgomp.c-c++-common/for-13.c: New test.
7744 * testsuite/libgomp.c-c++-common/for-14.c: New test.
7745 * testsuite/libgomp.c-c++-common/for-15.c: New test.
7746 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
7747 define a different N(test), don't define N(f0) to N(f14), but instead
7748 define N(f20) to N(f34) using != comparisons.
7749 * testsuite/libgomp.c-c++-common/for-7.c: New test.
7750 * testsuite/libgomp.c-c++-common/for-8.c: New test.
7751 * testsuite/libgomp.c-c++-common/for-9.c: New test.
7752 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
7753 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
7754 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
7755 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
7756 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
7757 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
7758 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
7759 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
7760 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
7761 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
7762 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
7763 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
7764 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
7765 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
7766 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
7767 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
7768 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
7769 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
7770 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
7771 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
7772 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
7773 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
7774 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
7775 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
7776 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
7777 * testsuite/libgomp.c++/depend-1.C: New test.
7778 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
7779 * testsuite/libgomp.c++/depobj-1.C: New test.
7780 * testsuite/libgomp.c++/for-16.C: New test.
7781 * testsuite/libgomp.c++/for-21.C: New test.
7782 * testsuite/libgomp.c++/for-22.C: New test.
7783 * testsuite/libgomp.c++/for-23.C: New test.
7784 * testsuite/libgomp.c++/for-24.C: New test.
7785 * testsuite/libgomp.c++/for-25.C: New test.
7786 * testsuite/libgomp.c++/for-26.C: New test.
7787 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
7788 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
7789 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
7790 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
7791 * testsuite/libgomp.c++/task-reduction-10.C: New test.
7792 * testsuite/libgomp.c++/task-reduction-11.C: New test.
7793 * testsuite/libgomp.c++/task-reduction-12.C: New test.
7794 * testsuite/libgomp.c++/task-reduction-13.C: New test.
7795 * testsuite/libgomp.c++/task-reduction-14.C: New test.
7796 * testsuite/libgomp.c++/task-reduction-15.C: New test.
7797 * testsuite/libgomp.c++/task-reduction-16.C: New test.
7798 * testsuite/libgomp.c++/task-reduction-17.C: New test.
7799 * testsuite/libgomp.c++/task-reduction-18.C: New test.
7800 * testsuite/libgomp.c++/task-reduction-19.C: New test.
7801 * testsuite/libgomp.c/task-reduction-1.c: New test.
7802 * testsuite/libgomp.c++/task-reduction-1.C: New test.
7803 * testsuite/libgomp.c/task-reduction-2.c: New test.
7804 * testsuite/libgomp.c++/task-reduction-2.C: New test.
7805 * testsuite/libgomp.c++/task-reduction-3.C: New test.
7806 * testsuite/libgomp.c++/task-reduction-4.C: New test.
7807 * testsuite/libgomp.c++/task-reduction-5.C: New test.
7808 * testsuite/libgomp.c++/task-reduction-6.C: New test.
7809 * testsuite/libgomp.c++/task-reduction-7.C: New test.
7810 * testsuite/libgomp.c++/task-reduction-8.C: New test.
7811 * testsuite/libgomp.c++/task-reduction-9.C: New test.
7812 * testsuite/libgomp.c/teams-1.c: New test.
7813 * testsuite/libgomp.c/teams-2.c: New test.
7814 * testsuite/libgomp.c/thread-limit-4.c: New test.
7815 * testsuite/libgomp.c/thread-limit-5.c: New test.
7816 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
7817
58168bbf
CLT
78182018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
7819
7820 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
7821 acc_memcpy_to/from_device functions, now with async parameter.
7822 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
7823 (acc_memcpy_from_device): Likewise.
7824 (acc_memcpy_to_device_async): New API function.
7825 (acc_memcpy_from_device_async): Likewise.
7826 (present_create_copy): Add async parameter and async setting/unsetting.
7827 (acc_create): Adjust present_create_copy call.
7828 (acc_copyin): Likewise.
7829 (acc_present_or_create): Likewise.
7830 (acc_present_or_copyin): Likewise.
7831 (acc_create_async): New API function.
7832 (acc_copyin_async): New API function.
7833 (delete_copyout): Add async parameter and async setting/unsetting.
7834 (acc_delete): Adjust delete_copyout call.
7835 (acc_copyout): Likewise.
7836 (acc_delete_async): New API function.
7837 (acc_copyout_async): Likewise.
7838 (update_dev_host): Add async parameter and async setting/unsetting.
7839 (acc_update_device): Adjust update_dev_host call.
7840 (acc_update_self): Likewise.
7841 (acc_update_device_async): New API function.
7842 (acc_update_self_async): Likewise.
7843 * openacc.h (acc_copyin_async): Declare new API function.
7844 (acc_create_async): Likewise.
7845 (acc_copyout_async): Likewise.
7846 (acc_delete_async): Likewise.
7847 (acc_update_device_async): Likewise.
7848 (acc_update_self_async): Likewise.
7849 (acc_memcpy_to_device_async): Likewise.
7850 (acc_memcpy_from_device_async): Likewise.
7851 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
7852 (acc_copyin_async_64_h): New subroutine.
7853 (acc_copyin_async_array_h): New subroutine.
7854 (acc_create_async_32_h): New subroutine.
7855 (acc_create_async_64_h): New subroutine.
7856 (acc_create_async_array_h): New subroutine.
7857 (acc_copyout_async_32_h): New subroutine.
7858 (acc_copyout_async_64_h): New subroutine.
7859 (acc_copyout_async_array_h): New subroutine.
7860 (acc_delete_async_32_h): New subroutine.
7861 (acc_delete_async_64_h): New subroutine.
7862 (acc_delete_async_array_h): New subroutine.
7863 (acc_update_device_async_32_h): New subroutine.
7864 (acc_update_device_async_64_h): New subroutine.
7865 (acc_update_device_async_array_h): New subroutine.
7866 (acc_update_self_async_32_h): New subroutine.
7867 (acc_update_self_async_64_h): New subroutine.
7868 (acc_update_self_async_array_h): New subroutine.
7869 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
7870 (acc_copyin_async_64_h): New subroutine.
7871 (acc_copyin_async_array_h): New subroutine.
7872 (acc_create_async_32_h): New subroutine.
7873 (acc_create_async_64_h): New subroutine.
7874 (acc_create_async_array_h): New subroutine.
7875 (acc_copyout_async_32_h): New subroutine.
7876 (acc_copyout_async_64_h): New subroutine.
7877 (acc_copyout_async_array_h): New subroutine.
7878 (acc_delete_async_32_h): New subroutine.
7879 (acc_delete_async_64_h): New subroutine.
7880 (acc_delete_async_array_h): New subroutine.
7881 (acc_update_device_async_32_h): New subroutine.
7882 (acc_update_device_async_64_h): New subroutine.
7883 (acc_update_device_async_array_h): New subroutine.
7884 (acc_update_self_async_32_h): New subroutine.
7885 (acc_update_self_async_64_h): New subroutine.
7886 (acc_update_self_async_array_h): New subroutine.
7887 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7888 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7889 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7890 acc_memcpy_to_device_async*, acc_update_device_async*, and
7891 acc_update_self_async* entries.
7892 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7893 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7894 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7895
22e05272
JM
78962018-10-31 Joseph Myers <joseph@codesourcery.com>
7897
7898 PR bootstrap/82856
7899 * Makefile.am: Include multilib.am
7900 (AUTOMAKE_OPTIONS): Add info-in-builddir.
7901 (CLEANFILES): Remove libgomp.info.
7902 * configure.ac: Remove AC_PREREQ.
7903 * testsuite/Makefile.am (RUNTEST): Remove quotes.
7904 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7905 Regenerate.
7906
87a5ccfb
JM
79072018-10-29 Joseph Myers <joseph@codesourcery.com>
7908 Julian Brown <julian@codesourcery.com>
7909
7910 * testsuite/libgomp.oacc-c++/this.C: New.
7911
2049befd
CP
79122018-09-18 Cesar Philippidis <cesar@codesourcery.com>
7913
7914 * plugin/plugin-nvptx.c (struct cuda_map): New.
7915 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7916 h_tail with (cuda_map *) map.
7917 (cuda_map_create): New function.
7918 (cuda_map_destroy): New function.
7919 (map_init): Update to use a linked list of cuda_map objects.
7920 (map_fini): Likewise.
7921 (map_pop): Likewise.
7922 (map_push): Likewise. Return CUdeviceptr instead of void.
7923 (init_streams_for_device): Remove stales references to ptx_stream
7924 members.
7925 (select_stream_for_async): Likewise.
7926 (nvptx_exec): Update call to map_init.
7927
8e36332c
CP
79282018-09-09 Cesar Philippidis <cesar@codesourcery.com>
7929 Julian Brown <julian@codesourcery.com>
7930
7931 PR middle-end/86336
7932 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7933
2b4c9065
NK
79342018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
7935 Thomas Koenig <tkoenig@gcc.gnu.org>
7936
7937 PR fortran/25829
7938 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7939 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7940 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7941 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7942 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7943 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7944 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7945
bd9b3d3d
CP
79462018-08-13 Cesar Philippidis <cesar@codesourcery.com>
7947 Tom de Vries <tdevries@suse.de>
7948
7949 PR target/85590
7950 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7951 (cuOccupancyMaxPotentialBlockSize): Declare.
7952 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7953 CUDA_ONE_CALL_MAYBE_NULL.
7954 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7955 CUoccupancyB2DSize and declare
7956 cuOccupancyMaxPotentialBlockSize.
7957 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7958 default num_gangs and num_workers when the driver supports it.
7959
8e09a12f
TV
79602018-08-08 Tom de Vries <tdevries@suse.de>
7961
7962 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7963 CUDA_ONE_CALL_MAYBE_NULL.
7964 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7965 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7966 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7967 are not found.
7968
cedd9bd0
TV
79692018-08-08 Tom de Vries <tdevries@suse.de>
7970
7971 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7972 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7973 present.
7974
b113af95
TV
79752018-08-08 Tom de Vries <tdevries@suse.de>
7976
7977 * plugin/plugin-nvptx.c
7978 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7979 (nvptx_open_device): Use
7980 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7981
94767dac
TV
79822018-08-08 Tom de Vries <tdevries@suse.de>
7983
7984 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7985 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
7986
02150de8
TV
79872018-08-07 Tom de Vries <tdevries@suse.de>
7988
7989 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7990 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7991 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
7992 corresponding call in CUDA_ONE_CALL. Add def/undef of
7993 CUDA_ONE_CALL_MAYBE_NULL.
7994 (CUDA_CALL_EXISTS): Define.
7995
9e28b107
TV
79962018-08-07 Tom de Vries <tdevries@suse.de>
7997
7998 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7999 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
8000 corresponding undefs right after.
8001
09940090
TV
80022018-08-04 Tom de Vries <tdevries@suse.de>
8003
8004 * plugin/configfrag.ac: For --without-cuda-driver, set
8005 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
8006 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
8007 * configure: Regenerate.
8008
77e0a97a
TV
80092018-08-02 Tom de Vries <tdevries@suse.de>
8010
8011 PR target/86660
8012 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
8013 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
8014 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
8015 Same.
8016 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
8017 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
8018 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
8019
701d080a
CP
80202018-08-01 Cesar Philippidis <cesar@codesourcery.com>
8021 Thomas Schwinge <thomas@codesourcery.com>
8022
8023 * config/nvptx/oacc-parallel.c: Truncate.
8024
094db6be
CP
80252018-08-01 Cesar Philippidis <cesar@codesourcery.com>
8026 James Norris <jnorris@codesourcery.com>
8027
8028 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
8029 (map_init, map_pop): Remove use of struct map.
8030 (map_push): Likewise and change argument list.
094db6be
CP
8031 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
8032
8c6310a2
TV
80332018-08-01 Tom de Vries <tdevries@suse.de>
8034
8035 * plugin/cuda-lib.def: New file. Factor out of ...
8036 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
8037 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
8038 using CUDA_CALLS.
8039
1d4a51cf
AV
80402018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
8041
8042 Revert 'AsyncI/O patch committed'.
8043 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
8044 Thomas Koenig <tkoenig@gcc.gnu.org>
8045
8046 PR fortran/25829
8047 * testsuite/libgomp.fortran/async_io_1.f90: New test.
8048 * testsuite/libgomp.fortran/async_io_2.f90: New test.
8049 * testsuite/libgomp.fortran/async_io_3.f90: New test.
8050 * testsuite/libgomp.fortran/async_io_4.f90: New test.
8051 * testsuite/libgomp.fortran/async_io_5.f90: New test.
8052 * testsuite/libgomp.fortran/async_io_6.f90: New test.
8053 * testsuite/libgomp.fortran/async_io_7.f90: New test.
8054
4cdfee3f
TV
80552018-07-30 Tom de Vries <tdevries@suse.de>
8056
8057 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
8058 (nvptx_exec): Ensure worker and vector default dims don't exceed
8059 targ_fn->max_threads_per_block.
8060
0b210c43
TV
80612018-07-30 Tom de Vries <tdevries@suse.de>
8062
8063 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
8064 (nvptx_open_device): Init default_dims for device.
8065 (nvptx_exec): Use default_dims from device.
8066
5883c5cc
JJ
80672018-07-26 Jakub Jelinek <jakub@redhat.com>
8068
5d36384c
JJ
8069 PR testsuite/86660
8070 * testsuite/libgomp.c++/for-15.C (results): Include it in
8071 omp declare target region.
8072 (main): Use map (always, tofrom: results) instead of
8073 map (tofrom: results).
8074
5883c5cc
JJ
8075 PR middle-end/86660
8076 * testsuite/libgomp.c/pr86660.c: New test.
8077
88a4654d
CP
80782018-07-26 Cesar Philippidis <cesar@codesourcery.com>
8079 Tom de Vries <tdevries@suse.de>
8080
8081 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
8082 sufficient resources to launch a kernel, and give a hint on how to fix
8083 it.
8084
0c6c2f5f
CP
80852018-07-26 Cesar Philippidis <cesar@codesourcery.com>
8086 Tom de Vries <tdevries@suse.de>
8087
8088 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
8089 max_threads_per_block and max_threads_per_multiprocessor fields.
8090 (nvptx_open_device): Initialize new fields.
8091 (nvptx_exec): Use num_sms, and new fields.
8092
6dd58010
TV
80932018-07-26 Tom de Vries <tdevries@suse.de>
8094
8095 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
8096 to correct locations. Remove xfail.
8097
b2eb1779
TV
80982018-07-26 Tom de Vries <tdevries@suse.de>
8099
8100 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
8101 acc_wait. Move acc_async_test calls to correct locations. Remove
8102 xfail.
8103
b1f45884
NK
81042018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
8105 Thomas Koenig <tkoenig@gcc.gnu.org>
8106
8107 PR fortran/25829
8108 * testsuite/libgomp.fortran/async_io_1.f90: New test.
8109 * testsuite/libgomp.fortran/async_io_2.f90: New test.
8110 * testsuite/libgomp.fortran/async_io_3.f90: New test.
8111 * testsuite/libgomp.fortran/async_io_4.f90: New test.
8112 * testsuite/libgomp.fortran/async_io_5.f90: New test.
8113 * testsuite/libgomp.fortran/async_io_6.f90: New test.
8114 * testsuite/libgomp.fortran/async_io_7.f90: New test.
8115
3a106211
JJ
81162018-07-17 Jakub Jelinek <jakub@redhat.com>
8117
a3bccfa1
JJ
8118 PR middle-end/86542
8119 * testsuite/libgomp.c++/pr86542.C: New test.
8120
3a106211
JJ
8121 PR middle-end/86539
8122 * testsuite/libgomp.c++/pr86539.C: New test.
8123
2bae8b2f
JJ
81242018-07-11 Jakub Jelinek <jakub@redhat.com>
8125
8126 PR c++/86443
8127 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
8128 (results): Make sure the variable is not inside declare target region.
8129 (qux): Remove unused function.
8130
0b27c3ed
JJ
81312018-07-10 Jakub Jelinek <jakub@redhat.com>
8132
8133 PR c++/86443
8134 * testsuite/libgomp.c++/for-15.C: New test.
8135
f0391511
JJ
81362018-06-26 Jakub Jelinek <jakub@redhat.com>
8137
8138 PR c++/86291
8139 * testsuite/libgomp.c++/pr86291.C: New test.
8140
1a6d1d24
GP
81412018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
8142
8143 * libgomp.texi (Top): Move www.openmp.org to https.
8144 (Enabling OpenMP): Ditto.
8145 (omp_get_active_level): Ditto.
8146 (omp_get_ancestor_thread_num): Ditto.
8147 (omp_get_cancellation): Ditto.
8148 (omp_get_default_device): Ditto.
8149 (omp_get_dynamic): Ditto.
8150 (omp_get_level): Ditto.
8151 (omp_get_max_active_levels): Ditto.
8152 (omp_get_max_task_priority): Ditto.
8153 (omp_get_max_threads): Ditto.
8154 (omp_get_nested): Ditto.
8155 (omp_get_num_devices): Ditto.
8156 (omp_get_num_procs): Ditto.
8157 (omp_get_num_teams): Ditto.
8158 (omp_get_num_threads): Ditto.
8159 (omp_get_proc_bind): Ditto.
8160 (omp_get_schedule): Ditto.
8161 (omp_get_team_num): Ditto.
8162 (omp_get_team_size): Ditto.
8163 (omp_get_thread_limit): Ditto.
8164 (omp_get_thread_num): Ditto.
8165 (omp_in_parallel): Ditto.
8166 (omp_in_final): Ditto.
8167 (omp_is_initial_device): Ditto.
8168 (omp_set_default_device): Ditto.
8169 (omp_set_dynamic): Ditto.
8170 (omp_set_max_active_levels): Ditto.
8171 (omp_set_nested): Ditto.
8172 (omp_set_num_threads): Ditto.
8173 (omp_set_schedule): Ditto.
8174 (omp_init_lock): Ditto.
8175 (omp_set_lock): Ditto.
8176 (omp_test_lock): Ditto.
8177 (omp_unset_lock): Ditto.
8178 (omp_destroy_lock): Ditto.
8179 (omp_init_nest_lock): Ditto.
8180 (omp_set_nest_lock): Ditto.
8181 (omp_test_nest_lock): Ditto.
8182 (omp_unset_nest_lock): Ditto.
8183 (omp_destroy_nest_lock): Ditto.
8184 (omp_get_wtick): Ditto.
8185 (omp_get_wtime): Ditto.
8186 (OMP_CANCELLATION): Ditto.
8187 (OMP_DISPLAY_ENV): Ditto.
8188 (OMP_DEFAULT_DEVICE): Ditto.
8189 (OMP_DYNAMIC): Ditto.
8190 (OMP_MAX_ACTIVE_LEVELS): Ditto.
8191 (OMP_MAX_TASK_PRIORITY): Ditto.
8192 (OMP_NESTED): Ditto.
8193 (OMP_NUM_THREADS): Ditto.
8194 (OMP_PROC_BIND): Ditto.
8195 (OMP_PLACES): Ditto.
8196 (OMP_STACKSIZE): Ditto.
8197 (OMP_SCHEDULE): Ditto.
8198 (OMP_THREAD_LIMIT): Ditto.
8199 (OMP_WAIT_POLICY): Ditto.
8200
31dd69b7
CP
82012018-06-22 Cesar Philippidis <cesar@codesourcery.com>
8202 James Norris <jnorris@codesourcery.com>
8203 Julian Brown <julian@codesourcery.com>
8204 Thomas Schwinge <thomas@codesourcery.com>
8205 Tom de Vries <tom@codesourcery.com>
8206
8207 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
8208 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
8209 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
8210 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
8211 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8212 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8213 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
8214 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
8215 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
8216 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
8217 Likewise.
8218 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
8219 Likewise.
8220 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
8221 Likewise.
8222 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
8223 Likewise.
8224 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
8225 Likewise.
8226 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
8227 Likewise.
8228 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
8229 Likewise.
8230 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
8231 Likewise.
8232 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
8233 Likewise.
8234 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
8235 Likewise.
8236 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
8237 Likewise.
8238 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
8239 Likewise.
8240 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
8241 Likewise.
8242 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
8243 Likewise.
8244 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
8245 Likewise.
8246 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
8247 Likewise.
8248 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
8249 Likewise.
8250 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
8251 Likewise.
8252 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
8253 Likewise.
8254 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
8255 Likewise.
8256 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
8257 Likewise.
8258 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
8259 Likewise.
8260 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
8261 Likewise.
8262 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
8263 Likewise.
8264 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
8265 Likewise.
8266 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
8267 Likewise.
8268 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
8269 Likewise.
8270 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
8271 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
8272 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
8273 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
8274 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
8275 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
8276 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
8277 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
8278 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
8279 Likewise.
8280 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
8281 Likewise.
8282 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
8283 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
8284 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
8285 Likewise.
8286 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
8287 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
8288 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
8289 Likewise.
8290 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
8291 Likewise.
8292 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
8293 Likewise.
8294 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
8295 Likewise.
8296 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
8297 Likewise.
8298 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
8299 Likewise.
8300 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
8301 Likewise.
8302 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
8303 Likewise.
8304 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
8305 Likewise.
8306 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
8307 Likewise.
8308 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
8309 Likewise.
8310 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
8311 Likewise.
8312 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
8313 Likewise.
8314 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
8315 Likewise.
8316 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
8317 Likewise.
8318 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
8319 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
8320 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
8321 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
8322 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
8323 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
8324 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
8325
829c6349
CLT
83262018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
8327 Thomas Schwinge <thomas@codesourcery.com>
8328 Cesar Philippidis <cesar@codesourcery.com>
8329
8330 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
8331 (gomp_acc_remove_pointer): Update declaration.
8332 (gomp_acc_declare_allocate): Declare.
8333 (gomp_remove_var): Declare.
8334 * libgomp.map (OACC_2.5): Define.
8335 * oacc-mem.c (acc_map_data): Update refcount.
8336 (acc_unmap_data): Likewise.
8337 (present_create_copy): Likewise.
8338 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
8339 (acc_copyin): Likewise.
8340 (FLAG_FINALIZE): Define.
8341 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
8342 (acc_delete_finalize): New function.
8343 (acc_delete_finalize_async): New function.
8344 (acc_copyout_finalize): New function.
8345 (acc_copyout_finalize_async): New function.
8346 (gomp_acc_insert_pointer): Update refcounts.
8347 (gomp_acc_remove_pointer): Return if data is not present on the
8348 accelerator.
8349 * oacc-parallel.c (find_pset): Rename to find_pointer.
8350 (find_pointer): Add support for GOMP_MAP_POINTER.
8351 (handle_ftn_pointers): New function.
8352 (GOACC_parallel_keyed): Update refcounts of variables.
8353 (GOACC_enter_exit_data): Add support for finalized data mappings.
8354 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
8355 of fortran arrays.
8356 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
8357 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
8358 for GOMP_MAP_FORCE_FROM.
8359 * openacc.f90 (module openacc_internal): Add
8360 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
8361 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
8362 acc_copyout_finalize and acc_delete_finalize.
8363 (acc_copyout_finalize_32_h): New subroutine.
8364 (acc_copyout_finalize_64_h): New subroutine.
8365 (acc_copyout_finalize_array_h): New subroutine.
8366 (acc_delete_finalize_32_h): New subroutine.
8367 (acc_delete_finalize_64_h): New subroutine.
8368 (acc_delete_finalize_array_h): New subroutine.
8369 * openacc.h (acc_copyout_finalize): Declare.
8370 (acc_copyout_finalize_async): Declare.
8371 (acc_delete_finalize): Declare.
8372 (acc_delete_finalize_async): Declare.
8373 * openacc_lib.h (acc_copyout_finalize): New interface.
8374 (acc_delete_finalize): New interface.
8375 * target.c (gomp_map_vars): Update dynamic_refcount.
8376 (gomp_remove_var): New function.
8377 (gomp_unmap_vars): Use it.
8378 (gomp_unload_image_from_device): Likewise.
8379 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
8380 case to utilize OpenACC 2.5 data clause semantics.
8381 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8382 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8383 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8384 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8385 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8386 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8387 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8388 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8389 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8390 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8391 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
8392 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
8393 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
8394 utilize OpenACC 2.5 data clause semantics.
8395 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8396 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8397 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8398 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8399 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8400 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8401 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8402 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8403 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8404
4358400b
JW
84052018-05-21 Janus Weil <janus@gcc.gnu.org>
8406
8407 PR fortran/85841
8408 PR testsuite/85865
8409 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
8410 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
8411 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
8412 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
8413 * testsuite/libgomp.fortran/task2.f90: Ditto.
8414 * testsuite/libgomp.fortran/vla1.f90: Ditto.
8415 * testsuite/libgomp.fortran/vla2.f90: Ditto.
8416 * testsuite/libgomp.fortran/vla3.f90: Ditto.
8417 * testsuite/libgomp.fortran/vla4.f90: Ditto.
8418 * testsuite/libgomp.fortran/vla5.f90: Ditto.
8419 * testsuite/libgomp.fortran/vla6.f90: Ditto.
8420 * testsuite/libgomp.fortran/vla8.f90: Ditto.
8421 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
8422 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
8423
950ad0ba
CP
84242018-05-18 Cesar Philippidis <cesar@codesourcery.com>
8425
8426 PR c++/85782
8427 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
8428
f5ad16f1
TV
84292018-05-09 Tom de Vries <tom@codesourcery.com>
8430
8431 PR libgomp/82901
8432 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
8433 to GOACC_enter_exit_data.
8434
edbd038a
TV
84352018-05-09 Tom de Vries <tom@codesourcery.com>
8436
8437 PR libgomp/83792
8438 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
8439 (async_synchronous_p): New function.
8440 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
8441 async_valid_p.
8442 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
8443 async_valid_stream_id_p.
8444 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
8445 * oacc-parallel.c (GOACC_parallel_keyed): Same.
8446
37d6c719
TV
84472018-05-07 Tom de Vries <tom@codesourcery.com>
8448
8449 PR testsuite/85677
8450 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
8451 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
8452
63f12215
TV
84532018-05-03 Tom de Vries <tom@codesourcery.com>
8454
8455 PR testsuite/85106
8456 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
8457 extra_tool_flags if it contains an -foffload=-fdump-* flag.
8458 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
8459 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
8460
ec00d3fa
TV
84612018-05-02 Tom de Vries <tom@codesourcery.com>
8462
8463 PR libgomp/85411
8464 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
8465 GOMP_OPENACC_DIM ...
8466 * env.c (parse_gomp_openacc_dim): ... here. New function.
8467 (initialize_env): Call parse_gomp_openacc_dim.
8468 (goacc_default_dims): Define.
8469 * libgomp.h (goacc_default_dims): Declare.
8470 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
8471 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
8472 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
8473 GOMP_PLUGIN_acc_default_dim.
8474 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
8475 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
8476
92243e7c
TV
84772018-05-02 Tom de Vries <tom@codesourcery.com>
8478
8479 PR testsuite/83791
8480 * testsuite/libgomp.c++/udr-9.C: Update.
8481 * testsuite/libgomp.c++/atomic-16.C: Remove.
8482 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
8483 * testsuite/libgomp.c++/loop-13.C: Remove.
8484 * testsuite/libgomp.c++/loop-14.C: Remove.
8485 * testsuite/libgomp.c++/loop-15.C: Remove.
8486 * testsuite/libgomp.c++/monotonic-1.C: Remove.
8487 * testsuite/libgomp.c++/monotonic-2.C: Remove.
8488 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
8489 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
8490 * testsuite/libgomp.c++/ordered-1.C: Remove.
8491 * testsuite/libgomp.c++/pr45784.C: Remove.
8492 * testsuite/libgomp.c++/pr64824.C: Remove.
8493 * testsuite/libgomp.c++/pr64868.C: Remove.
8494 * testsuite/libgomp.c++/pr66199-1.C: Remove.
8495 * testsuite/libgomp.c++/pr66199-2.C: Remove.
8496 * testsuite/libgomp.c++/pr66199-3.C: Remove.
8497 * testsuite/libgomp.c++/pr66199-4.C: Remove.
8498 * testsuite/libgomp.c++/pr66199-5.C: Remove.
8499 * testsuite/libgomp.c++/pr66199-6.C: Remove.
8500 * testsuite/libgomp.c++/pr66199-7.C: Remove.
8501 * testsuite/libgomp.c++/pr66199-8.C: Remove.
8502 * testsuite/libgomp.c++/pr66199-9.C: Remove.
8503 * testsuite/libgomp.c++/pr69389.C: Remove.
8504 * testsuite/libgomp.c++/simd10.C: Remove.
8505 * testsuite/libgomp.c++/simd11.C: Remove.
8506 * testsuite/libgomp.c++/simd12.C: Remove.
8507 * testsuite/libgomp.c++/simd13.C: Remove.
8508 * testsuite/libgomp.c++/target-1.C: Remove.
8509 * testsuite/libgomp.c++/target-3.C: Remove.
8510 * testsuite/libgomp.c++/target-4.C: Remove.
8511 * testsuite/libgomp.c++/target-5.C: Remove.
8512 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
8513 * testsuite/libgomp.c++/taskloop-1.C: Remove.
8514 * testsuite/libgomp.c++/taskloop-2.C: Remove.
8515 * testsuite/libgomp.c++/taskloop-3.C: Remove.
8516 * testsuite/libgomp.c++/taskloop-4.C: Remove.
8517 * testsuite/libgomp.c++/udr-9.C: Remove.
8518 * testsuite/libgomp.c++/for-10.C: Remove.
8519 * testsuite/libgomp.c++/for-11.C: Remove.
8520 * testsuite/libgomp.c++/for-12.C: Remove.
8521 * testsuite/libgomp.c++/for-13.C: Remove.
8522 * testsuite/libgomp.c++/for-14.C: Remove.
8523 * testsuite/libgomp.c++/for-9.C: Remove.
8524 * testsuite/libgomp.c/atomic-18.c: Move ...
8525 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
8526 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
8527 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
8528 * testsuite/libgomp.c/loop-13.c: Move ...
8529 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
8530 * testsuite/libgomp.c/loop-14.c: Move ...
8531 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
8532 * testsuite/libgomp.c/loop-15.c: Remove.
8533 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
8534 * testsuite/libgomp.c/monotonic-1.c: Move ...
8535 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
8536 * testsuite/libgomp.c/monotonic-2.c: Move ...
8537 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
8538 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
8539 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
8540 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
8541 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
8542 * testsuite/libgomp.c/ordered-4.c: Move ...
8543 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
8544 * testsuite/libgomp.c/pr45784.c: Move ...
8545 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
8546 * testsuite/libgomp.c/pr64824.c: Move ...
8547 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
8548 * testsuite/libgomp.c/pr64868.c: Move ...
8549 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
8550 * testsuite/libgomp.c/pr66199-1.c: Move ...
8551 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
8552 * testsuite/libgomp.c/pr66199-2.c: Move ...
8553 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
8554 * testsuite/libgomp.c/pr66199-3.c: Move ...
8555 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
8556 * testsuite/libgomp.c/pr66199-4.c: Move ...
8557 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
8558 * testsuite/libgomp.c/pr66199-5.c: Move ...
8559 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
8560 * testsuite/libgomp.c/pr66199-6.c: Move ...
8561 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
8562 * testsuite/libgomp.c/pr66199-7.c: Move ...
8563 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
8564 * testsuite/libgomp.c/pr66199-8.c: Move ...
8565 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
8566 * testsuite/libgomp.c/pr66199-9.c: Move ...
8567 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
8568 * testsuite/libgomp.c/pr69389.c: Move ...
8569 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
8570 * testsuite/libgomp.c/simd-14.c: Move ...
8571 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
8572 * testsuite/libgomp.c/simd-15.c: Move ...
8573 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
8574 * testsuite/libgomp.c/simd-16.c: Move ...
8575 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
8576 * testsuite/libgomp.c/simd-17.c: Move ...
8577 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
8578 * testsuite/libgomp.c/target-1.c: Move ...
8579 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
8580 * testsuite/libgomp.c/target-10.c: Move ...
8581 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
8582 * testsuite/libgomp.c/target-13.c: Move ...
8583 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
8584 * testsuite/libgomp.c/target-2.c: Move ...
8585 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
8586 * testsuite/libgomp.c/taskgroup-1.c: Move ...
8587 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
8588 * testsuite/libgomp.c/taskloop-1.c: Move ...
8589 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
8590 * testsuite/libgomp.c/taskloop-2.c: Move ...
8591 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
8592 * testsuite/libgomp.c/taskloop-3.c: Move ...
8593 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
8594 * testsuite/libgomp.c/taskloop-4.c: Move ...
8595 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
8596 * testsuite/libgomp.c/udr-1.c: Move ...
8597 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
8598 * testsuite/libgomp.c/for-1.c: Move ...
8599 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
8600 * testsuite/libgomp.c/for-1.h: Move ...
8601 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
8602 * testsuite/libgomp.c/for-2.c: Move ...
8603 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
8604 * testsuite/libgomp.c/for-2.h: Move ...
8605 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
8606 * testsuite/libgomp.c/for-3.c: Move ...
8607 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
8608 * testsuite/libgomp.c/for-4.c: Move ...
8609 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
8610 * testsuite/libgomp.c/for-5.c: Move ...
8611 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
8612 * testsuite/libgomp.c/for-6.c: Move ...
8613 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
8614
1f62d637
TV
86152018-05-02 Tom de Vries <tom@codesourcery.com>
8616
8617 PR libgomp/82428
8618 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
8619 __builtin_goacc_parlevel_{id,size}.
8620 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
8621 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
8622 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
8623 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
8624 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
8625 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
8626 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
8627 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
8628 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
8629 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
8630 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
8631 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
8632 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
8633 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
8634 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
8635 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
8636 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
8637 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
8638 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
8639 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
8640 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
8641 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
8642 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
8643
9220b511
TV
86442018-05-02 Tom de Vries <tom@codesourcery.com>
8645
8646 PR testsuite/85106
8647 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
8648
6c3c13c1
TV
86492018-05-02 Tom de Vries <tom@codesourcery.com>
8650
8651 PR testsuite/85106
8652 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
8653
8d70b61e
JB
86542018-04-29 Julian Brown <julian@codesourcery.com>
8655 Tom de Vries <tom@codesourcery.com>
8656
8657 PR testsuite/85527
8658 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
8659 arbitrary order for iterations of atomic subtract check.
8660
4a57a4b6
TV
86612018-04-28 Tom de Vries <tom@codesourcery.com>
8662
8663 PR testsuite/85527
8664 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
8665 atomic capture results obtained in parallel loop to an array, instead of
8666 to a scalar.
8667
df36a3d3
TV
86682018-04-26 Tom de Vries <tom@codesourcery.com>
8669
8670 PR libgomp/84020
8671 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
8672 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
8673 (process_GOMP_NVPTX_JIT): New function.
8674 (link_ptx): Use process_GOMP_NVPTX_JIT.
8675
d160ae78
RB
86762018-04-26 Richard Biener <rguenther@suse.de>
8677 Tom de Vries <tom@codesourcery.com>
8678
8679 PR lto/85422
8680 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
8681
ca9dc642
TV
86822018-04-26 Tom de Vries <tom@codesourcery.com>
8683
8684 PR target/85519
8685 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
8686 recursion depth from 25 to 23.
8687 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
8688
7b47ecf2
L
86892018-04-24 H.J. Lu <hongjiu.lu@intel.com>
8690
8691 * configure: Regenerated.
8692
e91eba31
NS
86932018-04-20 Nathan Sidwell <nathan@codesourcery.com>
8694 Tom de Vries <tom@codesourcery.com>
8695
8696 PR target/85445
8697 * testsuite/libgomp.oacc-c++/ref-1.C: New.
8698
6e0d40b6
TS
86992018-04-19 Thomas Schwinge <thomas@codesourcery.com>
8700
8701 PR libgomp/85463
8702 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
8703 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8704 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8705 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
8706 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
8707 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
8708
8709 PR libfortran/85166
8710 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
8711 abort".
8712 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8713
a0e1df88
JJ
87142018-04-19 Jakub Jelinek <jakub@redhat.com>
8715
8716 * configure: Regenerated.
8717
001ddaa8
DM
87182018-04-18 David Malcolm <dmalcolm@redhat.com>
8719
8720 PR jit/85384
8721 * configure: Regenerate.
8722
05e0af43
CP
87232018-04-16 Cesar Philippidis <cesar@codesourcery.com>
8724 Tom de Vries <tom@codesourcery.com>
8725
8726 PR middle-end/84955
8727 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8728 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8729
bc436e10
TK
87302018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
8731
8732 PR fortran/83064
8733 PR testsuite/85346
8734 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
8735 test from gfortran.dg to here.
8736
ffb164c7
JJ
87372018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8738
8739 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
8740 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
8741
87422018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8743
8744 PR middle-end/84955
8745 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8746 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8747
2ba16fd2
TV
87482018-04-05 Tom de Vries <tom@codesourcery.com>
8749
8750 PR target/85204
8751 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
8752
46dbeb40
TV
87532018-03-26 Tom de Vries <tom@codesourcery.com>
8754
8755 PR tree-optimization/85063
8756 * testsuite/libgomp.c/switch-conversion-2.c: New test.
8757 * testsuite/libgomp.c/switch-conversion.c: New test.
8758 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
8759 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
8760
bfc24e32
TK
87612018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
8762
8763 PR fortran/84381
8764 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
8765 call abort by STOP n.
8766 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
8767 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
8768 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
8769 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
8770 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
8771 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
8772 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
8773 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
8774 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
8775 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
8776 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
8777 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
8778 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
8779 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
8780 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
8781 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
8782 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
8783 * testsuite/libgomp.fortran/associate1.f90: Likewise.
8784 * testsuite/libgomp.fortran/associate2.f90: Likewise.
8785 * testsuite/libgomp.fortran/associate3.f90: Likewise.
8786 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
8787 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
8788 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
8789 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
8790 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
8791 * testsuite/libgomp.fortran/character1.f90: Likewise.
8792 * testsuite/libgomp.fortran/character2.f90: Likewise.
8793 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
8794 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
8795 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
8796 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
8797 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
8798 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
8799 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
8800 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
8801 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
8802 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
8803 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
8804 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
8805 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
8806 * testsuite/libgomp.fortran/do1.f90: Likewise.
8807 * testsuite/libgomp.fortran/do2.f90: Likewise.
8808 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
8809 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
8810 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
8811 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
8812 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
8813 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
8814 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8815 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
8816 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
8817 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
8818 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
8819 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
8820 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8821 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
8822 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
8823 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
8824 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
8825 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
8826 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
8827 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
8828 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
8829 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
8830 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
8831 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
8832 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
8833 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
8834 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
8835 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8836 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
8837 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
8838 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
8839 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
8840 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
8841 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8842 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8843 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
8844 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
8845 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
8846 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
8847 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
8848 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
8849 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
8850 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
8851 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
8852 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8853 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
8854 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
8855 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
8856 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
8857 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8858 * testsuite/libgomp.fortran/lib2.f: Likewise.
8859 * testsuite/libgomp.fortran/lib3.f: Likewise.
8860 * testsuite/libgomp.fortran/lib4.f90: Likewise.
8861 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
8862 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
8863 * testsuite/libgomp.fortran/nested1.f90: Likewise.
8864 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
8865 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
8866 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
8867 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
8868 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
8869 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
8870 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
8871 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
8872 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
8873 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
8874 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
8875 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
8876 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8877 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8878 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8879 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8880 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8881 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8882 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8883 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8884 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8885 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8886 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
8887 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
8888 * testsuite/libgomp.fortran/pr25162.f: Likewise.
8889 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
8890 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8891 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8892 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8893 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8894 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8895 * testsuite/libgomp.fortran/pr28390.f: Likewise.
8896 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
8897 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
8898 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
8899 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
8900 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
8901 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
8902 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
8903 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
8904 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8905 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8906 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8907 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8908 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
8909 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8910 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
8911 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
8912 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
8913 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8914 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8915 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
8916 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
8917 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
8918 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
8919 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
8920 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
8921 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8922 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
8923 * testsuite/libgomp.fortran/reference1.f90: Likewise.
8924 * testsuite/libgomp.fortran/reference2.f90: Likewise.
8925 * testsuite/libgomp.fortran/retval1.f90: Likewise.
8926 * testsuite/libgomp.fortran/retval2.f90: Likewise.
8927 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
8928 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
8929 * testsuite/libgomp.fortran/simd1.f90: Likewise.
8930 * testsuite/libgomp.fortran/simd2.f90: Likewise.
8931 * testsuite/libgomp.fortran/simd3.f90: Likewise.
8932 * testsuite/libgomp.fortran/simd4.f90: Likewise.
8933 * testsuite/libgomp.fortran/simd5.f90: Likewise.
8934 * testsuite/libgomp.fortran/simd6.f90: Likewise.
8935 * testsuite/libgomp.fortran/simd7.f90: Likewise.
8936 * testsuite/libgomp.fortran/stack.f90: Likewise.
8937 * testsuite/libgomp.fortran/strassen.f90: Likewise.
8938 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
8939 * testsuite/libgomp.fortran/tabs2.f: Likewise.
8940 * testsuite/libgomp.fortran/target1.f90: Likewise.
8941 * testsuite/libgomp.fortran/target2.f90: Likewise.
8942 * testsuite/libgomp.fortran/target3.f90: Likewise.
8943 * testsuite/libgomp.fortran/target4.f90: Likewise.
8944 * testsuite/libgomp.fortran/target5.f90: Likewise.
8945 * testsuite/libgomp.fortran/target6.f90: Likewise.
8946 * testsuite/libgomp.fortran/target7.f90: Likewise.
8947 * testsuite/libgomp.fortran/target8.f90: Likewise.
8948 * testsuite/libgomp.fortran/task1.f90: Likewise.
8949 * testsuite/libgomp.fortran/task2.f90: Likewise.
8950 * testsuite/libgomp.fortran/task3.f90: Likewise.
8951 * testsuite/libgomp.fortran/task4.f90: Likewise.
8952 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8953 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8954 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8955 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8956 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8957 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8958 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8959 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8960 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8961 * testsuite/libgomp.fortran/udr1.f90: Likewise.
8962 * testsuite/libgomp.fortran/udr10.f90: Likewise.
8963 * testsuite/libgomp.fortran/udr11.f90: Likewise.
8964 * testsuite/libgomp.fortran/udr12.f90: Likewise.
8965 * testsuite/libgomp.fortran/udr13.f90: Likewise.
8966 * testsuite/libgomp.fortran/udr14.f90: Likewise.
8967 * testsuite/libgomp.fortran/udr15.f90: Likewise.
8968 * testsuite/libgomp.fortran/udr2.f90: Likewise.
8969 * testsuite/libgomp.fortran/udr3.f90: Likewise.
8970 * testsuite/libgomp.fortran/udr4.f90: Likewise.
8971 * testsuite/libgomp.fortran/udr5.f90: Likewise.
8972 * testsuite/libgomp.fortran/udr6.f90: Likewise.
8973 * testsuite/libgomp.fortran/udr7.f90: Likewise.
8974 * testsuite/libgomp.fortran/udr8.f90: Likewise.
8975 * testsuite/libgomp.fortran/udr9.f90: Likewise.
8976 * testsuite/libgomp.fortran/vla1.f90: Likewise.
8977 * testsuite/libgomp.fortran/vla2.f90: Likewise.
8978 * testsuite/libgomp.fortran/vla3.f90: Likewise.
8979 * testsuite/libgomp.fortran/vla4.f90: Likewise.
8980 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8981 * testsuite/libgomp.fortran/vla6.f90: Likewise.
8982 * testsuite/libgomp.fortran/vla7.f90: Likewise.
8983 * testsuite/libgomp.fortran/vla8.f90: Likewise.
8984 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
8985 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
8986 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8987 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8988 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8989 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8990 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8991 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8992 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8993 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8994 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8995 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8996 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8997 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8998 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8999 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
9000 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
9001 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
9002 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
9003 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
9004 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
9005 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
9006 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
9007 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
9008 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
9009 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9010 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9011 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
9012 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9013 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
9014 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
9015 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
9016 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
9017 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
9018 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
9019 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9020 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
9021 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
9022 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
9023 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
9024 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
9025 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
9026 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
9027 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
9028 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
9029 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
9030 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
9031 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
9032 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
9033 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
9034 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
9035 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
9036 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
9037 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
9038 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
9039 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
9040 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
9041 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
9042 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
9043 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
9044 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
9045 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9046 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
9047 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
9048 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
9049 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
9050 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
9051 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
9052 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
9053 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
9054 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
9055 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
9056 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
9057 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
9058 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
9059 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
9060 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
9061 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9062 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9063 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9064 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9065 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9066 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
9067 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
9068 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
9069 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
9070 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
9071 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
9072 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
9073 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
9074 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
9075 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
9076 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
9077 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
9078
79cf14ae
RB
90792018-03-20 Richard Biener <rguenther@suse.de>
9080
9081 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
9082 parallelizable loop.
9083
14e335ed
IT
90842018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
9085
9086 PR target/84148
9087 * configure: Regenerate.
9088
83d9be55
JJ
90892018-02-16 Jakub Jelinek <jakub@redhat.com>
9090
9091 PR fortran/84418
9092 * libgomp.fortran/pr84418-1.f90: New test.
9093 * libgomp.fortran/pr84418-2.f90: New test.
9094
d1fe6124
JJ
90952018-02-14 Jakub Jelinek <jakub@redhat.com>
9096
9097 PR fortran/84313
9098 * testsuite/libgomp.fortran/threadprivate4.f90: Add
9099 -std=f2003 -fall-intrinsics into dg-additional-options.
9100
3d224921
MJ
91012018-02-08 Martin Jambor <mjambor@suse.cz>
9102
9103 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
9104 clonable.
9105
c7c30edd
MJ
91062018-02-08 Martin Jambor <mjambor@suse.cz>
9107
9108 * testsuite/libgomp.hsa.c/staticvar.c: New test.
9109
f320fdfd
RO
91102018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9111
9112 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
9113 [__cplusplus]: Declare extern "C".
9114
c31bc4ac
TV
91152018-02-07 Tom de Vries <tom@codesourcery.com>
9116
9117 PR libgomp/84217
9118 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
9119
99ae7ce5
CS
91202018-01-29 Christoph Spiel <cspiel@freenet.de>
9121 Jakub Jelinek <jakub@redhat.com>
9122
9123 PR libgomp/84096
9124 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
9125 instead of omp_lock_t.
9126
e77a1236
TV
91272018-01-25 Tom de Vries <tom@codesourcery.com>
9128
9129 PR target/84028
9130 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
9131
3dede32b
TV
91322018-01-24 Tom de Vries <tom@codesourcery.com>
9133
9134 PR target/83589
9135 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
9136
be606483
TV
91372018-01-24 Tom de Vries <tom@codesourcery.com>
9138
9139 PR target/81352
9140 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
9141
8c8e9a6b
TV
91422018-01-19 Tom de Vries <tom@codesourcery.com>
9143 Cesar Philippidis <cesar@codesourcery.com>
9144
9145 PR target/83920
9146 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
9147 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
9148
65e6aea3
JJ
91492018-01-03 Jakub Jelinek <jakub@redhat.com>
9150
85ec4feb
JJ
9151 Update copyright years.
9152
65e6aea3
JJ
9153 * libgomp.texi: Bump @copying's copyright year.
9154
60bf575c
TV
91552017-12-30 Tom de Vries <tom@codesourcery.com>
9156
9157 PR libgomp/83046
9158 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
9159 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
9160
7ec16b79
TV
91612017-12-27 Tom de Vries <tom@codesourcery.com>
9162
9163 PR c++/83046
9164 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
9165 (test_nonstatic): Fix return type to workaround PR83046.
9166
ac550b9a
JJ
91672017-12-05 Jakub Jelinek <jakub@redhat.com>
9168
9169 PR testsuite/83281
9170 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
9171 j suffix instead of i.
9172 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
9173 Likewise.
9174
ebdc83f0
CP
91752017-12-01 Cesar Philippidis <cesar@codesourcery.com>
9176
9177 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
9178 call to acc_wait (1).
9179
3b3e6283
JJ
91802017-11-24 Jakub Jelinek <jakub@redhat.com>
9181
9182 PR fortran/81304
9183 * testsuite/libgomp.fortran/pr81304.f90: New test.
9184
3b575376
JJ
91852017-11-23 Jakub Jelinek <jakub@redhat.com>
9186
9187 PR fortran/81841
9188 * libgomp.fortran/pr81841.f90: New test.
9189
b13547d8
JJ
91902017-11-22 Jakub Jelinek <jakub@redhat.com>
9191
9192 PR libgomp/83106
9193 * target.c (gomp_target_init): Compute lengths just once and
9194 use them in both malloc size and subsequent copying.
9195
efe33ced
IT
91962017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
9197
9198 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
9199 * acinclude.m4: Add cet.m4.
9200 * configure: Regenerate.
9201 * Makefile.in: Likewise.
9202 * testsuite/Makefile.in: Likewise.
9203
a7cf2612
TV
92042017-11-15 Tom de Vries <tom@codesourcery.com>
9205
9206 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
9207 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
9208 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
9209 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
9210 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
9211 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
9212
dde76623
TV
92132017-11-14 Tom de Vries <tom@codesourcery.com>
9214
9215 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
9216 non-nvidia devices.
9217
4dbeb716
JJ
92182017-11-07 Jakub Jelinek <jakub@redhat.com>
9219
9220 PR c++/82835
9221 * testsuite/libgomp.c++/pr82835.C: New test.
9222
454f8b2b
ML
92232017-11-06 Martin Liska <mliska@suse.cz>
9224
9225 * testsuite/libgomp.c++/loop-2.C: Return a value
9226 for functions with non-void return type, or change type to void,
9227 or add -Wno-return-type for test.
9228 * testsuite/libgomp.c++/loop-4.C: Likewise.
9229 * testsuite/libgomp.c++/parallel-1.C: Likewise.
9230 * testsuite/libgomp.c++/shared-1.C: Likewise.
9231 * testsuite/libgomp.c++/single-1.C: Likewise.
9232 * testsuite/libgomp.c++/single-2.C: Likewise.
9233
12e9c8ce
TV
92342017-10-31 Tom de Vries <tom@codesourcery.com>
9235
9236 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
9237 "do {} while (false)".
9238 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
9239 after HSA_DEBUG call.
9240
7324369a
JJ
92412017-10-28 Jakub Jelinek <jakub@redhat.com>
9242
9243 * target.c (struct gomp_coalesce_buf): New type.
9244 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
9245 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
9246 (gomp_copy_host2dev): Add CBUF argument, if copying into
9247 the cached ranges, memcpy into buffer instead of copying
9248 into device.
9249 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
9250 Add CBUF argument, pass it through to other calls.
9251 (gomp_map_vars): Aggregate copies from host to device if small enough
9252 and with small enough gaps in between into memcpy into a buffer and
9253 fewer host to device copies from the buffer.
9254 (gomp_update): Adjust gomp_copy_host2dev caller.
9255
933ab0e6
TS
92562017-10-17 Thomas Schwinge <thomas@codesourcery.com>
9257
9258 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
9259 run" directive.
9260 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
9261 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
9262 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
9263 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
9264
92d5d01a
TV
92652017-10-16 Tom de Vries <tom@codesourcery.com>
9266
9267 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
9268 openacc_nvidia_accel_selected.
9269 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
9270 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
9271 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
9272 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
9273 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
9274 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
9275 openacc_nvidia_accel_selected. Skip for shared memory device.
9276 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
9277 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
9278
191411e4
MJ
92792017-10-09 Martin Jambor <mjambor@suse.cz>
9280
9281 PR hsa/82416
9282 * testsuite/libgomp.hsa.c/pr82416.c: New test.
9283
e923330e
TV
92842017-10-07 Tom de Vries <tom@codesourcery.com>
9285
9286 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
9287 Remove acc_device_nvidia references.
9288 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
9289 Same.
9290
8fe3ed4c
TV
92912017-10-05 Tom de Vries <tom@codesourcery.com>
9292
9293 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
9294 vector_length(32) clause from acc parallel directive.
9295 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
9296
26596ee5
TV
92972017-10-04 Tom de Vries <tom@codesourcery.com>
9298
9299 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
9300 (main): Reduce sum of arr elements. Assert that hres is exactly
9301 representable in 32-bit floating point.
9302 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
9303 (main): Reduce sum of arr elements. Assert that hres and hmres are
9304 exactly representable in 32-bit floating point.
9305 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
9306
5c561fa9
TV
93072017-09-28 Tom de Vries <tom@codesourcery.com>
9308
9309 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
9310 setting.
9311 * testsuite/libgomp.c++/pr69393.C: Same.
9312 * testsuite/libgomp.c++/taskloop-1.C: Same.
9313 * testsuite/libgomp.c++/taskloop-3.C: Same.
9314 * testsuite/libgomp.c++/taskloop-4.C: Same.
9315 * testsuite/libgomp.c/for-4.c: Same.
9316 * testsuite/libgomp.c/pr66199-3.c: Same.
9317 * testsuite/libgomp.c/pr66199-4.c: Same.
9318 * testsuite/libgomp.c/pr66199-6.c: Same.
9319 * testsuite/libgomp.c/taskloop-1.c: Same.
9320 * testsuite/libgomp.c/taskloop-3.c: Same.
9321 * testsuite/libgomp.c/taskloop-4.c: Same.
9322 * testsuite/libgomp.fortran/aligned1.f03: Same.
9323 * testsuite/libgomp.fortran/condinc1.f: Same.
9324 * testsuite/libgomp.fortran/condinc3.f90: Same.
9325 * testsuite/libgomp.fortran/crayptr1.f90: Same.
9326 * testsuite/libgomp.fortran/crayptr2.f90: Same.
9327 * testsuite/libgomp.fortran/crayptr3.f90: Same.
9328 * testsuite/libgomp.fortran/omp_cond1.f: Same.
9329 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
9330 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
9331 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
9332 * testsuite/libgomp.fortran/recursion1.f90: Same.
9333 * testsuite/libgomp.fortran/target2.f90: Same.
9334 * testsuite/libgomp.fortran/target5.f90: Same.
9335 * testsuite/libgomp.fortran/task3.f90: Same.
9336
7d6206fe
TV
93372017-09-28 Tom de Vries <tom@codesourcery.com>
9338
9339 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
9340 vector_length(32) clause from acc parallel directive.
9341 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
9342
84c8627c
TV
93432017-09-27 Tom de Vries <tom@codesourcery.com>
9344
9345 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
9346 Remove acc_device_nvidia references.
9347
ebc6a85e
TV
93482017-09-16 Tom de Vries <tom@codesourcery.com>
9349
9350 PR c/81875
9351 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
9352
82419efb
TV
93532017-09-14 Tom de Vries <tom@codesourcery.com>
9354
9355 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
9356 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
9357 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
9358 * testsuite/libgomp.c/c.exp: Include test-cases from
9359 libgomp.c-c++-common.
9360 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
9361 files.
9362
8b586510
JJ
93632017-09-14 Jakub Jelinek <jakub@redhat.com>
9364
9365 PR c++/81314
9366 * testsuite/libgomp.c++/pr81314.C: New test.
9367
9651fbaf
GP
93682017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
9369
9370 * libgomp.texi (Top): www.openacc.org now uses https.
9371 (Enabling OpenACC): Ditto.
9372 (acc_get_num_devices): Ditto.
9373 (acc_set_device_type): Ditto.
9374 (acc_get_device_type): Ditto.
9375 (acc_set_device_num): Ditto.
9376 (acc_get_device_num): Ditto.
9377 (acc_async_test): Ditto.
9378 (acc_async_test_all): Ditto.
9379 (acc_wait): Ditto.
9380 (acc_wait_all): Ditto.
9381 (acc_wait_all_async): Ditto.
9382 (acc_wait_async): Ditto.
9383 (acc_init): Ditto.
9384 (acc_shutdown): Ditto.
9385 (acc_on_device): Ditto.
9386 (acc_malloc): Ditto.
9387 (acc_free): Ditto.
9388 (acc_copyin): Ditto.
9389 (acc_present_or_copyin): Ditto.
9390 (acc_create): Ditto.
9391 (acc_present_or_create): Ditto.
9392 (acc_copyout): Ditto.
9393 (acc_delete): Ditto.
9394 (acc_update_device): Ditto.
9395 (acc_update_self): Ditto.
9396 (acc_map_data): Ditto.
9397 (acc_unmap_data): Ditto.
9398 (acc_deviceptr): Ditto.
9399 (acc_hostptr): Ditto.
9400 (acc_is_present): Ditto.
9401 (acc_memcpy_to_device): Ditto.
9402 (acc_memcpy_from_device): Ditto.
9403 (acc_get_current_cuda_device): Ditto.
9404 (acc_get_current_cuda_context): Ditto.
9405 (acc_get_cuda_stream): Ditto.
9406 (acc_set_cuda_stream): Ditto.
9407 (ACC_DEVICE_TYPE): Ditto.
9408 (ACC_DEVICE_NUM): Ditto.
9409 (OpenACC Library Interoperability): Ditto.
9410
50aa16c3
JJ
94112017-08-09 Jakub Jelinek <jakub@redhat.com>
9412
9413 PR c/81687
9414 * testsuite/libgomp.c/pr81687-1.c: New test.
9415 * testsuite/libgomp.c/pr81687-2.c: New test.
9416
56b5041c
JJ
94172017-08-07 Jakub Jelinek <jakub@redhat.com>
9418
9419 PR c/69389
9420 * testsuite/libgomp.c/pr69389.c: New test.
9421 * testsuite/libgomp.c++/pr69389.C: New test.
9422
f4c222c0
TV
94232017-08-07 Tom de Vries <tom@codesourcery.com>
9424
9425 PR middle-end/78266
9426 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
9427 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
9428
a40ff0ae
JJ
94292017-07-27 Jakub Jelinek <jakub@redhat.com>
9430
9431 PR c/45784
9432 * testsuite/libgomp.c/pr45784.c: New test.
9433 * testsuite/libgomp.c++/pr45784.C: New test.
9434
3717fbe3
TV
94352017-07-19 Tom de Vries <tom@codesourcery.com>
9436
9437 * testsuite/libgomp.oacc-c/vec.c: New test.
9438
9607b014
TV
94392017-07-03 Tom de Vries <tom@codesourcery.com>
9440
9441 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
9442
dfb15f6b
TV
94432017-06-27 Tom de Vries <tom@codesourcery.com>
9444
9445 * plugin/plugin-nvptx.c (notify_var): New function.
9446 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
9447
22f1a037
TV
94482017-06-27 Tom de Vries <tom@codesourcery.com>
9449
9450 * env.c (parse_unsigned_long_1): Factor out of ...
9451 (parse_unsigned_long): ... here.
9452 (parse_int_1): Factor out of ...
9453 (parse_int): ... here.
9454 (parse_int_secure): New function.
9455 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
9456 * secure_getenv.h: Factor out of ...
9457 * plugin/plugin-hsa.c: ... here.
9458 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
9459
d54d1fc3
JJ
94602017-06-21 Jakub Jelinek <jakub@redhat.com>
9461
9462 PR c++/81130
9463 * testsuite/libgomp.c++/pr81130.C: New test.
9464
4f4b0ab8
RO
94652017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9466
9467 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
9468 default args.
9469 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
9470 dg-xfail-run-if default args.
9471
40ffd95f
BE
94722017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
9473
9474 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
9475 * testsuite/libgomp.c/pr39591-3.c: Likewise.
9476
01275e1e
JJ
94772017-05-30 Jakub Jelinek <jakub@redhat.com>
9478
9479 PR libgomp/80822
9480 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
9481 (gomp_affinity_init_level): Use it. Always analyze the core and thread
9482 sibling lists, depending on level just pick up what CPUs to put
9483 together into a place vs. whether add multiple ordered places.
9484
78672bd8
TS
94852017-05-24 Thomas Schwinge <thomas@codesourcery.com>
9486
7ce64403
TS
9487 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
9488 * libgomp.map (OACC_2.0.1): Add these.
9489 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
9490 for "acc_wait", and "acc_wait_all", respectively.
9491 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
9492 for "acc_wait", and "acc_wait_all", respectively.
9493 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
9494 * libgomp.texi (acc_wait, acc_wait_all): Update.
9495 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
9496 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
9497 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
9498
318686c2
TS
9499 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
9500 acc_present_or_copyin and acc_present_or_create procedures,
9501 respectively.
9502 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
9503 generally different variants of OpenACC Runtime Library functions.
9504 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
9505
a6745534
TS
9506 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
9507 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
9508
9b94fbc7
TS
9509 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
9510 of preprocessor definitions.
9511 * libgomp.h (strong_alias): Guard by "#ifdef
9512 HAVE_ATTRIBUTE_ALIAS".
9513 * oacc-mem.c: Provide "acc_pcreate" as alias for
9514 "acc_present_or_create", and "acc_pcopyin" as alias for
9515 "acc_present_or_copyin".
9516 * libgomp.map: New version "OACC_2.0.1".
9517 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
9518 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
9519 its content into...
9520 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
9521 Extend testing.
9522
78672bd8
TS
9523 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
9524 when disabling nvptx offloading.
9525
0c36d0d5
TS
95262017-05-23 Thomas Schwinge <thomas@codesourcery.com>
9527
fd71a9a2
TS
9528 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
9529 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9530 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
9531
0c36d0d5
TS
9532 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
9533 * testsuite/lib/libgomp.exp
9534 (check_effective_target_openacc_nvidia_accel_configured): New
9535 proc.
9536 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
9537 (check_effective_target_c++): New procs.
9538 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
9539 (check_effective_target_c++): Likewise.
9540
c24783c4
JJ
95412017-05-22 Jakub Jelinek <jakub@redhat.com>
9542
655e5265
JJ
9543 PR middle-end/80809
9544 * testsuite/libgomp.c/pr80809-2.c: New test.
9545 * testsuite/libgomp.c/pr80809-3.c: New test.
9546
e9e2ef9f
JJ
9547 PR middle-end/80809
9548 * testsuite/libgomp.c/pr80809-1.c: New test.
9549
c24783c4
JJ
9550 PR middle-end/80853
9551 * testsuite/libgomp.c/pr80853.c: New test.
9552
0da2f96a
TS
95532017-05-19 Thomas Schwinge <thomas@codesourcery.com>
9554
7fd549d2
TS
9555 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
9556 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
9557 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9558 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9559 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
9560
0da2f96a
TS
9561 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
9562 Debug output for failure.
9563
62ffe920
RO
95642017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9565
9566 * testsuite/lib/libgomp.exp: Load scanlang.exp.
9567
f49215b1
JJ
95682017-04-27 Jakub Jelinek <jakub@redhat.com>
9569
9570 PR bootstrap/80531
9571 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
9572 bootstrap compare failures.
9573
2260d19d
AM
95742017-04-20 Alexander Monakov <amonakov@ispras.ru>
9575
9576 * testsuite/libgomp.c/target-36.c: New testcase.
9577
19929ba9
JJ
95782017-04-13 Jakub Jelinek <jakub@redhat.com>
9579
9580 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
9581 instead of char.
9582
fbc698e0
JJ
95832017-04-11 Jakub Jelinek <jakub@redhat.com>
9584
9585 PR libgomp/80394
9586 * testsuite/libgomp.c/pr80394.c: New test.
9587
c4060df4
JJ
95882017-04-04 Jakub Jelinek <jakub@redhat.com>
9589
9590 PR libgomp/79876
9591 * config/posix/thread-stacksize.h: New file.
9592 * config/darwin/thread-stacksize.h: New file.
9593 * config/nvptx/thread-stacksize.h: New file.
9594 * env.c: Include thread-stacksize.h.
9595 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
9596 instead of 0. Call pthread_attr_setstacksize even if
9597 GOMP_DEFAULT_STACKSIZE is non-zero.
9598
e02d868a
JJ
95992017-03-30 Jakub Jelinek <jakub@redhat.com>
9600
9601 * env.c (initialize_env): Initialize stacksize to 0.
9602
7ba8651e
CP
96032017-03-22 Cesar Philippidis <cesar@codesourcery.com>
9604
9605 PR c++/80029
9606 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
9607
eebc5e2d
JJ
96082017-03-08 Jakub Jelinek <jakub@redhat.com>
9609
9610 PR c/79940
9611 * testsuite/libgomp.c/pr79940.c: New test.
9612
1eb08f52
RO
96132017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9614
9615 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
9616 targets.
9617 Add __float128 options.
9618
b0f78ff3
JDA
96192017-02-11 John David Anglin <danglin@gcc.gnu.org>
9620
9621 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
9622 hppa*-*-* dg-skip-if directive.
9623
1bbe0d8f
JJ
96242017-02-09 Jakub Jelinek <jakub@redhat.com>
9625
9626 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
9627 dg-skip-if directive into a comment.
9628
02889d23
CLT
96292017-02-09 Nathan Sidwell <nathan@codesourcery.com>
9630 Chung-Lin Tang <cltang@codesourcery.com>
9631
9632 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
9633 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
9634 add additional case.
9635 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
9636 "openacc_nvidia_accel_selected".
9637 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
9638 Add num_workers(8) clause.
9639
5896a41d
JDA
96402017-02-08 John David Anglin <danglin@gcc.gnu.org>
9641
9642 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
9643 hppa*-*-*.
9644 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
9645 include complex.h on hppa*-*-hpux*.
9646 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9647
345a8c17
TS
96482017-02-02 Thomas Schwinge <thomas@codesourcery.com>
9649
e70ab10d
TS
9650 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
9651
345a8c17
TS
9652 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
9653 GOMP_OFFLOAD_openacc_exec. Adjust all users.
9654 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
9655 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
9656 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
9657 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
9658 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
9659 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
9660 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
9661 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
9662
dced339c
TS
96632017-01-31 Thomas Schwinge <thomas@codesourcery.com>
9664
9665 * libgomp-plugin.h: #include <stdbool.h>.
9666 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
9667 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
9668 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
9669 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
9670 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
9671 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
9672 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
9673 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
9674 (GOMP_OFFLOAD_openacc_register_async_cleanup)
9675 (GOMP_OFFLOAD_openacc_async_test)
9676 (GOMP_OFFLOAD_openacc_async_test_all)
9677 (GOMP_OFFLOAD_openacc_async_wait)
9678 (GOMP_OFFLOAD_openacc_async_wait_async)
9679 (GOMP_OFFLOAD_openacc_async_wait_all)
9680 (GOMP_OFFLOAD_openacc_async_wait_all_async)
9681 (GOMP_OFFLOAD_openacc_async_set_async)
9682 (GOMP_OFFLOAD_openacc_create_thread_data)
9683 (GOMP_OFFLOAD_openacc_destroy_thread_data)
9684 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
9685 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
9686 (GOMP_OFFLOAD_openacc_get_cuda_stream)
9687 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
9688 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
9689 these.
9690 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
9691 (GOMP_OFFLOAD_unload_image): Fix argument types.
9692
23749904
JJ
96932017-01-26 Jakub Jelinek <jakub@redhat.com>
9694
c1cadde1
JJ
9695 * testsuite/lib/libgomp.exp
9696 (check_effective_target_hsa_offloading_selected_nocache): Fix up
9697 check_compile invocation. Fix up removal of executable. Drop
9698 bogus "2>&1" argument.
9699
23749904
JJ
9700 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
9701 directive.
9702
97032017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
9704 Martin Jambor <mjambor@suse.cz>
9705
9706 * plugin/hsa.h: Moved to top level include.
9707 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
9708
73aa401e
JJ
97092017-01-21 Jakub Jelinek <jakub@redhat.com>
9710
9711 PR other/79046
9712 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
9713 of cat to get version from BASE-VER file.
9714 * testsuite/Makefile.in: Regenerated.
9715
b32e85fa
JJ
97162017-01-19 Jakub Jelinek <jakub@redhat.com>
9717
9718 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
9719 for _WIN64.
9720
3c36aa6b
JJ
97212017-01-17 Jakub Jelinek <jakub@redhat.com>
9722
d190d5c0
JJ
9723 * plugin/hsa.h: Add GCC runtime library exception.
9724 * plugin/hsa_ext_finalize.h: Likewise.
9725
2393d337
JJ
9726 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
9727 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
9728 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
9729 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
9730 plugin/include/cuda as include dir and -ldl instead of -lcuda as
9731 library to link ptx plugin against.
9732 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
9733 (CUDA_CALLS): Define.
9734 (cuda_lib, cuda_lib_inited): New variables.
9735 (init_cuda_lib): New function.
9736 (CUDA_CALL_PREFIX): Define.
9737 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
9738 (CUDA_CALL): Use FN instead of (FN).
9739 (CUDA_CALL_NOCHECK): Define.
9740 (cuda_error, fini_streams_for_device, select_stream_for_async,
9741 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
9742 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
9743 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
9744 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
9745 CUDA_CALL_NOCHECK.
9746 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
9747 CUDA_CALL_NOCHECK.
9748 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
9749 Use CUDA_CALL_NOCHECK.
9750 * plugin/cuda/cuda.h: New file.
9751 * config.h.in: Regenerated.
9752 * configure: Regenerated.
9753
3c36aa6b
JJ
9754 PR other/79046
9755 * configure.ac: Add GCC_BASE_VER.
9756 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
9757 get version from BASE-VER file.
9758 * testsuite/Makefile.in: Regenerated.
9759 * configure: Regenerated.
9760 * Makefile.in: Regenerated.
9761
c508bc2d
FXC
97622017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9763
9764 PR libgomp/60670
9765 * Makefile.am: Make fincludedir multilib-aware.
9766 * Makefile.in: Regenerate.
9767
c1a9c369
JJ
97682017-01-01 Jakub Jelinek <jakub@redhat.com>
9769
cbe34bb5
JJ
9770 Update copyright years.
9771
c1a9c369
JJ
9772 * libgomp.texi: Bump @copying's copyright year.
9773
e7a7f4be
SH
97742016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9775
9776 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
9777 pthread_spinlock_t instead of gomp_mutex_t lock.
9778 (gomp_get_thread_pool): Likewise.
9779 (gomp_release_thread_pool): Likewise.
9780 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
9781 Likewise.
9782
d313d52c
SH
97832016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9784
9785 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
9786 thread pool in case nthreads == 1.
9787
630e3c3a
AM
97882016-11-30 Alexander Monakov <amonakov@ispras.ru>
9789
9790 * config/nvptx/env.c: Delete.
9791 * icv.c: Move definitions of ICV variables back ...
9792 * env.c: ...here. Do not compile environment-related functionality if
9793 LIBGOMP_OFFLOADED_ONLY is set.
9794
9e38af5c
AM
97952016-11-30 Alexander Monakov <amonakov@ispras.ru>
9796
9797 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
9798 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
9799 * configure: Regenerate.
9800 * config.h.in: Likewise.
9801
f96b7f1f
AM
98022016-11-30 Alexander Monakov <amonakov@ispras.ru>
9803
9804 * Makefile.in: Regenerate with automake-1.11.6.
9805 * aclocal.m4: Likewise.
9806 * configure: Likewise.
9807 * testsuite/Makefile.in: Likewise.
9808
6a6951b1
AM
98092016-11-28 Alexander Monakov <amonakov@ispras.ru>
9810
9811 * config/nvptx/critical.c: Delete to use generic implementation.
9812
c7ac071f
JH
98132016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
9814
9815 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
9816 ../../affinity.c as fallback.
9817 * config/nvptx/affinity.c: Delete to use fallback implementation.
9818
6103184e 98192016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 9820 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
9821 Dmitry Melnik <dm@ispras.ru>
9822
9823 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
9824 * Makefile.in. Regenerate.
9825 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
9826 (LIBGOMP_USE_PTHREADS): ...here; new define.
9827 * configure: Regenerate.
9828 * config.h.in: Likewise.
9829 * config/posix/affinity.c: Move to...
9830 * affinity.c: ...here (new file). Guard use of Pthreads-specific
9831 interface by LIBGOMP_USE_PTHREADS.
9832 * critical.c: Split out GOMP_atomic_{start,end} into...
9833 * atomic.c: ...here (new file).
9834 * env.c: Split out ICV definitions into...
9835 * icv.c: ...here (new file) and...
9836 * icv-device.c: ...here. New file.
9837 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
9838 (gomp_destroy_lock_30): Ditto.
9839 (gomp_set_lock_30): Ditto.
9840 (gomp_unset_lock_30): Ditto.
9841 (gomp_test_lock_30): Ditto.
9842 (gomp_init_nest_lock_30): Ditto.
9843 (gomp_destroy_nest_lock_30): Ditto.
9844 (gomp_set_nest_lock_30): Ditto.
9845 (gomp_unset_nest_lock_30): Ditto.
9846 (gomp_test_nest_lock_30): Ditto.
9847 * lock.c: New.
9848 * config/nvptx/lock.c: New.
9849 * config/nvptx/bar.c: New.
9850 * config/nvptx/bar.h: New.
9851 * config/nvptx/doacross.h: New.
9852 * config/nvptx/error.c: New.
9853 * config/nvptx/icv-device.c: New.
9854 * config/nvptx/mutex.h: New.
9855 * config/nvptx/pool.h: New.
9856 * config/nvptx/proc.c: New.
9857 * config/nvptx/ptrlock.h: New.
9858 * config/nvptx/sem.h: New.
9859 * config/nvptx/simple-bar.h: New.
9860 * config/nvptx/target.c: New.
9861 * config/nvptx/task.c: New.
9862 * config/nvptx/team.c: New.
9863 * config/nvptx/time.c: New.
9864 * config/posix/simple-bar.h: New.
9865 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
9866 (gomp_num_teams_var): Declare.
9867 (struct gomp_thread_pool): Change threads_dock member to
9868 gomp_simple_barrier_t.
9869 [__nvptx__] (gomp_thread): New implementation.
9870 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
9871 (gomp_thread_destructor): Ditto.
9872 (gomp_init_thread_affinity): Ditto.
9873 * team.c: Guard uses of Pthreads-specific interfaces by
9874 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
9875 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
9876 * config/nvptx/alloc.c: Delete.
9877 * config/nvptx/barrier.c: Ditto.
9878 * config/nvptx/fortran.c: Ditto.
9879 * config/nvptx/iter.c: Ditto.
9880 * config/nvptx/iter_ull.c: Ditto.
9881 * config/nvptx/loop.c: Ditto.
9882 * config/nvptx/loop_ull.c: Ditto.
9883 * config/nvptx/ordered.c: Ditto.
9884 * config/nvptx/parallel.c: Ditto.
9885 * config/nvptx/priority_queue.c: Ditto.
9886 * config/nvptx/sections.c: Ditto.
9887 * config/nvptx/single.c: Ditto.
9888 * config/nvptx/splay-tree.c: Ditto.
9889 * config/nvptx/work.c: Ditto.
9890 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9891 -foffload=-lgfortran in addition to -lgfortran.
9892 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9893 * plugin/plugin-nvptx.c: Include <limits.h>.
9894 (struct targ_fn_descriptor): Add new fields.
9895 (struct ptx_device): Ditto. Set them...
9896 (nvptx_open_device): ...here.
9897 (nvptx_adjust_launch_bounds): New.
9898 (nvptx_host2dev): Allow NULL 'nvthd'.
9899 (nvptx_dev2host): Ditto.
9900 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9901 (link_ptx): Adjust log sizes.
9902 (nvptx_host2dev): Allow NULL 'nvthd'.
9903 (nvptx_dev2host): Ditto.
9904 (nvptx_set_clocktick): New. Use it...
9905 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
9906 fields.
9907 (GOMP_OFFLOAD_dev2dev): New.
9908 (nvptx_adjust_launch_bounds): New.
9909 (nvptx_stacks_size): New.
9910 (nvptx_stacks_alloc): New.
9911 (nvptx_stacks_free): New.
9912 (GOMP_OFFLOAD_run): New.
9913 (GOMP_OFFLOAD_async_run): New (stub).
9914
56b1c60e
MJ
99152016-11-23 Martin Jambor <mjambor@suse.cz>
9916
9917 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
9918 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9919 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9920
b8d89b03 99212016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 9922 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
9923
9924 * plugin/hsa.h: New file.
9925 * plugin/hsa_ext_finalize.h: New file.
9926 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
9927 header file unistd.h, and functions secure_getenv, __secure_getenv,
9928 getuid, geteuid, getgid and getegid.
9929 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9930 -D_GNU_SOURCE.
9931 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9932 Handle various cases of secure_getenv presence, add an implementation
9933 when we can test effective UID and GID.
9934 (struct hsa_runtime_fn_info): New structure.
9935 (hsa_runtime_fn_info hsa_fns): New variable.
9936 (hsa_runtime_lib): Likewise.
9937 (support_cpu_devices): Likewise.
9938 (init_enviroment_variables): Load newly introduced ENV
9939 variables.
9940 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
9941 (hsa_fatal): Likewise.
9942 (DLSYM_FN): New macro.
9943 (init_hsa_runtime_functions): New function.
9944 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9945 structure. Depending on environment, also allow CPU devices.
9946 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9947 (get_kernarg_memory_region): Likewise.
9948 (GOMP_OFFLOAD_init_device): Likewise.
9949 (destroy_hsa_program): Likewise.
9950 (init_basic_kernel_info): New function.
9951 (GOMP_OFFLOAD_load_image): Use it.
9952 (create_and_finalize_hsa_program): Call hsa run-time functions via
9953 hsa_fns structure.
9954 (create_single_kernel_dispatch): Likewise.
9955 (release_kernel_dispatch): Likewise.
9956 (init_single_kernel): Likewise.
9957 (parse_target_attributes): Allow up multiple HSA grid dimensions.
9958 (get_group_size): New function.
9959 (run_kernel): Likewise.
9960 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9961 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9962 structure.
9963 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9964 * testsuite/libgomp-test-support.exp.in: Likewise.
9965 * Makefile.in: Regenerated.
9966 * aclocal.m4: Likewise.
9967 * config.h.in: Likewise.
9968 * configure: Likewise.
9969 * testsuite/Makefile.in: Likewise.
9970
18d2ada8 99712016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 9972 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
9973
9974 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9975 mapping clauses to target constructs.
9976 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9977
84c1b9d3
MK
99782016-11-15 Matthias Klose <doko@ubuntu.com>
9979
9980 * configure: Regenerate.
9981
b4c3a85b
JJ
99822016-11-10 Jakub Jelinek <jakub@redhat.com>
9983
8ebd1b31
JJ
9984 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9985 * omp_lib.h.in (openmp_version): Likewise.
9986 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9987 of 201307.
9988 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9989
b4c3a85b
JJ
9990 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9991 (fib_wrapper): Add map(from: x) clause.
9992 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9993 (e_53_2): Likewise.
9994 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9995 (accum): Add map(tmp) clause.
9996 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9997 (accum): Add map(tofrom: tmp) clause.
9998 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
9999 (gramSchmidt): Likewise.
10000 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
10001 map(tofrom: sum) clause.
10002 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
10003 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
10004 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
10005 only allowed on the loop iterator.
10006 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
10007 * testsuite/libgomp.fortran/taskloop2.f90: New test.
10008 * testsuite/libgomp.fortran/taskloop4.f90: New test.
10009 * testsuite/libgomp.fortran/doacross1.f90: New test.
10010 * testsuite/libgomp.fortran/doacross3.f90: New test.
10011 * testsuite/libgomp.fortran/taskloop1.f90: New test.
10012 * testsuite/libgomp.fortran/taskloop3.f90: New test.
10013 * testsuite/libgomp.fortran/doacross2.f90: New test.
10014 * testsuite/libgomp.c/doacross-1.c (main): Add missing
10015 #pragma omp atomic read.
10016 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
10017 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
10018
6668eb45
CP
100192016-11-02 Cesar Philippidis <cesar@codesourcery.com>
10020 Nathan Sidwell <nathan@acm.org>
10021
10022 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
10023 to determine default geometry.
10024 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
10025 dimension.
10026
f10e37a1
JJ
100272016-11-01 Jakub Jelinek <jakub@redhat.com>
10028
10029 * hashtab.h: Use standard GPLv3 with runtime exception
10030 boilerplate.
10031
015c7760
AH
100322016-10-27 Aldy Hernandez <aldyh@redhat.com>
10033
10034 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
10035 size when allocating new thread.
10036
20a1e5b8
MP
100372016-09-14 Marek Polacek <polacek@redhat.com>
10038
10039 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
10040
1cad9284
JJ
100412016-08-19 Jakub Jelinek <jakub@redhat.com>
10042
10043 PR fortran/71014
10044 * testsuite/libgomp.fortran/pr71014.f90: New test.
10045
2c71d454
CLT
100462016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
10047
10048 PR middle-end/70895
10049 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
10050 firstprivate clauses.
10051 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
10052 copy clauses.
10053 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
10054 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
10055 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
10056 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10057 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10058 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
10059 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10060 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
10061 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10062 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10063 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10064 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
10065
7c713714
CLT
100662016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
10067
10068 PR fortran/70598
10069 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
10070
5c934396
JJ
100712016-08-08 Jakub Jelinek <jakub@redhat.com>
10072
10073 PR c++/58706
10074 * testsuite/libgomp.c++/pr58706.C: New test.
10075
9ef64248
TS
100762016-08-04 Thomas Schwinge <thomas@codesourcery.com>
10077
bbc79c0e
TS
10078 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
10079 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
10080 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
10081 Likewise.
10082 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
10083 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
10084 Likewise.
10085 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
10086
9ef64248
TS
10087 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
10088 test, and don't hardcode -O0.
10089
c1311c86
NS
100902016-08-03 Nathan Sidwell <nathan@codesourcery.com>
10091
10092 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
10093
b1c9c068
CP
100942016-07-15 Cesar Philippidis <cesar@codesourcery.com>
10095
10096 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
10097 test.
10098
b4410f63
L
100992016-07-03 H.J. Lu <hongjiu.lu@intel.com>
10100
10101 PR middle-end/71734
10102 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
10103 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
10104
a8dbab92
JJ
101052016-07-01 Jakub Jelinek <jakub@redhat.com>
10106
10107 PR fortran/71717
10108 * testsuite/libgomp.fortran/associate3.f90: New test.
10109
9b6a8d0f
JJ
101102016-06-17 Jakub Jelinek <jakub@redhat.com>
10111
10112 * testsuite/libgomp.c++/target-21.C: New test.
10113
283635f9
JJ
101142016-06-16 Jakub Jelinek <jakub@redhat.com>
10115
10116 * testsuite/libgomp.c++/target-20.C: New test.
10117
27d6ba88
TS
101182016-06-10 Thomas Schwinge <thomas@codesourcery.com>
10119 Cesar Philippidis <cesar@codesourcery.com>
10120
10121 PR middle-end/71373
10122 * libgomp.oacc-c/nested-function-1.c: New file.
10123 * libgomp.oacc-c/nested-function-2.c: Likewise.
10124 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
10125 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
10126 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
10127
4b1ffdb1
TS
101282016-06-10 Thomas Schwinge <thomas@codesourcery.com>
10129
10130 PR c/71381
10131 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
10132 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
10133 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
10134
d821b794
CLT
101352016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
10136
10137 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
10138 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
10139
3616a8c5
CP
101402016-06-01 Cesar Philippidis <cesar@codesourcery.com>
10141
10142 PR c/70688
5eed9a88 10143 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 10144
7211a097
JJ
101452016-05-26 Jakub Jelinek <jakub@redhat.com>
10146
10147 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
10148 instead of invalid schedule(static, 0).
10149 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
10150
b4557008
CLT
101512016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
10152
10153 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
10154 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
10155 parameter, use to set async stream around call to gomp_unmap_vars,
10156 call gomp_unmap_vars() with 'do_copyfrom' set to true.
10157 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
10158 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
10159 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
10160 (event_add): Add int parameter, initialize 'val' field when
10161 adding new ptx_event struct.
10162 (nvptx_evec): Adjust event_add() call arguments.
10163 (nvptx_host2dev): Likewise.
10164 (nvptx_dev2host): Likewise.
10165 (nvptx_wait_async): Likewise.
10166 (nvptx_wait_all_async): Likewise.
10167 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
10168 pass to event_add() call.
10169 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
10170 parameter.
10171 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
10172 call openacc.register_async_cleanup_func() hook.
10173 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
10174 * target.c (gomp_copy_from_async): Delete function.
10175 (gomp_map_vars): Remove async_refcount.
10176 (gomp_unmap_vars): Likewise.
10177 (gomp_load_image_to_device): Likewise.
10178 (omp_target_associate_ptr): Likewise.
10179 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
10180 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
10181 (gomp_copy_from_async): Remove.
10182
6ce13072
CLT
101832016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
10184
10185 * target.c (gomp_device_copy): New function.
10186 (gomp_copy_host2dev): Likewise.
10187 (gomp_copy_dev2host): Likewise.
10188 (gomp_free_device_memory): Likewise.
10189 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
10190 (gomp_map_pointer): Likewise.
10191 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
10192 NULL value from alloc_func plugin hook.
10193 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
10194 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
10195 (gomp_unmap_vars): Likewise.
10196 (gomp_update): Adjust to call gomp_copy_dev2host and
10197 gomp_copy_host2dev functions.
10198 (gomp_unload_image_from_device): Handle false value from
10199 unload_image_func plugin hook.
10200 (gomp_init_device): Handle false value from init_device_func
10201 plugin hook.
10202 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
10203 (omp_target_free): Adjust to call gomp_free_device_memory.
10204 (omp_target_memcpy): Handle return values from host2dev_func,
10205 dev2host_func, and dev2dev_func plugin hooks.
10206 (omp_target_memcpy_rect_worker): Likewise.
10207 (gomp_target_fini): Handle false value from fini_device_func
10208 plugin hook.
10209 * libgomp.h (struct gomp_device_descr): Adjust return type of
10210 init_device_func, fini_device_func, unload_image_func, free_func,
10211 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
10212 * oacc-init.c (acc_shutdown_1): Handle false value from
10213 fini_device_func plugin hook.
10214 * oacc-host.c (host_init_device): Change return type to bool.
10215 (host_fini_device): Likewise.
10216 (host_unload_image): Likewise.
10217 (host_free): Likewise.
10218 (host_dev2host): Likewise.
10219 (host_host2dev): Likewise.
10220 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
10221 (acc_memcpy_to_device): Likewise.
10222 (acc_memcpy_from_device): Likewise.
10223 (delete_copyout): Add libfnname parameter, handle free_func
10224 hook fatal error case.
10225 (acc_delete): Adjust delete_copyout call.
10226 (acc_copyout): Likewise.
10227 (update_dev_host): Move gomp_mutex_unlock to after
10228 host2dev/dev2host hook calls.
10229
10230 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
10231 to 'hsa_error_msg', for clarity.
10232 (hsa_fatal): Likewise.
10233 (hsa_error): New function.
10234 (init_hsa_context): Change return type to bool, adjust to return
10235 false on error.
10236 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
10237 return value.
10238 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
10239 return false on error.
10240 (get_agent_info): Adjust to return NULL on error.
10241 (destroy_hsa_program): Change return type to bool, adjust to
10242 return false on error.
10243 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
10244 (destroy_module): Change return type to bool, adjust to
10245 return false on error.
10246 (GOMP_OFFLOAD_unload_image): Likewise.
10247 (GOMP_OFFLOAD_fini_device): Likewise.
10248 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
10249 (GOMP_OFFLOAD_free): Change to return false when called.
10250 (GOMP_OFFLOAD_dev2host): Likewise.
10251 (GOMP_OFFLOAD_host2dev): Likewise.
10252 (GOMP_OFFLOAD_dev2dev): Likewise.
10253
10254 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
10255 (CUDA_CALL): Likewise.
10256 (CUDA_CALL_ASSERT): Likewise.
10257 (map_init): Change return type to bool, use CUDA_CALL* macros.
10258 (map_fini): Likewise.
10259 (init_streams_for_device): Change return type to bool, adjust
10260 call to map_init.
10261 (fini_streams_for_device): Change return type to bool, adjust
10262 call to map_fini.
10263 (select_stream_for_async): Release stream_lock before calls to
10264 GOMP_PLUGIN_fatal, adjust call to map_init.
10265 (nvptx_init): Use CUDA_CALL* macros.
10266 (nvptx_attach_host_thread_to_device): Change return type to bool,
10267 use CUDA_CALL* macros.
10268 (nvptx_open_device): Use CUDA_CALL* macros.
10269 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
10270 macros.
10271 (nvptx_get_num_devices): Use CUDA_CALL* macros.
10272 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
10273 (nvptx_exec): Use CUDA_CALL* macros.
10274 (nvptx_alloc): Use CUDA_CALL* macros.
10275 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
10276 (nvptx_host2dev): Likewise.
10277 (nvptx_dev2host): Likewise.
10278 (nvptx_wait): Use CUDA_CALL* macros.
10279 (nvptx_wait_async): Likewise.
10280 (nvptx_wait_all): Likewise.
10281 (nvptx_wait_all_async): Likewise.
10282 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
10283 use CUDA_CALL* macros, adjust call to map_fini.
10284 (GOMP_OFFLOAD_init_device): Change return type to bool,
10285 adjust code accordingly.
10286 (GOMP_OFFLOAD_fini_device): Likewise.
10287 (GOMP_OFFLOAD_load_image): Adjust calls to
10288 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
10289 use CUDA_CALL* macros.
10290 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
10291 return code.
10292 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
10293 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
10294 handle error return.
10295 (GOMP_OFFLOAD_dev2host): Likewise.
10296 (GOMP_OFFLOAD_host2dev): Likewise.
10297 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
10298 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
10299
e46c7770
CP
103002016-05-24 Cesar Philippidis <cesar@codesourcery.com>
10301
10302 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
10303 (acc_free): Likewise.
10304 (acc_memcpy_to_device): Likewise.
10305 (acc_memcpy_from_device): Likewise.
10306 (acc_deviceptr): Likewise.
10307 (acc_hostptr): Likewise.
10308 (acc_is_present): Likewise.
10309 (acc_map_data): Likewise.
10310 (acc_unmap_data): Likewise.
10311 (present_create_copy): Likewise.
10312 (delete_copyout): Likewise.
10313 (update_dev_host): Likewise.
10314 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
10315 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
10316 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
10317 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10318 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
10319 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
10320 it only runs on nvptx targets.
10321 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
10322 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
10323 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10324 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10325 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10326 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
10327 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
10328 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
10329 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
10330 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
10331 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10332 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
10333 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
10334 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
10335 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
10336 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10337 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
10338 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
10339 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
10340 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
10341 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
10342 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
10343 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
10344
a5057543
MJ
103452016-05-23 Martin Jambor <mjambor@suse.cz>
10346
10347 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
10348
e37288a6
CLT
103492016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
10350
10351 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
10352 to gomp_init_targets_once.
10353 (acc_set_device_type): Remove !cached_base_dev condition on call to
10354 gomp_init_targets_once, move call to before acc_device_lock acquire,
10355 to avoid deadlock.
10356 (acc_get_device_num): Remove !cached_base_dev condition on call to
10357 gomp_init_targets_once.
10358 (acc_set_device_num): Likewise.
10359
51d9ed48
MJ
103602016-05-16 Martin Jambor <mjambor@suse.cz>
10361
92a285c1 10362 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 10363
5b37e866
NS
103642016-05-02 Nathan Sidwell <nathan@codesourcery.com>
10365
10366 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
10367 expected partitioning.
10368
e7ff0319
CP
103692016-04-29 Cesar Philippidis <cesar@codesourcery.com>
10370
10371 PR middle-end/70626
10372 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
10373 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
10374 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
10375
c2bd3b69
AM
103762016-04-21 Alexander Monakov <amonakov@ispras.ru>
10377
10378 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
10379 non-fatal.
10380
84311083
JJ
103812016-04-19 Jakub Jelinek <jakub@redhat.com>
10382
10383 PR middle-end/70680
10384 * testsuite/libgomp.c/pr70680-1.c: New test.
10385 * testsuite/libgomp.c/pr70680-2.c: New test.
10386
aadc043f
CP
103872016-04-14 Cesar Philippidis <cesar@codesourcery.com>
10388
10389 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
10390 pass parameter variables to subroutines.
10391
e387fc64
CP
103922016-04-14 Cesar Philippidis <cesar@codesourcery.com>
10393
10394 PR middle-end/70643
10395 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
10396
10c3c424
CP
103972016-04-13 Cesar Philippidis <cesar@codesourcery.com>
10398
10399 PR testsuite/68242
10400 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
10401 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10402
27f9add3
TS
104032016-04-12 Thomas Schwinge <thomas@codesourcery.com>
10404
58d32aeb
TS
10405 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
10406 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
10407 GOACC_declare prototype.
10408
d97633ef
TS
10409 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
10410 Merge this file, and...
10411 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
10412 ... this file, and...
10413 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
10414 ... this file, and...
10415 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
10416 ... this file, and...
10417 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
10418 ... this file, and...
10419 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
10420 ... this file, and...
10421 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
10422 ... this file, and...
10423 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
10424 ... this file, and...
10425 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
10426 ... this file, and...
10427 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
10428 ... this file, and...
10429 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
10430 ... this file, and...
10431 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
10432 ... this file, and...
10433 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
10434 ... this file into...
10435 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
10436 file.
10437
27f9add3
TS
10438 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
10439 Make failure observable.
10440
21f3a236
JJ
104412016-04-12 Jakub Jelinek <jakub@redhat.com>
10442
10443 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
10444 field.
10445 * target.c (gomp_target_fallback_firstprivate,
10446 gomp_target_unshare_firstprivate): Removed.
10447 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
10448 before waiting for dependencies.
10449 (gomp_target_task_fn): Don't copy firstprivate vars here.
10450 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
10451 firstprivate_copies here.
10452 (gomp_create_target_task): Don't initialize firstprivate_copies field.
10453 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
10454 explicit/implicit firstprivate.
10455
c42cfb5c
CP
104562016-04-08 Cesar Philippidis <cesar@codesourcery.com>
10457
10458 PR lto/70289
10459 PR ipa/70348
10460 PR tree-optimization/70373
10461 PR middle-end/70533
10462 PR middle-end/70534
10463 PR middle-end/70535
10464 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
10465 test.
10466 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
10467 test.
10468 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
10469 test.
10470 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
10471 test.
10472 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
10473 test.
10474 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
10475 test.
10476 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
10477 test.
10478 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
10479 test.
10480 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
10481 test.
10482 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
10483 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
10484 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
10485 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
10486 test.
10487 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
10488 test.
10489 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
10490 test.
10491 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
10492 test.
10493 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
10494 coverage.
10495 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10496 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
10497 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
10498 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
10499 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
10500 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
10501 coverage.
10502 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10503 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10504 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10505 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10506 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
10507 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
10508 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
10509 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
10510 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
10511 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10512 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10513 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10514 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
10515 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10516 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
10517
2620c80d
TS
105182016-03-30 Thomas Schwinge <thomas@codesourcery.com>
10519 James Norris <jnorris@codesourcery.com>
10520 Nathan Sidwell <nathan@codesourcery.com>
10521 Julian Brown <julian@codesourcery.com>
10522 Cesar Philippidis <cesar@codesourcery.com>
10523 Chung-Lin Tang <cltang@codesourcery.com>
10524 Tom de Vries <tom@codesourcery.com>
10525
10526 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
10527 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
10528 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
10529 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
10530 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
10531 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
10532 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
10533 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
10534 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
10535 XFAIL.
10536 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
10537 Incorporate...
10538 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
10539 file.
10540 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
10541 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
10542 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
10543 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
10544 Likewise.
10545 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
10546 Likewise.
10547 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
10548 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
10549 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
10550 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
10551 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
10552 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
10553 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
10554 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
10555 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
10556 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
10557 Likewise.
10558 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
10559 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
10560 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
10561 file...
10562 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
10563 file into...
10564 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
10565 file. Update.
10566 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
10567 file.
10568 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
10569 Likewise.
10570 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
10571 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
10572 ... this new file. Update.
10573 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
10574 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
10575 ... this new file. Update.
10576 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
10577 file. Incorporate...
10578 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
10579 file, and...
10580 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
10581 file, and...
10582 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
10583 file.
10584 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
10585
ce83104b
TS
105862016-03-29 Thomas Schwinge <thomas@codesourcery.com>
10587
10588 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
10589 set-torture-options.
10590
6e0df3b7
TS
105912016-03-24 Thomas Schwinge <thomas@codesourcery.com>
10592
10593 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
10594 gcc-dg-runtest.
10595 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10596 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
10597 -fno-builtin-acc_on_device instead of -O0.
10598 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
10599 -O0.
10600 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10601 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
10602 Likewise.
10603 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10604 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10605 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10606 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10607 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10608 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10609 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10610 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10611 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10612 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10613 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10614 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10615 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10616 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10617 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10618 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10619 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10620 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
10621 Don't specify -O2.
10622 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
10623 Likewise.
10624 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
10625 Likewise.
10626
f9c8babb
ML
106272016-03-24 Martin Liska <mliska@suse.cz>
10628
10629 * plugin/plugin-hsa.c (packet_store_release): New function
10630 that is taken from the HSA runtime manual.
10631 (GOMP_OFFLOAD_run): Use the function.
10632
04833609
JJ
106332016-03-23 Jakub Jelinek <jakub@redhat.com>
10634
10635 PR c++/70376
10636 * testsuite/libgomp.c++/pr70376.C: New test.
10637
d79ee524
TV
106382016-03-23 Tom de Vries <tom@codesourcery.com>
10639
10640 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
10641 initialization of lresult and lvresult.
10642 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
10643
b6d1f2b5
JN
106442016-03-23 James Norris <jnorris@codesourcery.com>
10645 Daichi Fukuoka <dc-fukuoka@sgi.com>
10646
10647 PR libgomp/69414
10648 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
10649 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
10650 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
10651 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
10652
7397fce2
ML
106532016-03-23 Martin Liska <mliska@suse.cz>
10654
10655 PR hsa/70337
10656 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
10657 argument just in case a dispatched kernel uses that argument.
10658
ee2e7d51
TS
106592016-03-16 Thomas Schwinge <thomas@codesourcery.com>
10660
10661 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
10662 -ftree-parallelize-loops/-fopenacc changes.
10663 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
10664 Likewise.
10665 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10666 Likewise.
10667 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
10668 Likewise.
10669 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
10670 Likewise.
10671 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
10672 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
10673
be9f7143
TS
106742016-03-13 Thomas Schwinge <thomas@codesourcery.com>
10675
10676 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
10677 always_ld_library_path the path to libgcc_s.
10678
f6c1032d
CP
106792016-03-10 Cesar Philippidis <cesar@codesourcery.com>
10680
10681 PR testsuite/70009
10682 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
10683
5a6452e6
TV
106842016-03-09 Tom de Vries <tom@codesourcery.com>
10685
10686 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
10687 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
10688 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10689 Same.
10690 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
10691 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
10692 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
10693 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
10694
96a71bd5
MJ
106952016-03-07 Martin Jambor <mjambor@suse.cz>
10696
10697 * testsuite/lib/libgomp.exp
10698 (check_effective_target_hsa_offloading_selected_nocache): New.
10699 (check_effective_target_hsa_offloading_selected): Likewise.
10700 * testsuite/libgomp.hsa.c/c.exp: Likewise.
10701 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
10702 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
10703 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
10704 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
10705 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
10706 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
10707 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
10708 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
10709 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
10710 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
10711 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
10712 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
10713 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
10714 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
10715 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
10716 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
10717
02e0b5b2
MJ
107182016-03-07 Martin Jambor <mjambor@suse.cz>
10719
10720 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
10721 non-shared memory accelerators.
10722 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
10723 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
10724 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
10725 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
10726 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
10727 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
10728 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
10729 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
10730 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
10731
45548f30
MJ
107322016-03-07 Martin Jambor <mjambor@suse.cz>
10733
10734 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
10735 ALWAYS_CFLAGS.
10736
da3d46cb
JJ
107372016-03-02 Jakub Jelinek <jakub@redhat.com>
10738
10739 PR libgomp/69555
10740 * testsuite/libgomp.c++/pr69555-1.C: New test.
10741 * testsuite/libgomp.c++/pr69555-2.C: New test.
10742
622174b2
KM
107432016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
10744 Martin Jambor <mjambor@suse.cz>
10745
10746 * testsuite/lib/libgomp.exp
10747 (check_effective_target_offload_device_shared_as): New proc.
10748 * testsuite/libgomp.c++/declare_target-1.C: New test.
10749
e6861a99
IV
107502016-02-25 Ilya Verbin <ilya.verbin@intel.com>
10751
10752 PR driver/68463
10753 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
10754
f99c3557
TS
107552016-02-23 Thomas Schwinge <thomas@codesourcery.com>
10756
10757 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
10758 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
10759 dims.
10760 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
10761 -ftree-parallelize-loops/-fopenacc changes.
10762 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
10763 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
10764 Likewise.
10765 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10766 Likewise.
10767 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10768 Likewise.
10769 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10770 Likewise.
10771 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10772 Likewise.
10773 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10774 Likewise.
10775 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
10776 Likewise.
10777 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
10778 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
10779 Likewise.
10780 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10781 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10782 Likewise.
10783 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10784 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10785 Likewise.
10786
d5ace3b5
CP
107872016-02-22 Cesar Philippidis <cesar@codesourcery.com>
10788
10789 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10790
f3609a89
JJ
107912016-02-19 Jakub Jelinek <jakub@redhat.com>
10792
10793 PR driver/69805
10794 * testsuite/libgomp.c/pr69805.c: New test.
10795
2175df99
TV
107962016-02-16 Tom de Vries <tom@codesourcery.com>
10797
10798 PR lto/67709
10799 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10800
17b6426c
TV
108012016-02-09 Tom de Vries <tom@codesourcery.com>
10802
10803 PR tree-optimization/69599
10804 * testsuite/libgomp.c/omp-nested-3.c: New test.
10805 * testsuite/libgomp.c/pr46032-2.c: New test.
10806 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
10807 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
10808
34df756c
TV
108092016-02-09 Tom de Vries <tom@codesourcery.com>
10810
10811 PR lto/69707
10812 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10813
5854ee30
AM
108142016-02-02 Alexander Monakov <amonakov@ispras.ru>
10815
10816 * testsuite/libgomp.c/target-31.c: Fix testcase.
10817
e70b6ad7
AM
108182016-02-02 Alexander Monakov <amonakov@ispras.ru>
10819
10820 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
10821 clause.
10822 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
10823 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
10824 reduction and map clauses.
10825 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10826
bd78a45f
JN
108272016-02-02 James Norris <jnorris@codesourcery.com>
10828
10829 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10830
41d809d3
TS
108312016-02-02 Thomas Schwinge <thomas@codesourcery.com>
10832
18f60146
TS
10833 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10834 * oacc-parallel.c (GOACC_host_data): Remove function definition.
10835
1a06f5e6
TS
10836 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10837 cases.
10838
033ff3d1
TS
10839 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
10840 variables.
10841 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
10842 (hsa_kmt_lib): Set variables.
10843 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
10844 always_ld_library_path.
10845 * Makefile.in: Regenerate.
10846 * configure: Likewise.
10847 * testsuite/Makefile.in: Likewise.
10848
4a88d9b7
TS
10849 * plugin/configfrag.ac (offload_additional_options)
10850 (offload_additional_lib_paths): Don't amend for hsa offloading.
10851 * configure: Regenerate.
10852
41d809d3
TS
10853 * plugin/configfrag.ac: Don't configure for offloading target if
10854 we don't build the corresponding plugin.
10855 * configure: Regenerate.
10856
b6adbb9f
NS
108572016-02-01 Nathan Sidwell <nathan@codesourcery.com>
10858
10859 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10860 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10861
8dfdb419
TV
108622016-01-26 Tom de Vries <tom@codesourcery.com>
10863
10864 PR tree-optimization/69110
10865 * testsuite/libgomp.c/pr69110.c: New test.
10866
02ef53f2
RB
108672016-01-25 Richard Biener <rguenther@suse.de>
10868
10869 PR lto/69393
10870 * testsuite/libgomp.c++/pr69393.C: New testcase.
10871
eb4048f2
IV
108722016-01-22 Ilya Verbin <ilya.verbin@intel.com>
10873
10874 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
10875 function wasn't mapped to the device with non-shared memory.
10876
b235cdd5
IV
108772016-01-20 Ilya Verbin <ilya.verbin@intel.com>
10878
10879 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10880
b2b40051
MJ
108812016-01-19 Martin Jambor <mjambor@suse.cz>
10882 Martin Liska <mliska@suse.cz>
10883
10884 * plugin/Makefrag.am: Add HSA plugin requirements.
10885 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10886 (HSA_RUNTIME_LIB): Likewise.
10887 (HSA_RUNTIME_CPPFLAGS): Likewise.
10888 (HSA_RUNTIME_INCLUDE): New substitution.
10889 (HSA_RUNTIME_LIB): Likewise.
10890 (HSA_RUNTIME_LDFLAGS): Likewise.
10891 (hsa-runtime): New configure option.
10892 (hsa-runtime-include): Likewise.
10893 (hsa-runtime-lib): Likewise.
10894 (PLUGIN_HSA): New substitution variable.
10895 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10896 configure options.
10897 (PLUGIN_HSA_CPPFLAGS): Likewise.
10898 (PLUGIN_HSA_LDFLAGS): Likewise.
10899 (PLUGIN_HSA_LIBS): Likewise.
10900 Check that we have access to HSA run-time.
10901 * libgomp-plugin.h (offload_target_type): New element
10902 OFFLOAD_TARGET_TYPE_HSA.
10903 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
10904 args.
10905 (bool gomp_create_target_task): Updated.
10906 (gomp_device_descr): Extra parameter of run_func and async_run_func,
10907 new field can_run_func.
10908 * libgomp_g.h (GOMP_target_ext): Update prototype.
10909 * oacc-host.c (host_run): Added a new parameter args.
10910 * target.c (calculate_firstprivate_requirements): New function.
10911 (copy_firstprivate_data): Likewise.
10912 (gomp_target_fallback_firstprivate): Use them.
10913 (gomp_target_unshare_firstprivate): New function.
10914 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
10915 devices.
10916 (GOMP_target): Do host fallback for all shared memory devices. Do not
10917 pass any args to plugins.
10918 (GOMP_target_ext): Introduce device-specific argument parameter args.
10919 Allow host fallback if device shares memory. Do not remap data if
10920 device has shared memory.
10921 (gomp_target_task_fn): Likewise. Also treat shared memory devices
10922 like host fallback for mappings.
10923 (GOMP_target_data): Treat shared memory devices like host fallback.
10924 (GOMP_target_data_ext): Likewise.
10925 (GOMP_target_update): Likewise.
10926 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
10927 gomp_create_target_task.
10928 (GOMP_target_enter_exit_data): Likewise.
10929 (omp_target_alloc): Treat shared memory devices like host fallback.
10930 (omp_target_free): Likewise.
10931 (omp_target_is_present): Likewise.
10932 (omp_target_memcpy): Likewise.
10933 (omp_target_memcpy_rect): Likewise.
10934 (omp_target_associate_ptr): Likewise.
10935 (gomp_load_plugin_for_device): Also load can_run.
10936 * task.c (GOMP_PLUGIN_target_task_completion): Free
10937 firstprivate_copies.
10938 (gomp_create_target_task): Accept new argument args and store it to
10939 ttask.
10940 * plugin/plugin-hsa.c: New file.
10941
5d7804a9
TV
109422016-01-18 Tom de Vries <tom@codesourcery.com>
10943
10944 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10945 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10946 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10947 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10948 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10949 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10950 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10951 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10952 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10953 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10954 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10955 Same.
10956 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10957 Same.
10958 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10959 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10960 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10961 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10962 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10963 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10964 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10965 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10966 Same.
10967 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10968
cb11f3cf
JJ
109692016-01-15 Jakub Jelinek <jakub@redhat.com>
10970
10971 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10972
33a126a6
CP
109732016-01-15 Cesar Philippidis <cesar@codesourcery.com>
10974
10975 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10976
cdf6119d
JN
109772016-01-12 James Norris <jnorris@codesourcery.com>
10978
10979 * libgomp.texi: Updates for OpenACC.
10980
0d58938e
AM
109812016-01-11 Alexander Monakov <amonakov@ispras.ru>
10982
10983 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10984
95918b49
L
109852016-01-07 H.J. Lu <hongjiu.lu@intel.com>
10986
10987 PR fortran/66680
10988 * testsuite/libgomp.fortran/pr66680.f90: New test.
10989
8fc708b7
JJ
109902016-01-07 Jakub Jelinek <jakub@redhat.com>
10991
10992 PR middle-end/68960
10993 * testsuite/libgomp.c/pr68960.c: New test.
10994
e9b596c1
NS
109952016-01-06 Nathan Sidwell <nathan@acm.org>
10996
1a14faf2 10997 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
10998 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10999
21fa2a29
JJ
110002016-01-04 Jakub Jelinek <jakub@redhat.com>
11001
818ab71a
JJ
11002 Update copyright years.
11003
21fa2a29
JJ
11004 * libgomp.texi: Bump @copying's copyright year.
11005
9310efbc
NS
110062015-12-31 Nathan Sidwell <nathan@acm.org>
11007
11008 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
11009 dg-additional-options syntax.
11010 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
11011 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
11012 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
11013 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
11014 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
11015 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
11016 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
11017 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
11018 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
11019 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
11020 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
11021 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
11022 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
11023 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
11024 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
11025 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
11026 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
11027 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
11028
4a38b02b
IV
110292015-12-15 Ilya Verbin <ilya.verbin@intel.com>
11030
11031 * libgomp.h (REFCOUNT_LINK): Define.
11032 (struct splay_tree_key_s): Add link_key.
11033 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
11034 Replace target address of the pointer with target address of newly
11035 mapped object in the splay tree. Set link pointer on target to the
11036 device address of the mapped object.
11037 (gomp_unmap_vars): Restore target address of the pointer in the splay
11038 tree for REFCOUNT_LINK objects after unmapping.
11039 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
11040 declare target link" objects.
11041 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
11042 "omp declare target link" objects, which were mapped for the image.
11043 (gomp_exit_data): Restore target address of the pointer in the splay
11044 tree for REFCOUNT_LINK objects after unmapping.
11045 * testsuite/libgomp.c/target-link-1.c: New file.
11046
d84ffc0a
IV
110472015-12-14 Ilya Verbin <ilya.verbin@intel.com>
11048
11049 * libgomp.h (gomp_device_state): New enum.
11050 (struct gomp_device_descr): Replace is_initialized with state.
11051 (gomp_fini_device): Remove declaration.
11052 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
11053 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
11054 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
11055 (acc_set_device_type): Use state instead of is_initialized.
11056 (acc_set_device_num): Likewise.
11057 * target.c (resolve_device): Use state instead of is_initialized.
11058 Do not initialize finalized device.
11059 (gomp_map_vars): Do nothing if device is finalized.
11060 (gomp_unmap_vars): Likewise.
11061 (gomp_update): Likewise.
11062 (GOMP_offload_register_ver): Use state instead of is_initialized.
11063 (GOMP_offload_unregister_ver): Likewise.
11064 (gomp_init_device): Likewise.
11065 (gomp_unload_device): Likewise.
11066 (gomp_fini_device): Remove.
11067 (gomp_get_target_fn_addr): Do nothing if device is finalized.
11068 (GOMP_target): Go to host fallback if device is finalized.
11069 (GOMP_target_ext): Likewise.
11070 (gomp_exit_data): Do nothing if device is finalized.
11071 (gomp_target_task_fn): Go to host fallback if device is finalized.
11072 (gomp_target_fini): New static function.
11073 (gomp_target_init): Use state instead of is_initialized.
11074 Call gomp_target_fini at exit.
11075
76680678
TV
110762015-12-09 Tom de Vries <tom@codesourcery.com>
11077
11078 PR tree-optimization/68716
11079 * testsuite/libgomp.c/omp-nested-2.c: New test.
11080
ff7a55bf
TS
110812015-12-02 Thomas Schwinge <thomas@codesourcery.com>
11082
11083 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
11084 target openacc_nvidia_accel_selected.
11085 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
11086 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
11087 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
11088 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
11089
37d5ad46
JB
110902015-12-01 Julian Brown <julian@codesourcery.com>
11091 James Norris <James_Norris@mentor.com>
11092
11093 * oacc-parallel.c (GOACC_host_data): New function.
11094 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
11095 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
11096 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
11097 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
11098 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
11099 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
11100 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
11101
db941d7e
CP
111022015-11-30 James Norris <jnorris@codesourcery.com>
11103 Cesar Philippidis <cesar@codesourcery.com>
11104
11105 libgomp/
11106 * libgomp.oacc-fortran/routine-5.f90: New test.
11107 * libgomp.oacc-fortran/routine-7.f90: New test.
11108 * libgomp.oacc-fortran/routine-9.f90: New test.
11109
e0ca27c5
TV
111102015-11-30 Tom de Vries <tom@codesourcery.com>
11111
11112 PR tree-optimization/46032
11113 * testsuite/libgomp.c/pr46032.c: New test.
11114
aec17bfe
JJ
111152015-11-27 Jakub Jelinek <jakub@redhat.com>
11116
8e4e4719
JJ
11117 PR libgomp/68579
11118 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
11119 (gomp_create_target_task): Call it before freeing
11120 GOMP_TARGET_TASK_DATA tasks.
11121
aec17bfe
JJ
11122 PR c/63326
11123 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
11124 in between case label and OpenMP standalone directives.
11125 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
11126
6cfe90e6
DE
111272015-11-26 David Edelsohn <dje.gcc@gmail.com>
11128
11129 * configure: Regenerate.
11130
0e65fd7d
JJ
111312015-11-26 Jakub Jelinek <jakub@redhat.com>
11132
11133 * testsuite/libgomp.c/target-35.c: New test.
11134
dc7a8b4b
JN
111352015-11-22 James Norris <jnorris@codesourcery.com>
11136 Cesar Philippidis <cesar@codesourcery.com>
11137
11138 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
11139 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11140 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11141 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11142 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11143
48a78aee
JJ
111442015-11-20 Jakub Jelinek <jakub@redhat.com>
11145
11146 PR middle-end/68221
11147 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
11148 * testsuite/libgomp.c/reduction-12.c: Likewise.
11149 * testsuite/libgomp.c++/reduction-11.C: Likewise.
11150 * testsuite/libgomp.c++/reduction-12.C: Likewise.
11151
2d256816
NS
111522015-11-19 Nathan Sidwell <nathan@codesourcery.com>
11153
11154 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
11155 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
11156 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
11157 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
11158 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
11159 and fix.
11160 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
11161 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
11162
33f47f42
NS
111632015-11-18 Nathan Sidwell <nathan@codesourcery.com>
11164
11165 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
11166 worker & gang cases.
11167 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
11168
3d7bfee0
CP
111692015-11-17 Cesar Philippidis <cesar@codesourcery.com>
11170
11171 * config/nvptx/priority_queue.c: New file.
11172
00b9bd52
JJ
111732015-11-14 Jakub Jelinek <jakub@redhat.com>
11174
11175 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
11176 sections.
11177
e4606348
JJ
111782015-11-14 Jakub Jelinek <jakub@redhat.com>
11179 Aldy Hernandez <aldyh@redhat.com>
11180 Ilya Verbin <ilya.verbin@intel.com>
11181
11182 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
11183 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
11184 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
11185 iterators or IV by chunk size.
11186 * parallel.c (gomp_resolve_num_threads): Don't assume that
11187 if thr->ts.team is non-NULL, then pool must be non-NULL.
11188 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
11189 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
11190 GOMP_PLUGIN_target_task_completion.
11191 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
11192 * Makefile.in: Regenerate.
11193 * libgomp.h: Shuffle prototypes and forward definitions around so
11194 priority queues can be defined.
11195 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
11196 (enum gomp_target_task_state): New enum.
11197 (struct gomp_target_task): Add state, tgt, task and team fields.
11198 (gomp_create_target_task): Change return type to bool, add
11199 state argument.
11200 (gomp_target_task_fn): Change return type to bool.
11201 (struct gomp_device_descr): Add async_run_func.
11202 (struct gomp_task): Remove children, next_child, prev_child,
11203 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
11204 Add pnode field.
11205 (struct gomp_taskgroup): Remove children.
11206 Add taskgroup_queue.
11207 (struct gomp_team): Change task_queue type to a priority queue.
11208 (splay_compare): Define inline.
11209 (priority_queue_offset): New.
11210 (priority_node_to_task): New.
11211 (task_to_priority_node): New.
11212 * oacc-mem.c: Do not include splay-tree.h.
11213 * priority_queue.c: New file.
11214 * priority_queue.h: New file.
11215 * splay-tree.c: Do not include splay-tree.h.
11216 (splay_tree_foreach_internal): New.
11217 (splay_tree_foreach): New.
11218 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
11219 (splay_tree_callback): Define typedef.
11220 * target.c (splay_compare): Move to libgomp.h.
11221 (GOMP_target): Don't adjust *thr in any way around running offloaded
11222 task.
11223 (GOMP_target_ext): Likewise. Handle target nowait.
11224 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
11225 return value from gomp_create_target_task, if false, fallthrough
11226 as if no dependencies exist.
11227 (gomp_target_task_fn): Change return type to bool, return true
11228 if the task should have another part scheduled later. Handle
11229 target nowait.
11230 (gomp_load_plugin_for_device): Initialize async_run.
11231 * task.c (gomp_init_task): Initialize children_queue.
11232 (gomp_clear_parent_in_list): New.
11233 (gomp_clear_parent_in_tree): New.
11234 (gomp_clear_parent): Handle priorities.
11235 (GOMP_task): Likewise.
11236 (priority_queue_move_task_first,
11237 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
11238 New functions.
11239 (gomp_create_target_task): Use priority queues. Change return type
11240 to bool, add state argument, return false if for async
11241 {{enter,exit} data,update} constructs no dependencies need to be
11242 waited for, handle target nowait. Set task->fn to NULL instead of
11243 gomp_target_task_fn.
11244 (verify_children_queue): Remove.
11245 (priority_list_upgrade_task): New.
11246 (priority_queue_upgrade_task): New.
11247 (verify_task_queue): Remove.
11248 (priority_list_downgrade_task): New.
11249 (priority_queue_downgrade_task): New.
11250 (gomp_task_run_pre): Use priority queues.
11251 Abstract code out to priority_queue_downgrade_task.
11252 (gomp_task_run_post_handle_dependers): Use priority queues.
11253 (gomp_task_run_post_remove_parent): Likewise.
11254 (gomp_task_run_post_remove_taskgroup): Likewise.
11255 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
11256 tasks specially.
11257 (GOMP_taskwait): Likewise.
11258 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
11259 priority-queue_upgrade_task.
11260 (GOMP_taskgroup_start): Use priority queues.
11261 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
11262 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
11263 barrier.
11264 * taskloop.c (GOMP_taskloop): Handle priorities.
11265 * team.c (gomp_new_team): Call priority_queue_init.
11266 (free_team): Call priority_queue_free.
11267 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
11268 team created for target nowait in implicit parallel region.
11269 (gomp_team_start): For nested check, test thr->ts.level instead of
11270 thr->ts.team != NULL.
11271 * testsuite/libgomp.c/doacross-3.c: New test.
11272 * testsuite/libgomp.c/ordered-5.c: New test.
11273 * testsuite/libgomp.c/priority.c: New test.
11274 * testsuite/libgomp.c/target-31.c: New test.
11275 * testsuite/libgomp.c/target-32.c: New test.
11276 * testsuite/libgomp.c/target-33.c: New test.
11277 * testsuite/libgomp.c/target-34.c: New test.
11278
1d1ab74f
NS
112792015-11-13 Nathan Sidwell <nathan@codesourcery.com>
11280
c5a64cfe
NS
11281 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
11282
1d1ab74f
NS
11283 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
11284 loop is sequential.
11285
dd3c1b14
NS
112862015-11-13 Nathan Sidwell <nathan@codesourcery.com>
11287
11288 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
11289 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
11290
6e232ba4
JN
112912015-11-12 James Norris <jnorris@codesourcery.com>
11292 Joseph Myers <joseph@codesourcery.com>
11293
11294 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
11295 * oacc-parallel.c (GOACC_declare): New function.
11296 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
11297 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
11298 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
11299 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
11300 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
11301
fffeedeb
NS
113022015-11-12 Nathan Sidwell <nathan@codesourcery.com>
11303
11304 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
11305
182190f2
NS
113062015-11-1 Nathan Sidwell <nathan@codesourcery.com>
11307
11308 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
11309 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
11310
36fa0f5f
NS
113112015-11-09 Nathan Sidwell <nathan@codesourcery.com>
11312
d350c40c
NS
11313 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
11314 inadvertent commit.
11315
113162015-11-09 Nathan Sidwell <nathan@codesourcery.com>
11317
36fa0f5f
NS
11318 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
11319 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
11320 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
11321 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
11322 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
11323
66a5f0b4
TS
113242015-11-06 Thomas Schwinge <thomas@codesourcery.com>
11325
11326 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
11327 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
11328
e01d41e5
JJ
113292015-11-05 Jakub Jelinek <jakub@redhat.com>
11330 Ilya Verbin <ilya.verbin@intel.com>
11331
11332 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
11333 GOMP_loop_nonmonotonic_dynamic_start,
11334 GOMP_loop_nonmonotonic_guided_next,
11335 GOMP_loop_nonmonotonic_guided_start,
11336 GOMP_loop_ull_nonmonotonic_dynamic_next,
11337 GOMP_loop_ull_nonmonotonic_dynamic_start,
11338 GOMP_loop_ull_nonmonotonic_guided_next,
11339 GOMP_loop_ull_nonmonotonic_guided_start,
11340 GOMP_parallel_loop_nonmonotonic_dynamic,
11341 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
11342 (GOMP_target_41): Renamed to ...
11343 (GOMP_target_ext): ... this. Add num_teams and thread_limit
11344 arguments.
11345 (GOMP_target_data_41): Renamed to ...
11346 (GOMP_target_data_ext): ... this.
11347 (GOMP_target_update_41): Renamed to ...
11348 (GOMP_target_update_ext): ... this.
11349 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
11350 GOMP_target_data_ext and GOMP_target_update_ext instead of
11351 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
11352 Export GOMP_loop_nonmonotonic_dynamic_next,
11353 GOMP_loop_nonmonotonic_dynamic_start,
11354 GOMP_loop_nonmonotonic_guided_next,
11355 GOMP_loop_nonmonotonic_guided_start,
11356 GOMP_loop_ull_nonmonotonic_dynamic_next,
11357 GOMP_loop_ull_nonmonotonic_dynamic_start,
11358 GOMP_loop_ull_nonmonotonic_guided_next,
11359 GOMP_loop_ull_nonmonotonic_guided_start,
11360 GOMP_parallel_loop_nonmonotonic_dynamic and
11361 GOMP_parallel_loop_nonmonotonic_guided.
11362 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
11363 GOMP_parallel_loop_nonmonotonic_guided,
11364 GOMP_loop_nonmonotonic_dynamic_start,
11365 GOMP_loop_nonmonotonic_guided_start,
11366 GOMP_loop_nonmonotonic_dynamic_next,
11367 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
11368 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
11369 GOMP_loop_ull_nonmonotonic_guided_start,
11370 GOMP_loop_ull_nonmonotonic_dynamic_next,
11371 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
11372 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
11373 functions.
11374 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
11375 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
11376 Use gomp_map_val function.
11377 (gomp_target_fallback_firstprivate): New static function.
11378 (GOMP_target_41): Renamed to ...
11379 (GOMP_target_ext): ... this. Add num_teams and thread_limit
11380 arguments. Move firstprivate fallback handling into a new
11381 function.
11382 (GOMP_target_data_41): Renamed to ...
11383 (GOMP_target_data_ext): ... this.
11384 (GOMP_target_update_41): Renamed to ...
11385 (GOMP_target_update_ext): ... this.
11386 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
11387 gomp_map_0len_lookup instead of gomp_map_lookup.
11388 (omp_target_is_present): Use gomp_map_0len_lookup instead of
11389 gomp_map_lookup.
11390 * testsuite/libgomp.c/target-28.c: Likewise.
11391 * testsuite/libgomp.c/monotonic-1.c: New test.
11392 * testsuite/libgomp.c/monotonic-2.c: New test.
11393 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
11394 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
11395 * testsuite/libgomp.c/pr66199-5.c: New test.
11396 * testsuite/libgomp.c/pr66199-6.c: New test.
11397 * testsuite/libgomp.c/pr66199-7.c: New test.
11398 * testsuite/libgomp.c/pr66199-8.c: New test.
11399 * testsuite/libgomp.c/pr66199-9.c: New test.
11400 * testsuite/libgomp.c/reduction-11.c: New test.
11401 * testsuite/libgomp.c/reduction-12.c: New test.
11402 * testsuite/libgomp.c/reduction-13.c: New test.
11403 * testsuite/libgomp.c/reduction-14.c: New test.
11404 * testsuite/libgomp.c/reduction-15.c: New test.
11405 * testsuite/libgomp.c/target-12.c (main): Adjust for
11406 omp_target_is_present change for one-past-last element.
11407 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
11408 the same var is both mapped and privatized.
11409 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
11410 handling of zero-length array sections.
11411 * testsuite/libgomp.c/target-28.c: New test.
11412 * testsuite/libgomp.c/target-29.c: New test.
11413 * testsuite/libgomp.c/target-30.c: New test.
11414 * testsuite/libgomp.c/target-teams-1.c: New test.
11415 * testsuite/libgomp.c++/member-6.C: New test.
11416 * testsuite/libgomp.c++/member-7.C: New test.
11417 * testsuite/libgomp.c++/monotonic-1.C: New test.
11418 * testsuite/libgomp.c++/monotonic-2.C: New test.
11419 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
11420 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
11421 * testsuite/libgomp.c++/pr66199-3.C: New test.
11422 * testsuite/libgomp.c++/pr66199-4.C: New test.
11423 * testsuite/libgomp.c++/pr66199-5.C: New test.
11424 * testsuite/libgomp.c++/pr66199-6.C: New test.
11425 * testsuite/libgomp.c++/pr66199-7.C: New test.
11426 * testsuite/libgomp.c++/pr66199-8.C: New test.
11427 * testsuite/libgomp.c++/pr66199-9.C: New test.
11428 * testsuite/libgomp.c++/reduction-11.C: New test.
11429 * testsuite/libgomp.c++/reduction-12.C: New test.
11430 * testsuite/libgomp.c++/target-13.C: New test.
11431 * testsuite/libgomp.c++/target-14.C: New test.
11432 * testsuite/libgomp.c++/target-15.C: New test.
11433 * testsuite/libgomp.c++/target-16.C: New test.
11434 * testsuite/libgomp.c++/target-17.C: New test.
11435 * testsuite/libgomp.c++/target-18.C: New test.
11436 * testsuite/libgomp.c++/target-19.C: New test.
11437
ccc8282b
NS
114382015-11-04 Nathan Sidwell <nathan@codesourcery.com>
11439
11440 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
11441 and reduction copy.
11442 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11443 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11444 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11445 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11446 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
11447 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
11448 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
11449 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
11450 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
11451 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
11452 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
11453 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
11454 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
11455 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
11456
5d6823a2
NS
114572015-11-04 Nathan Sidwell <nathan@codesourcery.com>
11458
11459 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
11460 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
11461 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
11462 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
11463 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
11464 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
11465 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
11466 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
11467
5c06742f
NS
114682015-11-03 Nathan Sidwell <nathan@codesourcery.com>
11469
11470 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
11471 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
11472 (GOMP_OFFLOAD_openacc_parallel): Likewise.
11473 * oacc-host.c (host_openacc_exec): Likewise.
11474 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
11475
4bf9e5a8
TS
114762015-11-03 Julian Brown <julian@codesourcery.com>
11477 Thomas Schwinge <thomas@codesourcery.com>
11478
11479 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
11480 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
11481 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
11482 Likewise.
11483 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
11484 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
11485
114862015-11-03 James Norris <jnorris@codesourcery.com>
11487
11488 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
11489 file.
11490 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
11491 Likewise.
11492 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
11493 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
11494 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11495 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
11496 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11497
a0e701d8
NS
114982015-10-29 Nathan Sidwell <nathan@codesourcery.com>
11499
11500 * openacc.h (enum acc_device_t): Reformat. Ensure layout
11501 compatibility.
11502 (enum acc_async_t): Reformat.
11503 (acc_on_device): Declare compatible with builtin and provide C++
11504 wrapper.
11505 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
11506
41e977ac
TS
115072015-10-29 Thomas Schwinge <thomas@codesourcery.com>
11508 Cesar Philippidis <cesar@codesourcery.com>
11509
11510 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
11511 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
11512 ... this. Add a description of the test at the top of the file.
11513 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
11514 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
11515 ... this. Add a description of the test at the top of the file.
11516
e3091406
NS
115172015-10-28 Nathan Sidwell <nathan@codesourcery.com>
11518
11519 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
11520 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
11521 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
11522 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
11523 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
11524 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
11525
a1c1908b
NS
115262015-10-27 Nathan Sidwell <nathan@codesourcery.com>
11527
11528 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
11529 dimensions.
11530
b3962a4a
TS
115312015-10-27 Thomas Schwinge <thomas@codesourcery.com>
11532
11533 PR testsuite/68063
11534 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
11535
88bae6f4
TS
115362015-10-27 James Norris <jnorris@codesourcery.com>
11537
11538 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
11539 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
11540
8baa7864
TS
115412015-10-26 Thomas Schwinge <thomas@codesourcery.com>
11542
bdeb752c
TS
11543 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
11544 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11545
ecd4fd43
TS
11546 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
11547 acc_device_nvidia usage.
11548 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
11549 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11550 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
11551
aa8b7d30
TS
11552 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
11553 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
11554
7c8f138d
TS
11555 PR libgomp/66518
11556 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
11557
8baa7864
TS
11558 PR libgomp/65437
11559 PR libgomp/66518
11560 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
11561 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
11562
88ebcde5
TV
115632015-10-23 Tom de Vries <tom@codesourcery.com>
11564
11565 PR testsuite/68063
11566 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
11567
9ef83c04
NS
115682015-10-20 Nathan Sidwell <nathan@codesourcery.com>
11569
11570 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
11571 vector_length.
11572 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11573
3837c6d6
IV
115742015-10-14 Ilya Verbin <ilya.verbin@intel.com>
11575 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
11576
11577 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
11578 to 0 when mapnum is 0.
11579
ac8a1965
SH
115802015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
11581
11582 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
11583 Cast to int from int32_t.
11584
d9a6bd32
JJ
115852015-10-13 Jakub Jelinek <jakub@redhat.com>
11586 Aldy Hernandez <aldyh@redhat.com>
11587 Ilya Verbin <ilya.verbin@intel.com>
11588
11589 * config/linux/affinity.c (omp_get_place_num_procs,
11590 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
11591 * config/linux/doacross.h: New file.
11592 * config/posix/affinity.c (omp_get_place_num_procs,
11593 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
11594 * config/posix/doacross.h: New file.
11595 * env.c: Include gomp-constants.h.
11596 (struct gomp_task_icv): Rename run_sched_modifier to
11597 run_sched_chunk_size.
11598 (gomp_max_task_priority_var): New variable.
11599 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
11600 (handle_omp_display_env): Change _OPENMP value from 201307 to
11601 201511. Print OMP_MAX_TASK_PRIORITY.
11602 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
11603 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
11604 chunk_size and run_sched_modifier to run_sched_chunk_size.
11605 (omp_get_max_task_priority, omp_get_initial_device,
11606 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
11607 omp_get_partition_place_nums): New functions.
11608 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
11609 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
11610 to chunk_size.
11611 (omp_get_num_places_, omp_get_place_num_procs_,
11612 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
11613 omp_get_place_proc_ids_8_, omp_get_place_num_,
11614 omp_get_partition_num_places_, omp_get_partition_place_nums_,
11615 omp_get_partition_place_nums_8_, omp_get_initial_device_,
11616 omp_get_max_task_priority_): New functions.
11617 * libgomp_g.h (GOMP_loop_doacross_static_start,
11618 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
11619 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
11620 GOMP_loop_ull_doacross_dynamic_start,
11621 GOMP_loop_ull_doacross_guided_start,
11622 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
11623 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
11624 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
11625 GOMP_target_data_41, GOMP_target_update_41,
11626 GOMP_target_enter_exit_data): New prototypes.
11627 (GOMP_task): Add prototype argument.
11628 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
11629 (struct gomp_doacross_work_share): New type.
11630 (struct gomp_work_share): Add doacross field.
11631 (struct gomp_task_icv): Rename run_sched_modifier to
11632 run_sched_chunk_size.
11633 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
11634 GOMP_TASK_UNDEFERRED. Add comments.
11635 (struct gomp_task_depend_entry): Add comments.
11636 (struct gomp_task): Likewise.
11637 (struct gomp_taskgroup): Likewise.
11638 (struct gomp_target_task): New type.
11639 (struct gomp_team): Add comment.
11640 (gomp_get_place_proc_ids_8, gomp_doacross_init,
11641 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
11642 gomp_create_target_task, gomp_target_task_fn): New prototypes.
11643 (struct target_var_desc): New type.
11644 (struct target_mem_desc): Adjust comment. Use struct
11645 target_var_desc instead of splay_tree_key for list.
11646 (REFCOUNT_INFINITY): Define.
11647 (struct splay_tree_key_s): Remove copy_from field.
11648 (struct gomp_device_descr): Add dev2dev_func field.
11649 (enum gomp_map_vars_kind): New enum.
11650 (gomp_map_vars): Add one argument.
11651 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
11652 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
11653 omp_get_place_num_procs, omp_get_place_num_procs_,
11654 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
11655 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
11656 omp_get_place_num_, omp_get_partition_num_places,
11657 omp_get_partition_num_places_, omp_get_partition_place_nums,
11658 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
11659 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
11660 omp_target_free, omp_target_is_present, omp_target_memcpy,
11661 omp_target_memcpy_rect, omp_target_associate_ptr and
11662 omp_target_disassociate_ptr.
11663 (GOMP_4.0.2): Renamed to ...
11664 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
11665 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
11666 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
11667 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11668 GOMP_loop_doacross_static_start, GOMP_doacross_post,
11669 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
11670 GOMP_loop_ull_doacross_guided_start,
11671 GOMP_loop_ull_doacross_runtime_start,
11672 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
11673 GOMP_doacross_ull_wait.
11674 * libgomp.texi: Document omp_get_max_task_priority.
11675 Rename modifier argument to chunk_size for omp_set_schedule and
11676 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
11677 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
11678 to run_sched_chunk_size renaming.
11679 (GOMP_loop_ordered_runtime_start): Likewise.
11680 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
11681 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11682 GOMP_parallel_loop_runtime_start): New functions.
11683 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
11684 to run_sched_chunk_size renaming.
11685 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
11686 GOMP_loop_doacross_guided_start): New functions or aliases.
11687 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
11688 run_sched_modifier to run_sched_chunk_size renaming.
11689 (GOMP_loop_ull_ordered_runtime_start): Likewise.
11690 (gomp_loop_ull_doacross_static_start,
11691 gomp_loop_ull_doacross_dynamic_start,
11692 gomp_loop_ull_doacross_guided_start,
11693 GOMP_loop_ull_doacross_runtime_start): New functions.
11694 (GOMP_loop_ull_doacross_static_start,
11695 GOMP_loop_ull_doacross_dynamic_start,
11696 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
11697 * oacc-mem.c (acc_map_data, present_create_copy,
11698 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
11699 to gomp_map_vars.
11700 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
11701 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
11702 instead of false to gomp_map_vars.
11703 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
11704 * omp.h.in (omp_lock_hint_t): New type.
11705 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11706 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11707 omp_get_place_num, omp_get_partition_num_places,
11708 omp_get_partition_place_nums, omp_get_initial_device,
11709 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
11710 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
11711 omp_target_associate_ptr, omp_target_disassociate_ptr): New
11712 prototypes.
11713 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
11714 (omp_lock_hint_none, omp_lock_hint_uncontended,
11715 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11716 omp_lock_hint_speculative): New parameters.
11717 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11718 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11719 omp_get_place_num, omp_get_partition_num_places,
11720 omp_get_partition_place_nums, omp_get_initial_device,
11721 omp_get_max_task_priority): New interfaces.
11722 (omp_set_schedule, omp_get_schedule): Rename modifier argument
11723 to chunk_size.
11724 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
11725 (omp_lock_hint_none, omp_lock_hint_uncontended,
11726 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11727 omp_lock_hint_speculative): New parameters.
11728 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11729 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11730 omp_get_place_num, omp_get_partition_num_places,
11731 omp_get_partition_place_nums, omp_get_initial_device,
11732 omp_get_max_task_priority): New functions and subroutines.
11733 * ordered.c: Include stdarg.h and string.h.
11734 (MAX_COLLAPSED_BITS): Define.
11735 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
11736 gomp_doacross_ull_init, GOMP_doacross_ull_post,
11737 GOMP_doacross_ull_wait): New functions.
11738 * target.c: Include errno.h.
11739 (resolve_device): If device is not initialized, call
11740 gomp_init_device on it.
11741 (gomp_map_lookup): New function.
11742 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
11743 Don't bump refcount if REFCOUNT_INFINITY. Handle
11744 GOMP_MAP_ALWAYS_TO_P.
11745 (get_kind): Rename is_openacc argument to short_mapkind.
11746 (gomp_map_pointer): Use gomp_map_lookup.
11747 (gomp_map_fields_existing): New function.
11748 (gomp_map_vars): Rename is_openacc argument to short_mapkind
11749 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
11750 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
11751 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
11752 Adjust for tgt->list changed type and copy_from living in there.
11753 (gomp_copy_from_async): Adjust for tgt->list changed type and
11754 copy_from living in there.
11755 (gomp_unmap_vars): Likewise.
11756 (gomp_update): Likewise. Rename is_openacc argument to
11757 short_mapkind. Don't fail if object is not mapped.
11758 (gomp_load_image_to_device): Initialize refcount to
11759 REFCOUNT_INFINITY.
11760 (gomp_target_fallback): New function.
11761 (gomp_get_target_fn_addr): Likewise.
11762 (GOMP_target): Adjust gomp_map_vars caller, use
11763 gomp_get_target_fn_addr and gomp_target_fallback.
11764 (GOMP_target_41): New function.
11765 (gomp_target_data_fallback): New function.
11766 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
11767 (GOMP_target_data_41): New function.
11768 (GOMP_target_update): Adjust gomp_update caller.
11769 (GOMP_target_update_41): New function.
11770 (gomp_exit_data, GOMP_target_enter_exit_data,
11771 gomp_target_task_fn, omp_target_alloc, omp_target_free,
11772 omp_target_is_present, omp_target_memcpy,
11773 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
11774 omp_target_associate_ptr, omp_target_disassociate_ptr,
11775 gomp_load_plugin_for_device): New functions.
11776 * task.c: Include gomp-constants.h. Include taskloop.c
11777 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
11778 (gomp_task_handle_depend): New function.
11779 (GOMP_task): Use it. Add priority argument. Use
11780 gomp-constant.h constants instead of hardcoded numbers.
11781 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
11782 (gomp_create_target_task): New function.
11783 (verify_children_queue, verify_taskgroup_queue,
11784 verify_task_queue): New functions.
11785 (gomp_task_run_pre): Call verify_*_queue functions.
11786 If an upcoming tied task is about to leave the sibling or
11787 taskgroup queues in an invalid state, adjust appropriately.
11788 Remove taskgroup argument. Add comments.
11789 (gomp_task_run_post_handle_dependers): Add comments.
11790 (gomp_task_run_post_remove_parent): Likewise.
11791 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
11792 (GOMP_taskwait): Likewise. Add comments.
11793 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
11794 problem such that the first non parent_depends_on task does not
11795 end up at the end of the children queue.
11796 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
11797 GOMP_TASK_UNDEFERRED.
11798 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
11799 * taskloop.c: New file.
11800 * testsuite/lib/libgomp.exp
11801 (check_effective_target_offload_device_nonshared_as): New proc.
11802 * testsuite/libgomp.c/affinity-2.c: New test.
11803 * testsuite/libgomp.c/doacross-1.c: New test.
11804 * testsuite/libgomp.c/doacross-2.c: New test.
11805 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
11806 Add map clause to target.
11807 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
11808 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
11809 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
11810 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
11811 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
11812 Likewise.
11813 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
11814 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
11815 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
11816 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
11817 not defined. Use those where needed.
11818 * testsuite/libgomp.c/for-4.c: New test.
11819 * testsuite/libgomp.c/for-5.c: New test.
11820 * testsuite/libgomp.c/for-6.c: New test.
11821 * testsuite/libgomp.c/linear-1.c: New test.
11822 * testsuite/libgomp.c/ordered-4.c: New test.
11823 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
11824 only allowed on the loop iterator.
11825 * testsuite/libgomp.c/pr66199-3.c: New test.
11826 * testsuite/libgomp.c/pr66199-4.c: New test.
11827 * testsuite/libgomp.c/reduction-7.c: New test.
11828 * testsuite/libgomp.c/reduction-8.c: New test.
11829 * testsuite/libgomp.c/reduction-9.c: New test.
11830 * testsuite/libgomp.c/reduction-10.c: New test.
11831 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
11832 map(tofrom:s).
11833 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
11834 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
11835 * testsuite/libgomp.c/target-11.c: New test.
11836 * testsuite/libgomp.c/target-12.c: New test.
11837 * testsuite/libgomp.c/target-13.c: New test.
11838 * testsuite/libgomp.c/target-14.c: New test.
11839 * testsuite/libgomp.c/target-15.c: New test.
11840 * testsuite/libgomp.c/target-16.c: New test.
11841 * testsuite/libgomp.c/target-17.c: New test.
11842 * testsuite/libgomp.c/target-18.c: New test.
11843 * testsuite/libgomp.c/target-19.c: New test.
11844 * testsuite/libgomp.c/target-20.c: New test.
11845 * testsuite/libgomp.c/target-21.c: New test.
11846 * testsuite/libgomp.c/target-22.c: New test.
11847 * testsuite/libgomp.c/target-23.c: New test.
11848 * testsuite/libgomp.c/target-24.c: New test.
11849 * testsuite/libgomp.c/target-25.c: New test.
11850 * testsuite/libgomp.c/target-26.c: New test.
11851 * testsuite/libgomp.c/target-27.c: New test.
11852 * testsuite/libgomp.c/taskloop-1.c: New test.
11853 * testsuite/libgomp.c/taskloop-2.c: New test.
11854 * testsuite/libgomp.c/taskloop-3.c: New test.
11855 * testsuite/libgomp.c/taskloop-4.c: New test.
11856 * testsuite/libgomp.c++/ctor-13.C: New test.
11857 * testsuite/libgomp.c++/doacross-1.C: New test.
11858 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
11859 Replace offload_device with offload_device_nonshared_as.
11860 * testsuite/libgomp.c++/for-12.C: New test.
11861 * testsuite/libgomp.c++/for-13.C: New test.
11862 * testsuite/libgomp.c++/for-14.C: New test.
11863 * testsuite/libgomp.c++/linear-1.C: New test.
11864 * testsuite/libgomp.c++/member-1.C: New test.
11865 * testsuite/libgomp.c++/member-2.C: New test.
11866 * testsuite/libgomp.c++/member-3.C: New test.
11867 * testsuite/libgomp.c++/member-4.C: New test.
11868 * testsuite/libgomp.c++/member-5.C: New test.
11869 * testsuite/libgomp.c++/ordered-1.C: New test.
11870 * testsuite/libgomp.c++/reduction-5.C: New test.
11871 * testsuite/libgomp.c++/reduction-6.C: New test.
11872 * testsuite/libgomp.c++/reduction-7.C: New test.
11873 * testsuite/libgomp.c++/reduction-8.C: New test.
11874 * testsuite/libgomp.c++/reduction-9.C: New test.
11875 * testsuite/libgomp.c++/reduction-10.C: New test.
11876 * testsuite/libgomp.c++/reference-1.C: New test.
11877 * testsuite/libgomp.c++/simd14.C: New test.
11878 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11879 * testsuite/libgomp.c++/target-5.C: New test.
11880 * testsuite/libgomp.c++/target-6.C: New test.
11881 * testsuite/libgomp.c++/target-7.C: New test.
11882 * testsuite/libgomp.c++/target-8.C: New test.
11883 * testsuite/libgomp.c++/target-9.C: New test.
11884 * testsuite/libgomp.c++/target-10.C: New test.
11885 * testsuite/libgomp.c++/target-11.C: New test.
11886 * testsuite/libgomp.c++/target-12.C: New test.
11887 * testsuite/libgomp.c++/taskloop-1.C: New test.
11888 * testsuite/libgomp.c++/taskloop-2.C: New test.
11889 * testsuite/libgomp.c++/taskloop-3.C: New test.
11890 * testsuite/libgomp.c++/taskloop-4.C: New test.
11891 * testsuite/libgomp.c++/taskloop-5.C: New test.
11892 * testsuite/libgomp.c++/taskloop-6.C: New test.
11893 * testsuite/libgomp.c++/taskloop-7.C: New test.
11894 * testsuite/libgomp.c++/taskloop-8.C: New test.
11895 * testsuite/libgomp.c++/taskloop-9.C: New test.
11896 * testsuite/libgomp.fortran/affinity1.f90: New test.
11897 * testsuite/libgomp.fortran/affinity2.f90: New test.
11898
1f600fea
TV
118992015-10-13 Tom de Vries <tom@codesourcery.com>
11900
11901 PR tree-optimization/67476
11902 * testsuite/libgomp.c/autopar-3.c: New test.
11903 * testsuite/libgomp.c/autopar-4.c: New test.
11904 * testsuite/libgomp.c/autopar-5.c: New test.
11905 * testsuite/libgomp.c/autopar-6.c: New test.
11906 * testsuite/libgomp.c/autopar-7.c: New test.
11907 * testsuite/libgomp.c/autopar-8.c: New test.
11908
058a654b
JN
119092015-10-12 James Norris <jnorris@codesourcery.com>
11910
11911 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11912 initializer.
11913
9e531d37
DM
119142015-10-09 David Malcolm <dmalcolm@redhat.com>
11915
11916 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11917 using load_gcc_lib.
11918
113020dc
TS
119192015-10-02 Thomas Schwinge <thomas@codesourcery.com>
11920
11921 * oacc-ptx.h: Remove file, moving its content into...
11922 * config/nvptx/fortran.c: ... here...
11923 * config/nvptx/oacc-init.c: ..., here...
11924 * config/nvptx/oacc-parallel.c: ..., and here.
11925 * config/nvptx/openacc.f90: New file.
11926 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11927 (link_ptx): Don't link in predefined bits of PTX code.
11928
cc3cd79b
NS
119292015-09-30 Nathan Sidwell <nathan@codesourcery.com>
11930 Bernd Schmidt <bernds@codesourcery.com>
11931
11932 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11933 (struct targ_ptx_obj): New.
11934 (nvptx_tdata): Move earlier, change data format.
11935 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
11936 objects.
11937 (GOMP_OFFLOAD_load_image): Adjust.
11938
4e2a5450
TS
119392015-09-30 Thomas Schwinge <thomas@codesourcery.com>
11940
11941 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11942 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11943 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11944 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11945 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11946 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11947 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11948 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11949 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11950 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11951 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11952 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11953 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11954 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11955 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11956 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11957 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11958 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11959 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11960 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11961 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11962 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11963 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11964 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11965 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11966 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11967 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11968 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11969 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11970 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11971 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11972 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11973 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11974 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11975 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11976 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11977 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11978 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11979 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11980 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11981 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11982 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11983 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11984 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11985 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11986 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11987 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11988 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11989 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11990 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11991 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11992 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11993 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11994 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11995 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11996 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11997 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11998 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11999 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
12000 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
12001 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
12002 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
12003 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12004
164453bb
NS
120052015-09-29 Nathan Sidwell <nathan@codesourcery.com>
12006
12007 * oacc-init.c (acc_on_device): Force optimization level.
12008
a12a0437
NS
120092015-09-29 Nathan Sidwell <nathan@codesourcery.com>
12010
12011 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
12012 (cuda_errlist): Delete.
12013 (cuda_error): Reimplement.
12014
3e32ee19
NS
120152015-09-28 Nathan Sidwell <nathan@codesourcery.com>
12016
12017 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
12018 array.
12019 * libgomp.map (GOACC_parallel_keyed): New.
12020 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
12021 all callers.
12022 (GOACC_parallel_keyed): New interface. Lose geometry arguments
12023 and take keyed varargs list. Adjust call to exec_func.
12024 (GOACC_parallel): Force host fallback.
12025 * libgomp_g.h (GOACC_parallel): Remove.
12026 (GOACC_parallel_keyed): Declare.
12027 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 12028 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
12029 (nvptx_exec): Lose separate geometry args, take array. Process
12030 dynamic dimensions and adjust.
12031 (struct nvptx_tdata): Replace fn_names field with fn_descs.
12032 (GOMP_OFFLOAD_load_image): Adjust for change in function table
12033 data.
12034 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
12035 passing.
12036 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
12037 passing.
12038
6bb4c3e2
CLT
120392015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
12040
12041 PR libgomp/67141
12042 * oacc-int.h (goacc_host_init): Add declaration.
12043 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
12044 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
12045
74032f47 120462015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 12047 Sebastian Pop <s.pop@samsung.com>
74032f47 12048
93d90219 12049 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
12050 match o/p.
12051 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
12052 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
12053 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
12054 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
12055 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
12056
97875f4a
JJ
120572015-09-03 Jakub Jelinek <jakub@redhat.com>
12058
12059 * configure.tgt: Add missing ;; in between nvptx and rtems
12060 snippets.
12061
06441dd5
SH
120622015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
12063
12064 * config/posix/pool.h (gomp_adjust_thread_attr): New.
12065 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
12066 (gomp_thread_pool_reservoir): Add priority member.
12067 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
12068 priority.
12069 (parse_thread_pools): Likewise.
12070 * team.c (gomp_team_start): Call configuration provided
12071 gomp_adjust_thread_attr(). Destroy thread attributes if
12072 necessary.
12073 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
12074
66c59f92
SH
120752015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
12076
12077 * config/posix/pool.h: New.
12078 * config/rtems/pool.h: Likewise.
12079 * config/rtems/proc.c: Likewise.
12080 * libgomp.h (gomp_thread_destructor): Declare.
12081 * team.c: Include configuration provided "pool.h".
12082 (gomp_get_thread_pool): Define in configuration.
12083 (gomp_team_end): Call configuration defined
12084 gomp_release_thread_pool().
12085
13c41b2e
SH
120862015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
12087
12088 * config/rtems/bar.c: New.
12089 * config/rtems/bar.h: Likewise.
12090 * config/rtems/mutex.c: Likewise.
12091 * config/rtems/mutex.h: Likewise.
12092 * config/rtems/sem.c: Likewise.
12093 * config/rtems/sem.h: Likewise.
12094 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
12095 <sys/lock.h> header file.
12096 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
12097 supported by Newlib.
12098 * configure: Regenerate.
12099
7892ec67
SH
121002015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
12101
12102 * team.c (gomp_new_thread_pool): Delete and move content to ...
12103 (gomp_get_thread_pool): ... new function. Allocate and
12104 initialize thread pool on demand.
12105 (get_last_team): Use gomp_get_thread_pool().
12106 (gomp_team_start): Delete thread pool initialization.
12107
1b96e9a4
TV
121082015-09-03 Tom de Vries <tom@codesourcery.com>
12109
12110 PR tree-optimization/65637
12111 * testsuite/libgomp.c/autopar-2.c: New test.
12112
3ff2d74e
TV
121132015-08-29 Tom de Vries <tom@codesourcery.com>
12114
12115 PR tree-optimization/46193
12116 * testsuite/libgomp.c/pr46193.c: New test.
12117
2a21ff19
NS
121182015-08-24 Nathan Sidwell <nathan@codesourcery.com>
12119
12120 libgomp/
12121 * libgomp.map: Add 4.0.2 version.
12122 * target.c (offload_image_descr): Add version field.
12123 (gomp_load_image_to_device): Add version argument. Adjust plugin
12124 call. Improve load mismatch diagnostic.
12125 (gomp_unload_image_from_device): Add version argument. Adjust plugin
12126 call.
12127 (GOMP_offload_regster): Make stub function, move bulk to ...
12128 (GOMP_offload_register_ver): ... here. Process version argument.
12129 (GOMP_offload_unregister): Make stub function, move bulk to ...
12130 (GOMP_offload_unregister_ver): ... here. Process version argument.
12131 (gomp_init_device): Process version field.
12132 (gomp_unload_device): Process version field.
12133 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
12134 macros. Check plugin version.
12135 * libgomp.h (gomp_device_descr): Add version function field. Adjust
12136 loader and unloader types.
12137 * oacc-host.c: Include gomp-constants.h.
12138 (host_version): New.
12139 (host_load_image, host_unload_image): Adjust.
12140 (host_dispatch): Add host_version.
12141 * plugin/plugin-nvptx.c: Include gomp-constants.h.
12142 (GOMP_OFFLOAD_version): New.
12143 (GOMP_OFFLOAD_load_image): Add version arg and check it.
12144 (GOMP_OFFLOAD_unload_image): Likewise.
12145 * plugin/plugin-host.c: Include gomp-constants.h.
12146 (GOMP_OFFLOAD_version): New.
12147 (GOMP_OFFLOAD_load_image): Add version arg.
12148 (GOMP_OFFLOAD_unload_image): Likewise.
12149
1358a747
TV
121502015-08-24 Tom de Vries <tom@codesourcery.com>
12151
12152 PR tree-optimization/65468
12153 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
12154
6be5c241
TV
121552015-08-24 Tom de Vries <tom@codesourcery.com>
12156
12157 PR tree-optimization/65468
12158 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
12159
bfe7ac89
JV
121602015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
12161
12162 PR libgomp/66761
12163 PR libgomp/67303
12164 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
12165 (gomp_iter_guided_next): Idem.
12166 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
12167 (gomp_iter_ull_guided_next): Idem.
12168 * config/linux/wait.h (do_spin): Idem.
12169
b97e78b7
TS
121702015-08-10 Thomas Schwinge <thomas@codesourcery.com>
12171
12172 * libgomp-plugin.h (enum offload_target_type): Remove
12173 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
12174 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
12175 * openacc.h (enum acc_device_t): Likewise.
12176 * openacc_lib.h: Likewise.
12177 * oacc-init.c (name_of_acc_device_t): Don't handle it.
12178 (acc_on_device): Just use __builtin_acc_on_device.
12179 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
12180 of acc_on_device builtin.
12181 * plugin/plugin-host.h: Remove file.
12182 * plugin/plugin-host.c: Likewise, but salvage some content into...
12183 * oacc-host.c: ... this file.
12184 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
12185 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
12186 * Makefile.in: Regenerate.
12187 * configure: Likewise.
12188 * testsuite/lib/libgomp.exp
12189 (check_effective_target_openacc_host_nonshm_selected): Remove.
12190 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
12191 ACC_DEVICE_TYPE=host_nonshm.
12192 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12193 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12194 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12195 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12196 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12197 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12198
44a7d18d
TS
121992015-08-10 Thomas Schwinge <thomas@codesourcery.com>
12200 Jakub Jelinek <jakub@redhat.com>
12201
12202 * config/nvptx/affinity.c: New file.
12203 * config/nvptx/alloc.c: Likewise.
12204 * config/nvptx/bar.c: Likewise.
12205 * config/nvptx/barrier.c: Likewise.
12206 * config/nvptx/critical.c: Likewise.
12207 * config/nvptx/env.c: Likewise.
12208 * config/nvptx/error.c: Likewise.
12209 * config/nvptx/fortran.c: Likewise.
12210 * config/nvptx/iter.c: Likewise.
12211 * config/nvptx/iter_ull.c: Likewise.
12212 * config/nvptx/libgomp-plugin.c: Likewise.
12213 * config/nvptx/lock.c: Likewise.
12214 * config/nvptx/loop.c: Likewise.
12215 * config/nvptx/loop_ull.c: Likewise.
12216 * config/nvptx/mutex.c: Likewise.
12217 * config/nvptx/oacc-async.c: Likewise.
12218 * config/nvptx/oacc-cuda.c: Likewise.
12219 * config/nvptx/oacc-host.c: Likewise.
12220 * config/nvptx/oacc-init.c: Likewise.
12221 * config/nvptx/oacc-mem.c: Likewise.
12222 * config/nvptx/oacc-parallel.c: Likewise.
12223 * config/nvptx/oacc-plugin.c: Likewise.
12224 * config/nvptx/omp-lock.h: Likewise.
12225 * config/nvptx/ordered.c: Likewise.
12226 * config/nvptx/parallel.c: Likewise.
12227 * config/nvptx/proc.c: Likewise.
12228 * config/nvptx/ptrlock.c: Likewise.
12229 * config/nvptx/sections.c: Likewise.
12230 * config/nvptx/sem.c: Likewise.
12231 * config/nvptx/single.c: Likewise.
12232 * config/nvptx/splay-tree.c: Likewise.
12233 * config/nvptx/target.c: Likewise.
12234 * config/nvptx/task.c: Likewise.
12235 * config/nvptx/team.c: Likewise.
12236 * config/nvptx/time.c: Likewise.
12237 * config/nvptx/work.c: Likewise.
12238 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
12239 * configure: Regenerate.
12240 * configure.tgt (config_path): Set to "nvptx" for target
12241 nvptx*-*-*.
12242
96a2d174
TS
122432015-08-10 Thomas Schwinge <thomas@codesourcery.com>
12244
12245 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
12246
9ebddeb0
NS
122472015-08-03 Nathan Sidwell <nathan@codesourcery.com>
12248
12249 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
12250 (cuda_errlist): Constify.
12251 (errmsg): Move into ...
12252 (cuda_error): ... here. Make smaller.
12253 (_XSTR, _STR): Delete.
12254 (cuda_synames): Delete.
12255 (verify_device_library): Delete.
12256 (nvptx_init): Don't call it.
12257
12efb1d7
TV
122582015-07-28 Tom de Vries <tom@codesourcery.com>
12259
12260 * testsuite/libgomp.c/uns-outer-4.c: New test.
12261
710ee218
CP
122622015-07-24 Cesar Philippidis <cesar@codesourcery.com>
12263
12264 * testsuite/libgomp.c/pr66714.c: New test.
12265
27c4ac7d
MB
122662015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
12267
12268 PR libgomp/66950
12269 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
12270 (fib_ref): New function.
12271 (fib): Correct corner cases in the recursion.
12272 (main): Replace the non-simd loop with fib_ref call.
12273 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
12274 subroutine.
12275 (fibonacci): Lower the parameter N to 30. Correct accordingly check
12276 for the last array element value. Replace the non-simd loop with
12277 fib_ref call. Remove redundant b_ref array. Remove the comparison
12278 of the last array element with according Fibonacci sequence element.
12279 (fib): Correct corner cases in the recursion.
12280
22be2349
NS
122812015-07-21 Nathan Sidwell <nathan@codesourcery.com>
12282
12283 * target.c (gomp_offload_image_to_device): Rename to ...
12284 (gomp_load_image_to_device): ... here.
12285 (GOMP_offload_register): Adjust call.
12286 (gomp_init_device): Likewise.
12287 (gomp_unload_image_from_device): New. Broken out of ...
12288 (GOMP_offload_unregister): ... here. Call it.
12289 (gomp_unload_device): New.
12290 * libgomp.h (gomp_unload_device): Declare.
12291 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
12292 mem maps.
12293
f3e9a059
NS
122942015-07-20 Nathan Sidwell <nathan@codesourcery.com>
12295
a091118d
NS
12296 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
12297 wait=-specific if.
12298 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
12299 !=0 condition.
12300 (goacc_waits): Move !num_waits handling to ...
12301 (GOACC_wait): ... here, the only caller that might have zero waits.
12302
f3e9a059
NS
12303 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
12304 (struct ptx_image_data): Move earlier, add fns field.
12305 (struct ptx_device): Add images and image_lock fields.
12306 (ptx_images, ptx_image_lock): Delete.
12307 (nvptx_open_device): Initialize images and image_lock fields.
12308 (nvptx_close_device): Destroy image_lock.
12309 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
12310 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
12311 fields.
12312
afb2d80b
NS
123132015-07-17 Nathan Sidwell <nathan@codesourcery.com>
12314
896c28a7
NS
12315 * target.c (GOMP_offload_register): Use int for device type arg.
12316 (GOMP_offload_unregister): Likewise.
12317
ebe4a560
NS
12318 * target.c (struct_offload_image_descr): Constify host_table.
12319 (gomp_offload_image_to_device): Likewise.
12320 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
12321
afb2d80b
NS
12322 * libgomp.h (gomp_device_descr): Constify target data arguments.
12323 * target.c (struct offload_image_descr): Constify target_data.
12324 (gomp_offload_image_to_device): Likewise.
12325 (GOMP_offload_register): Likewise.
93d90219 12326 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
12327 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
12328 GOMP_OFFLOAD_unload_image): Constify target data.
12329 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
12330 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
12331
a4cb876d
NS
123322015-07-16 Nathan Sidwell <nathan@codesourcery.com>
12333
12334 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
12335 Workaround driver library const error.
12336 (struct nvptx_tdata, nvptx_tdata_t): New.
12337 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
12338 type.
12339
28ef6a27
MB
123402015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
12341
12342 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
12343 of EPS parameter from integer to real.
12344 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
12345 type of EPS parameter from integer to real.
12346
6dba0113
SH
123472015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
12348
12349 * team.c (get_last_team): New.
12350 (gomp_new_team): Recycle last non-nested team if possible.
12351 (gomp_team_end): Move team work share list free lock destruction
12352 to ...
12353 (free_team): ... here.
12354
4c1cb4da
MB
123552015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
12356
12357 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
12358 and ref from int to double. Replaced their comparison with
12359 an inequality of their difference and EPS.
12360 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
12361 comparison of pri and a reference number with an inequality of their
12362 difference and EPS.
12363 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
12364 the comparison of sum and sum_ref with an inequality of their
12365 difference and EPS.
12366 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
12367 the comparison of pri and a reference number with an inequality of
12368 their difference and EPS.
12369
343587dc
MB
123702015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
12371
12372 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
12373 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
12374 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
12375 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
12376 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
12377 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
12378 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
12379 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
12380 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
12381 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
12382 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
12383 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
12384 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
12385 variables.
12386 (vec_mult): Likewise. Add #pragma omp taskwait.
12387 (main): Adjust caller.
12388 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
12389 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
12390 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
12391 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
12392 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
12393 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
12394 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
12395 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
12396 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
12397 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
12398 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
12399 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
12400 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
12401 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
12402 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
12403 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
12404 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
12405 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
12406 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
12407 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
12408 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
12409 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
12410 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
12411 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
12412 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
12413 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
12414 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
12415 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
12416 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
12417 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
12418 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
12419 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
12420 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
12421 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
12422 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
12423 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
12424 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
12425 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
12426 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
12427 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
12428 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
12429 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
12430 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
12431 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
12432 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
12433 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
12434 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
12435 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
12436 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
12437 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
12438 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
12439 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
12440 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
12441 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
12442 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
12443 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
12444 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
12445 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
12446 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
12447 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
12448 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
12449 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
12450 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
12451 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
12452 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
12453 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
12454 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
12455 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
12456 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
12457 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
12458 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
12459 (vec_mult): Add !$omp taskwait.
12460 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
12461 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
12462 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
12463 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
12464 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
12465 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
12466 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
12467 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
12468 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
12469 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
12470 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
12471 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
12472 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
12473 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
12474 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
12475 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
12476 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
12477 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
12478 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
12479 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
12480 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
12481 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
12482 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
12483 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
12484 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
12485 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
12486 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
12487 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
12488 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
12489 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
12490 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
12491 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
12492 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
12493 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
12494 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
12495 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
12496 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
12497 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
12498 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
12499 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
12500 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
12501 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
12502 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
12503 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
12504 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
12505 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
12506 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
12507 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
12508 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
12509 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
12510 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
12511 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
12512 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
12513 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
12514 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
12515 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
12516 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
12517 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
12518 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
12519 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
12520 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
12521 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
12522 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
12523 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
12524 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
12525 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
12526 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
12527
9f620bf1
TV
125282015-07-10 Tom de Vries <tom@codesourcery.com>
12529
12530 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
12531 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
12532
a92defda
TS
125332015-07-08 Thomas Schwinge <thomas@codesourcery.com>
12534
12535 PR libgomp/65099
12536 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
12537 in a 64-bit configuration.
12538 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
12539 offloading testing if no such device is available.
12540 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12541 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12542
cadb53a5
TV
125432015-07-08 Tom de Vries <tom@codesourcery.com>
12544
12545 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
12546 second call to f.
12547 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12548
712cb0bb
TV
125492015-07-07 Tom de Vries <tom@codesourcery.com>
12550
12551 PR tree-optimization/66642
12552 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
12553 iteration count case.
12554 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
12555 function, factor out of ...
12556 (main): ... here. Test low iteration count case.
12557
e5210c77
SH
125582015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
12559
12560 * libgomp.h (gomp_thread_pool): Comment last_team field.
12561
f70360e7
UB
125622015-07-02 Uros Bizjak <ubizjak@gmail.com>
12563
12564 * testsuite/libgomp.c++/pr66702-1.C: Require
12565 vect_simd_clones effective target.
12566 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
12567
b451c271
TV
125682015-06-30 Tom de Vries <tom@codesourcery.com>
12569
12570 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
12571 already set. Use DEFAULT_CFLAGS in dg-runtest.
12572 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
12573 "-O2".
12574
f8e89d9f
TV
125752015-06-30 Tom de Vries <tom@codesourcery.com>
12576
12577 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
12578 already set. Use DEFAULT_CFLAGS in dg-runtest.
12579 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
12580 * testsuite/libgomp.c++/pr64824.C: Same.
12581 * testsuite/libgomp.c++/pr64868.C: Same.
12582 * testsuite/libgomp.c++/pr66199-1.C: Same.
12583 * testsuite/libgomp.c++/pr66199-2.C: Same.
12584 * testsuite/libgomp.c++/target-2.C: Same.
12585 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
12586 -std=<standard> option.
12587 * testsuite/libgomp.c++/udr-11.C: Same.
12588 * testsuite/libgomp.c++/udr-12.C: Same.
12589 * testsuite/libgomp.c++/udr-13.C: Same.
12590 * testsuite/libgomp.c++/udr-14.C: Same.
12591 * testsuite/libgomp.c++/udr-15.C: Same.
12592 * testsuite/libgomp.c++/udr-16.C: Same.
12593 * testsuite/libgomp.c++/udr-17.C: Same.
12594 * testsuite/libgomp.c++/udr-18.C: Same.
12595 * testsuite/libgomp.c++/udr-19.C: Same.
12596 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
12597 * testsuite/libgomp.c++/simd-1.C: Same.
12598 * testsuite/libgomp.c++/simd-2.C: Same.
12599 * testsuite/libgomp.c++/simd-3.C: Same.
12600 * testsuite/libgomp.c++/simd-4.C: Same.
12601 * testsuite/libgomp.c++/simd-5.C: Same.
12602 * testsuite/libgomp.c++/simd-6.C: Same.
12603 * testsuite/libgomp.c++/simd-7.C: Same.
12604 * testsuite/libgomp.c++/simd-8.C: Same.
12605 * testsuite/libgomp.c++/simd-9.C: Same.
12606 * testsuite/libgomp.c++/simd10.C: Same.
12607 * testsuite/libgomp.c++/simd11.C: Same.
12608 * testsuite/libgomp.c++/simd12.C: Same.
12609 * testsuite/libgomp.c++/simd13.C: Same.
12610
3446fe48
JJ
126112015-06-30 Jakub Jelinek <jakub@redhat.com>
12612
12613 PR middle-end/66702
12614 * testsuite/libgomp.c++/pr66702-1.C: New test.
12615 * testsuite/libgomp.c++/pr66702-2.C: New test.
12616
8a36714a
TV
126172015-06-30 Tom de Vries <tom@codesourcery.com>
12618
12619 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
12620 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
12621 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
12622 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
12623
4f75d608
TV
126242015-06-30 Tom de Vries <tom@codesourcery.com>
12625
12626 PR tree-optimization/66652
12627 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
12628 using restrict pointers.
12629 (main): Add arguments to calls to f.
12630 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12631
6d9d1eeb
AT
126322015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
12633
12634 * configure.ac: Fix check for header <sys/sysctl.h>.
12635 * configure: Regenerate.
12636 * config.h.in: Likewise.
12637
1222f22b
TV
126382015-06-23 Tom de Vries <tom@codesourcery.com>
12639
12640 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
12641 abort.
12642 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
12643
d7efbbf6
TS
126442015-06-19 Thomas Schwinge <thomas@codesourcery.com>
12645
bfcd036f
TS
12646 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
12647 acc_device_nvidia.
12648
d7efbbf6
TS
12649 PR libgomp/66518
12650 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
12651 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12652
d7bfc710
TV
126532015-06-15 Tom de Vries <tom@codesourcery.com>
12654
12655 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
12656 dg-additional-options for any remaining options.
12657 * testsuite/libgomp.c/atomic-2.c: Same.
12658 * testsuite/libgomp.c/atomic-4.c: Same.
12659 * testsuite/libgomp.c/atomic-5.c: Same.
12660 * testsuite/libgomp.c/atomic-6.c: Same.
12661 * testsuite/libgomp.c/autopar-1.c: Same.
12662 * testsuite/libgomp.c/copyin-1.c: Same.
12663 * testsuite/libgomp.c/copyin-2.c: Same.
12664 * testsuite/libgomp.c/copyin-3.c: Same.
12665 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
12666 * testsuite/libgomp.c/nestedfn-5.c: Same.
12667 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
12668 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
12669 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
12670 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12671 * testsuite/libgomp.c/pr32362-1.c: Same.
12672 * testsuite/libgomp.c/pr32362-2.c: Same.
12673 * testsuite/libgomp.c/pr32362-3.c: Same.
12674 * testsuite/libgomp.c/pr39591-1.c: Same.
12675 * testsuite/libgomp.c/pr39591-2.c: Same.
12676 * testsuite/libgomp.c/pr39591-3.c: Same.
12677 * testsuite/libgomp.c/pr58392.c: Same.
12678 * testsuite/libgomp.c/pr58756.c: Same.
12679 * testsuite/libgomp.c/simd-1.c: Same.
12680 * testsuite/libgomp.c/simd-10.c: Same.
12681 * testsuite/libgomp.c/simd-11.c: Same.
12682 * testsuite/libgomp.c/simd-12.c: Same.
12683 * testsuite/libgomp.c/simd-13.c: Same.
12684 * testsuite/libgomp.c/simd-14.c: Same.
12685 * testsuite/libgomp.c/simd-15.c: Same.
12686 * testsuite/libgomp.c/simd-2.c: Same.
12687 * testsuite/libgomp.c/simd-3.c: Same.
12688 * testsuite/libgomp.c/simd-4.c: Same.
12689 * testsuite/libgomp.c/simd-5.c: Same.
12690 * testsuite/libgomp.c/simd-6.c: Same.
12691 * testsuite/libgomp.c/simd-7.c: Same.
12692 * testsuite/libgomp.c/simd-8.c: Same.
12693 * testsuite/libgomp.c/simd-9.c: Same.
12694
fb5b5352
TV
126952015-06-15 Tom de Vries <tom@codesourcery.com>
12696
12697 * testsuite/libgomp.c/pr35625.c: Fix typo.
12698
ca431bef
TV
126992015-06-15 Tom de Vries <tom@codesourcery.com>
12700
12701 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
12702 in dg-options.
12703 * testsuite/libgomp.c/atomic-3.c: Same.
12704 * testsuite/libgomp.c/debug-1.c: Same.
12705 * testsuite/libgomp.c/nqueens-1.c: Same.
12706 * testsuite/libgomp.c/pr26171.c: Same.
12707 * testsuite/libgomp.c/pr48591.c: Same.
12708 * testsuite/libgomp.c/pr64824.c: Same.
12709 * testsuite/libgomp.c/pr64868.c: Same.
12710 * testsuite/libgomp.c/pr66133.c: Same.
12711 * testsuite/libgomp.c/pr66199-1.c: Same.
12712 * testsuite/libgomp.c/pr66199-2.c: Same.
12713 * testsuite/libgomp.c/target-8.c: Same.
12714
0d8a9e20
TV
127152015-06-15 Tom de Vries <tom@codesourcery.com>
12716
12717 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
12718 -std={gnu99,c99}.
12719 * testsuite/libgomp.c/for-1.c: Same.
12720 * testsuite/libgomp.c/for-2.c: Same.
12721 * testsuite/libgomp.c/for-3.c: Same.
12722 * testsuite/libgomp.c/pr35625.c: Same.
12723 * testsuite/libgomp.c/pr39154.c: Same.
12724 * testsuite/libgomp.c/simd-16.c: Same.
12725 * testsuite/libgomp.c/simd-17.c: Same.
12726
a6860be9
TV
127272015-06-13 Tom de Vries <tom@codesourcery.com>
12728
12729 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
12730
ab3306d2
TV
127312015-06-13 Tom de Vries <tom@codesourcery.com>
12732
12733 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
12734 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12735 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
12736 (N): Define.
12737 (main): Use N instead of hardcoded constants.
12738
7c82d827
TV
127392015-06-05 Tom de Vries <tom@codesourcery.com>
12740
12741 merge from gomp4 branch:
12742 2015-05-28 Tom de Vries <tom@codesourcery.com>
12743
12744 PR tree-optimization/65443
12745 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
12746 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
12747 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
12748
c469078d
BRF
127492015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
12750
12751 * testsuite/libgomp.graphite/bounds.c: Adjust for
12752 cleanup-tree-dump removal.
12753 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
12754 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12755 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12756 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12757 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12758 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12759 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12760 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12761 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12762 * testsuite/libgomp.graphite/pr41118.c: Likewise.
12763
bb3caa35
UB
127642015-05-28 Uros Bizjak <ubizjak@gmail.com>
12765
12766 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
12767 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
12768 (futex_wake) [!__x86_64__]: Ditto.
12769
9fb5fd44
JB
127702015-05-28 Julian Brown <julian@codesourcery.com>
12771
12772 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
12773 function comment. Only call gomp_fatal if new argument is true.
12774 (acc_dev_num_out_of_range): New function.
12775 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
12776 acc_dev_num_out_of_range as appropriate.
12777 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
12778 (acc_get_device_num, acc_set_device_num): Update calls to
12779 resolve_device.
9fb5fd44
JB
12780 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12781 output.
12782
32eaed93
JB
127832015-05-28 Julian Brown <julian@codesourcery.com>
12784
12785 PR libgomp/65742
32eaed93
JB
12786 * oacc-init.c (plugin/plugin-host.h): Include.
12787 (acc_on_device): Check whether we're in an offloaded region for
12788 host_nonshm
12789 plugin. Don't use __builtin_acc_on_device.
12790 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
12791 nonshm_exec flag in thread-local data.
12792 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
12793 data for host_nonshm plugin.
12794 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
12795 for host_nonshm plugin.
12796 * plugin/plugin-host.h: New.
12797
ea023bcf
UB
127982015-05-27 Uros Bizjak <ubizjak@gmail.com>
12799
8ed501f1
UB
12800 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12801
128022015-05-27 Uros Bizjak <ubizjak@gmail.com>
12803
12804 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12805 Declare as int.
12806 (FUTEX_PRIVATE_FLAG): Remove L suffix.
12807 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12808 Declare as int.
12809
128102015-05-27 Uros Bizjak <ubizjak@gmail.com>
12811
bb3caa35 12812 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 12813
1716efeb
CLT
128142015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
12815
12816 * target.c (gomp_map_pointer): New function abstracting out
12817 GOMP_MAP_POINTER handling.
12818 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
12819 gomp_map_pointer().
12820
41b37d5e
JJ
128212015-05-19 Jakub Jelinek <jakub@redhat.com>
12822
12823 PR middle-end/66199
12824 * testsuite/libgomp.c/pr66199-1.c: New test.
12825 * testsuite/libgomp.c/pr66199-2.c: New test.
12826 * testsuite/libgomp.c++/pr66199-1.C: New test.
12827 * testsuite/libgomp.c++/pr66199-2.C: New test.
12828 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
12829 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
12830
c8319826
JB
128312015-05-19 Julian Brown <julian@codesourcery.com>
12832
12833 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12834 on cuInit failure.
12835
b37dddbc
JJ
128362015-05-13 Jakub Jelinek <jakub@redhat.com>
12837
12838 PR middle-end/66133
12839 * testsuite/libgomp.c/pr66133.c: New test.
12840
55fba601
MH
128412015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
12842
12843 * Makefile.in: Regenerated with automake-1.11.6.
12844 * aclocal.m4: Likewise.
12845 * config.h.in: Likewise.
12846 * configure: Likewise.
12847 * testsuite/Makefile.in: Likewise.
12848
1be0899d
JM
128492015-05-08 Jason Merrill <jason@redhat.com>
12850
12851 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12852 _Complex.
12853
12854 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12855
d2463960
JB
128562015-05-06 Julian Brown <julian@codesourcery.com>
12857
12858 * oacc-init.c (acc_device_lock): Add explanatory comment.
12859 (resolve_device): Add comment about locking requirement.
12860 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
12861 gomp_init_device and gomp_fini_device calls.
12862 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12863 (acc_get_device_num, acc_set_device_num): Add locking around
12864 resolve_device and gomp_init_device calls.
12865
e38fdba4
JB
128662015-05-06 Julian Brown <julian@codesourcery.com>
12867
12868 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
12869 goacc_thread_lock on error paths.
12870 * oacc-mem.c (lookup_host): Remove locking from function. Note
12871 locking requirement for caller in function comment.
12872 (lookup_dev): Likewise.
12873 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
12874 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
12875 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
12876 Add locking.
12877
ae8ffbbb
TS
128782015-05-05 Thomas Schwinge <thomas@codesourcery.com>
12879
12880 PR testsuite/65205
12881 PR libgomp/65993
12882 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12883 don't expect "0x" prefix for "%p" format specifier, don't expect
12884 "(nil)" for NULL pointer.
12885 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12886 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12887 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12888 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12889 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12890 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12891 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12892 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12893 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12894 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12895 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12896 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12897 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12898 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12899 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12900 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12901 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12902 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12903 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12904 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12905 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12906 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12907 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12908 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12909 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12910 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12911 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12912 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12913 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12914 accurately specify what we're looking for.
12915 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12916 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12917 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12918 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12919 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12920
1309f1d2
JN
129212015-04-30 James Norris <jnorris@codesourcery.com>
12922
12923 PR testsuite/65205
12924 * testsuite/lib/libgomp.exp
12925 (check_effective_target_openacc_host_selected)
12926 (check_effective_target_openacc_host_nonshm_selected): New
12927 procedures.
12928 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12929 dg-shouldfail.
12930 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12931 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12932 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12933 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12934 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12935 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12936 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12937 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12938 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12939 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12940 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12941 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12942 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12943 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12944 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12945 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12946 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12947 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12948 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12949 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12950 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12951 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12952 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12953 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12954 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12955 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12956 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12957 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12958 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12959 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12960 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12961 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12962 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12963 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12964 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12965 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12966 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12967 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12968 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12969 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12970 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12971 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12972 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12973
d93bdab5
JB
129742015-04-08 Julian Brown <julian@codesourcery.com>
12975
12976 * libgomp.h (target_mem_desc: Remove mem_map field.
12977 (acc_dispatch_t): Remove open_device_func, close_device_func,
12978 get_device_num_func, set_device_num_func, target_data members.
12979 Change create_thread_data_func argument to device number instead of
12980 generic pointer.
12981 * oacc-async.c (assert.h): Include.
12982 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12983 (acc_wait_all, acc_wait_all_async): Use current host thread's
12984 active device, not base_dev.
12985 * oacc-cuda.c (acc_get_current_cuda_device)
12986 (acc_get_current_cuda_context, acc_get_cuda_stream)
12987 (acc_set_cuda_stream): Likewise.
12988 * oacc-host.c (host_dispatch): Don't set open_device_func,
12989 close_device_func, get_device_num_func or set_device_num_func.
12990 * oacc-init.c (base_dev, init_key): Remove.
12991 (cached_base_dev): New.
12992 (name_of_acc_device_t): New.
12993 (acc_init_1): Initialise default-numbered device, not zeroth.
12994 (acc_shutdown_1): Close all devices of a given type.
12995 (goacc_destroy_thread): Don't use base_dev.
12996 (lazy_open, lazy_init, lazy_init_and_open): Remove.
12997 (goacc_attach_host_thread_to_device): New.
12998 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
12999 (acc_get_num_devices): Don't use base_dev.
13000 (acc_set_device_type): Reimplement.
13001 (acc_get_device_type): Don't use base_dev.
13002 (acc_get_device_num): Tweak logic.
13003 (acc_set_device_num): Likewise.
13004 (acc_on_device): Use acc_get_device_type.
13005 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
13006 (goacc_lazy_initialize): Reimplement with acc_init and
13007 goacc_attach_host_thread_to_device.
13008 * oacc-int.h (goacc_thread): Add base_dev field.
13009 (base_dev): Remove extern declaration.
13010 (goacc_attach_host_thread_to_device): Add prototype.
13011 * oacc-mem.c (acc_malloc): Use current thread's device instead of
13012 base_dev.
13013 (acc_free): Likewise.
13014 (acc_memcpy_to_device): Likewise.
13015 (acc_memcpy_from_device): Likewise.
13016 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
13017 goacc_lazy_initialize (throughout).
13018 (GOACC_parallel): Use tgt_offset to locate target functions.
13019 * target.c (gomp_map_vars): Don't set tgt->mem_map.
13020 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
13021 (gomp_load_plugin_for_device): Remove open_device, close_device,
13022 get_device_num, set_device_num openacc hook initialisation. Don't set
13023 openacc.target_data.
13024 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
13025 (GOMP_OFFLOAD_openacc_close_device)
13026 (GOMP_OFFLOAD_openacc_get_device_num)
13027 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
13028 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
13029 to int.
13030 * plugin/plugin-nvptx.c (ptx_inited): Remove.
13031 (instantiated_devices, ptx_dev_lock): New.
13032 (struct ptx_image_data): New.
13033 (ptx_devices, ptx_images, ptx_image_lock): New.
13034 (fini_streams_for_device): Reorder cuStreamDestroy call.
13035 (nvptx_get_num_devices): Remove forward declaration.
13036 (nvptx_init): Change return type to bool.
13037 (nvptx_fini): Remove.
13038 (nvptx_attach_host_thread_to_device): New.
13039 (nvptx_open_device): Return struct ptx_device* instead of void*.
13040 (nvptx_close_device): Change argument type to struct ptx_device*,
13041 return type to void.
13042 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
13043 (kernel_target_data, kernel_host_table): Remove static globals.
13044 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
13045 (GOMP_OFFLOAD_init_device): Reimplement.
13046 (GOMP_OFFLOAD_fini_device): Likewise.
13047 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
13048 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
13049 (GOMP_OFFLOAD_host2dev): Use ORD argument.
13050 (GOMP_OFFLOAD_openacc_open_device)
13051 (GOMP_OFFLOAD_openacc_close_device)
13052 (GOMP_OFFLOAD_openacc_set_device_num)
13053 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
13054 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
13055 (device number).
13056
13057 testsuite/
13058 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
13059
a51df54e
IV
130602015-04-06 Ilya Verbin <ilya.verbin@intel.com>
13061
13062 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
13063 * libgomp.h (struct gomp_memory_mapping): Remove.
13064 (struct target_mem_desc): Change type of mem_map from
13065 gomp_memory_mapping * to splay_tree_s *.
13066 (struct gomp_device_descr): Remove register_image_func, get_table_func.
13067 Add load_image_func, unload_image_func.
13068 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
13069 Remove offload_regions_registered.
13070 (gomp_init_tables): Remove.
13071 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
13072 to splay_tree_s *.
13073 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
13074 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
13075 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
13076 offload_regions_registered.
13077 Initialize load_image_func, unload_image_func, mem_map.root.
13078 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
13079 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
13080 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
13081 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
13082 gomp_memory_mapping *. Use dev's lock and splay_tree.
13083 (lookup_dev): Use dev's lock.
13084 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
13085 (acc_is_present): Likewise.
13086 (acc_map_data): Likewise.
13087 (acc_unmap_data): Likewise. Use dev's lock.
13088 (present_create_copy): Likewise.
13089 (delete_copyout): Pass dev to lookup_host instead of mem_map.
13090 (update_dev_host): Likewise.
13091 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
13092 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
13093 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
13094 (GOMP_OFFLOAD_get_table): Remove
13095 (GOMP_OFFLOAD_load_image): New function.
13096 (GOMP_OFFLOAD_unload_image): New function.
13097 * target.c (register_lock): New mutex for offload image registration.
13098 (num_devices): Do not guard with PLUGIN_SUPPORT.
13099 (gomp_realloc_unlock): New static function.
13100 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
13101 before gomp_fatal.
13102 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
13103 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
13104 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
13105 mem_map's.
13106 (gomp_unmap_vars): Likewise.
13107 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
13108 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
13109 (gomp_offload_image_to_device): New static function.
13110 (GOMP_offload_register): Add mutex lock.
13111 Call gomp_offload_image_to_device for all initialized devices.
13112 Replace gomp_realloc with gomp_realloc_unlock.
13113 (GOMP_offload_unregister): New function.
13114 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
13115 get_table_func from the plugin with calls to init_device_func and
13116 gomp_offload_image_to_device.
13117 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
13118 to splay_tree_s *.
13119 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
13120 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
13121 (GOMP_target_data): Do not call gomp_init_tables.
13122 (GOMP_target_update): Likewise. Remove argument from gomp_update.
13123 (gomp_load_plugin_for_device): Replace register_image and get_table
13124 with load_image and unload_image in DLSYM ().
13125 (gomp_register_images_for_device): Remove function.
13126 (gomp_target_init): Do not initialize current_device.mem_map.*,
13127 current_device.offload_regions_registered.
13128 Remove call to gomp_register_images_for_device.
13129 Do not free offload_images and num_offload_images.
13130
6c384511
JJ
131312015-03-30 Jakub Jelinek <jakub@redhat.com>
13132
13133 PR fortran/65597
13134 * testsuite/libgomp.fortran/pr65597.f90: New test.
13135
3e8165a5
TV
131362015-03-27 Tom de Vries <tom@codesourcery.com>
13137
13138 PR testsuite/65594
13139 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
13140 (init, check): New function.
13141 (foo): Change return type to void.
13142 (main): Call init and check.
13143
4d688c9a
TV
131442015-03-27 Tom de Vries <tom@codesourcery.com>
13145
13146 PR testsuite/65594
13147 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
13148 (foo): Use M for non-inner loops to scale down test-case.
13149
01c0b3b0
KT
131502015-03-25 Kai Tietz <ktietz@redhat.com>
13151
13152 PR libgomp/64972
13153 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
13154 (GOACC_data_start): Likewise.
13155 * target.c (gomp_map_vars): Likewise.
13156
844d9a76
JDA
131572015-03-21 John David Anglin <danglin@gcc.gnu.org>
13158
13159 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
13160 hppa*-*-hpux*.
13161
9b65e171
JJ
131622015-03-19 Jakub Jelinek <jakub@redhat.com>
13163
13164 * testsuite/libgomp.c/target-10.c: New test.
13165 * testsuite/libgomp.c++/target-4.C: New test.
13166
db397e2e
IV
131672015-03-13 Ilya Verbin <ilya.verbin@intel.com>
13168
13169 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
13170 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
13171
cd93945d
SH
131722015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
13173
13174 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
13175 * configure.ac (*-*-rtems*): Assume Pthread is supported.
13176 (pthread.h): Check for this header file.
13177 * configure: Regenerate.
13178
05deba9f
TV
131792015-02-25 Tom de Vries <tom@codesourcery.com>
13180
13181 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
13182 (check_reduction_op, check_reduction_macro, max, min):
13183 Declare.
13184 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
13185 function.
13186 (main): Use new functions.
13187
196904d8
IT
131882015-02-18 Ilya Tocar <ilya.tocar@intel.com>
13189
13190 * target.c (gomp_load_plugin_for_device): Use const char * instead of
13191 char * for variables holding dlerror return values.
13192 (DLSYM_OPT): Ditto.
13193
a2818955
TS
131942015-02-17 Thomas Schwinge <thomas@codesourcery.com>
13195
13196 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
13197
26f93312
TS
131982015-02-17 Thomas Schwinge <thomas@codesourcery.com>
13199 Cesar Philippidis <cesar@codesourcery.com>
13200
13201 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
13202 GOACC_ctaid, and GOACC_nctaid routines.
13203
fa01ffcc
JJ
132042015-02-11 Jakub Jelinek <jakub@redhat.com>
13205
13206 PR c/64824
13207 * testsuite/libgomp.c/atomic-18.c: New test.
13208 * testsuite/libgomp.c++/atomic-16.C: New test.
13209
4886ec8e
JJ
132102015-02-04 Jakub Jelinek <jakub@redhat.com>
13211
13212 PR c/64824
13213 PR c/64868
13214 * testsuite/libgomp.c/pr64824.c: New test.
13215 * testsuite/libgomp.c/pr64868.c: New test.
13216 * testsuite/libgomp.c++/pr64824.C: New test.
13217 * testsuite/libgomp.c++/pr64868.C: New test.
13218
02d3e45e
DE
132192015-02-01 David Edelsohn <dje.gcc@gmail.com>
13220
13221 PR libgomp/64635
13222 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
13223 Link with -lpthread.
13224 * config/aix/plugin-suffix.h: Delete.
13225
b5f7a6ca
JH
132262015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
13227
13228 PR libgomp/64635
13229 * configure.tgt (*-*-aix*): Use config_path "aix posix".
13230 (*-*-darwin*): Use config_path "bsd darwin posix".
13231 (*-*-hpux*): Use config_path "hpux posix".
13232 * target.c: Add include of plugin-suffix.h and use
13233 SONAME_SUFFIX macro.
13234 * config/aix/plugin-suffix.h: New file.
13235 * config/darwin/plugin-suffix.h: New file.
13236 * config/hpux/plugin-suffix.h: New file.
13237 * config/posix/plugin-suffix.h: New file.
13238
b8910447
JJ
132392015-01-23 Jakub Jelinek <jakub@redhat.com>
13240
13241 PR middle-end/64734
13242 * libgomp.c/pr64734.c: New test.
13243
a0c88d06
TV
132442015-01-23 Tom de Vries <tom@codesourcery.com>
13245
13246 PR libgomp/64672
13247 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
13248
1506ae0e
TV
132492015-01-23 Tom de Vries <tom@codesourcery.com>
13250
13251 PR libgomp/64707
13252 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
13253 dg-options.
13254
128b26dc
TS
132552015-01-19 Thomas Schwinge <thomas@codesourcery.com>
13256
bed62c21 13257 PR libgomp/64625
128b26dc
TS
13258 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
13259 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
13260 formal parameter. Update all users.
13261 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
13262 Document unused formal parameter.
13263
6e36114c
TS
132642015-01-16 Thomas Schwinge <thomas@codesourcery.com>
13265
13266 * oacc-parallel.c: Don't include <alloca.h>.
13267 (GOACC_parallel): Use gomp_alloca instead of alloca.
13268
973e9808
GP
132692015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
13270
13271 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
13272
41dbbb37
TS
132732015-01-15 Thomas Schwinge <thomas@codesourcery.com>
13274 James Norris <jnorris@codesourcery.com>
13275 Tom de Vries <tom@codesourcery.com>
13276 Julian Brown <julian@codesourcery.com>
13277 Cesar Philippidis <cesar@codesourcery.com>
13278 Nathan Sidwell <nathan@codesourcery.com>
13279 Tobias Burnus <burnus@net-b.de>
13280
13281 * Makefile.am (search_path): Add $(top_srcdir)/../include.
13282 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
13283 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
13284 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
13285 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
13286 Include $(top_srcdir)/plugin/Makefrag.am.
13287 (nodist_libsubinclude_HEADERS): Add openacc.h.
13288 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
13289 openacc.f90, openacc.mod, openacc_kinds.mod.
13290 (omp_lib.mod): Generalize into...
13291 (%.mod): ... this new rule.
13292 (openacc_kinds.mod, openacc.mod): New rules.
13293 * plugin/configfrag.ac: New file.
13294 * configure.ac: Move plugin/offloading support into it. Include
13295 it. Instantiate testsuite/libgomp-test-support.pt.exp.
13296 * plugin/Makefrag.am: New file.
13297 * testsuite/Makefile.am (OFFLOAD_TARGETS)
13298 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
13299 export.
13300 (libgomp-test-support.exp): New rule.
13301 (all-local): Depend on it.
13302 * Makefile.in: Regenerate.
13303 * testsuite/Makefile.in: Regenerate.
13304 * config.h.in: Likewise.
13305 * configure: Likewise.
13306 * configure.tgt: Harden shell syntax.
13307 * env.c: Include "oacc-int.h".
13308 (parse_acc_device_type): New function.
13309 (gomp_debug_var, goacc_device_type, goacc_device_num): New
13310 variables.
13311 (initialize_env): Initialize those. Call
13312 goacc_runtime_initialize.
13313 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
13314 (gomp_fatal): Call gomp_vfatal.
13315 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
13316 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
13317 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
13318 (splay_tree_node, splay_tree, splay_tree_key)
13319 (struct target_mem_desc, struct splay_tree_key_s)
13320 (struct gomp_memory_mapping, struct acc_dispatch_t)
13321 (struct gomp_device_descr, gomp_acc_insert_pointer)
13322 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
13323 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
13324 (gomp_free_memmap, gomp_fini_device): New declarations.
13325 (gomp_vdebug, gomp_debug): New macros.
13326 Include "splay-tree.h".
13327 * libgomp.map (OACC_2.0): New symbol version. Use for
13328 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
13329 acc_set_device_type_h_, acc_get_device_type,
13330 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
13331 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
13332 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
13333 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
13334 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
13335 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
13336 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
13337 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
13338 acc_copyin_array_h_, acc_present_or_copyin,
13339 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
13340 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
13341 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
13342 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
13343 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
13344 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
13345 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
13346 acc_update_device, acc_update_device_32_h_,
13347 acc_update_device_64_h_, acc_update_device_array_h_,
13348 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
13349 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
13350 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
13351 acc_is_present_64_h_, acc_is_present_array_h_,
13352 acc_memcpy_to_device, acc_memcpy_from_device,
13353 acc_get_current_cuda_device, acc_get_current_cuda_context,
13354 acc_get_cuda_stream, acc_set_cuda_stream.
13355 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
13356 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
13357 GOACC_update, GOACC_wait, GOACC_get_thread_num,
13358 GOACC_get_num_threads.
13359 (GOMP_PLUGIN_1.0): New symbol version. Use for
13360 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
13361 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
13362 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
13363 GOMP_PLUGIN_acc_thread.
13364 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
13365 environment variable.
13366 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
13367 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
13368 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
13369 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
13370 (splay_tree_remove): New declarations.
13371 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
13372 (splay_tree_remove, splay_tree_lookup): Move into...
13373 * splay-tree.c: ... this new file.
13374 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
13375 (splay_tree_node, splay_tree, splay_tree_key)
13376 (struct target_mem_desc, struct splay_tree_key_s)
13377 (struct gomp_device_descr): Don't declare.
13378 (num_devices_openmp): New variable.
13379 (gomp_get_num_devices ): Use it.
13380 (gomp_init_targets_once): New function.
13381 (gomp_get_num_devices ): Use it.
13382 (get_kind, gomp_copy_from_async, gomp_free_memmap)
13383 (gomp_fini_device, gomp_register_image_for_device): New functions.
13384 (gomp_map_vars): Add devaddrs parameter.
13385 (gomp_update): Add mm parameter.
13386 (gomp_init_device): Move most of it into...
13387 (gomp_init_tables): ... this new function.
13388 (gomp_register_images_for_device): Remove function.
13389 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
13390 Make them hidden instead of static.
13391 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
13392 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
13393 (GOMP_target_end_data, GOMP_target_update)
13394 (gomp_load_plugin_for_device, gomp_target_init): Update for
13395 OpenACC changes.
13396 * oacc-async.c: New file.
13397 * oacc-cuda.c: Likewise.
13398 * oacc-host.c: Likewise.
13399 * oacc-init.c: Likewise.
13400 * oacc-int.h: Likewise.
13401 * oacc-mem.c: Likewise.
13402 * oacc-parallel.c: Likewise.
13403 * oacc-plugin.c: Likewise.
13404 * oacc-plugin.h: Likewise.
13405 * oacc-ptx.h: Likewise.
13406 * openacc.f90: Likewise.
13407 * openacc.h: Likewise.
13408 * openacc_lib.h: Likewise.
13409 * plugin/plugin-host.c: Likewise.
13410 * plugin/plugin-nvptx.c: Likewise.
13411 * libgomp-plugin.c: Likewise.
13412 * libgomp-plugin.h: Likewise.
13413 * libgomp_target.h: Remove file after merging content into the
13414 former file. Update all users.
13415 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
13416 (offload_targets_s, offload_targets_s_openacc): New variables.
13417 (check_effective_target_openacc_nvidia_accel_present)
13418 (check_effective_target_openacc_nvidia_accel_selected): New
13419 procedures.
13420 (libgomp_init): Update for OpenACC changes.
13421 * testsuite/libgomp-test-support.exp.in: New file.
13422 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
13423 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13424 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
13425 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
13426 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
13427 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
13428 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
13429 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
13430 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13431 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
13432 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
13433 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
13434 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
13435 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
13436 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
13437 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
13438 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
13439 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
13440 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
13441 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
13442 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
13443 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
13444 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13445 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
13446 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
13447 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
13448 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
13449 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
13450 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
13451 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
13452 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
13453 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13454 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13455 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
13456 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
13457 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
13458 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
13459 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
13460 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
13461 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
13462 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13463 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13464 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13465 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13466 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13467 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
13468 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
13469 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13470 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13471 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13472 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13473 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13474 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13475 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
13476 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
13477 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13478 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13479 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
13480 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13481 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
13482 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
13483 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
13484 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13485 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
13486 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
13487 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
13488 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
13489 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
13490 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
13491 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
13492 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
13493 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13494 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13495 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13496 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
13497 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
13498 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13499 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13500 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
13501 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
13502 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
13503 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
13504 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13505 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13506 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13507 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
13508 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
13509 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
13510 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
13511 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
13512 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
13513 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
13514 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
13515 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
13516 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
13517 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
13518 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
13519 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
13520 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
13521 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
13522 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
13523 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
13524 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
13525 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
13526 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
13527 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
13528 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
13529 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
13530 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
13531 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
13532 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
13533 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
13534 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
13535 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
13536 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
13537 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
13538 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
13539 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
13540 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
13541 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
13542 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
13543 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
13544 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
13545 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
13546 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
13547 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
13548 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
13549 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
13550 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
13551 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
13552 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
13553 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
13554 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
13555 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
13556 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
13557 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13558 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13559 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13560 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13561 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
13562 Likewise.
13563 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
13564 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
13565 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
13566 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13567 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
13568 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
13569 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
13570 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
13571 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
13572 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
13573 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13574 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13575 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13576 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
13577 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
13578 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
13579 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
13580 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
13581 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
13582 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
13583 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
13584 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
13585 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
13586 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
13587 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
13588 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
13589 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
13590 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
13591 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
13592 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
13593 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
13594 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
13595 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
13596 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
13597 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
13598 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
13599 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
13600 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
13601 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
13602 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
13603 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
13604 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
13605 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
13606 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
13607 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
13608 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
13609 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
13610 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
13611 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
13612 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13613 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13614 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13615 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13616 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13617 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
13618 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
13619 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
13620 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
13621 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
13622 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
13623
f1f3453e
TS
136242015-01-10 Thomas Schwinge <thomas@codesourcery.com>
13625 Julian Brown <julian@codesourcery.com>
13626 David Malcolm <dmalcolm@redhat.com>
13627
13628 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
13629 to "GNU Offloading and Multi Processing Runtime Library". Change
13630 all users.
13631 * configure: Regenerate.
13632 * libgomp.texi: Update.
13633
f9a0eca4
TS
136342015-01-08 Thomas Schwinge <thomas@codesourcery.com>
13635
b335ef4e
TS
13636 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
13637 "$tgt_dir/lib32".
13638 * configure: Regenerate.
13639
f9a0eca4
TS
13640 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
13641 "intelmic" in $offload_targets.
13642
b67cd4e3
JJ
136432015-01-05 Jakub Jelinek <jakub@redhat.com>
13644
5624e564
JJ
13645 Update copyright years.
13646
b67cd4e3
JJ
13647 * libgomp.texi: Bump @copying's copyright year.
13648
3b41b583
KT
136492014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13650
13651 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 13652 Move load of target-supports.exp earlier.
3b41b583 13653
2354caec
IV
136542014-12-10 Ilya Verbin <ilya.verbin@intel.com>
13655
13656 * testsuite/libgomp.c/target-9.c: New test.
13657
f50eecba
VR
136582014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
13659
13660 * config.h.in: Regenerate.
13661 * configure: Regenerate.
13662 * configure.ac: Add GCC_CHECK_EMUTLS.
13663 * libgomp.h: Add check for USE_EMUTLS: this case
13664 is equal to HAVE_TLS.
13665 * team.c: Likewise.
13666
68bc9270
UB
136672014-12-03 Uros Bizjak <ubizjak@gmail.com>
13668
13669 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
13670
476ff787
AT
136712014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
13672 Ilya Verbin <ilya.verbin@intel.com>
13673
13674 * testsuite/libgomp.c/target-critical-1.c: New test.
13675
31a30e62
JJ
136762014-11-26 Jakub Jelinek <jakub@redhat.com>
13677
13678 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 13679 to dg-options unless expensive testing is on.
31a30e62
JJ
13680 (TESTITERS): Define to N if not defined.
13681 (main): Use TESTITERS instead of N.
13682 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
13683 dg-additional-options depending on whether expensive testing is on.
13684 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
13685 Decrease N to 100000 and CHUNKSZ to 10000.
13686
3f9e8f13
JJ
136872014-11-24 Jakub Jelinek <jakub@redhat.com>
13688
13689 PR fortran/63938
31a30e62
JJ
13690 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
13691 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 13692
c8451a46
SE
136932014-11-21 Steve Ellcey <sellcey@imgtec.com>
13694
13695 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
13696
a699d672
L
136972014-11-21 H.J. Lu <hongjiu.lu@intel.com>
13698
13699 PR bootstrap/63784
13700 * configure: Regenerated.
13701
4a19f719
UB
137022014-11-19 Uros Bizjak <ubizjak@gmail.com>
13703
13704 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
13705 vect_simd_clones effective target.
13706 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13707
b1bf6c52
JJ
137082014-11-14 Jakub Jelinek <jakub@redhat.com>
13709
13710 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
13711 of 32 as block_size.
13712 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
13713 instead of 32 as block_size.
13714
d64ae614
AT
137152014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
13716 Ilya Verbin <ilya.verbin@intel.com>
13717
13718 * Makefile.in: Regenerate.
13719 * configure: Regenerate.
13720 * configure.ac: Set up offload_additional_options,
13721 offload_additional_lib_paths and offload_targets.
13722 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
13723 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
13724 * testsuite/Makefile.in: Regenerate.
13725 * testsuite/lib/libgomp.exp (libgomp_init): Append
13726 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
13727 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
13728 build directory to LD_LIBRARY_PATH for intelmic offload targets.
13729
122d7303
AT
137302014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
13731 Ilya Verbin <ilya.verbin@intel.com>
13732 Kirill Yukhin <kirill.yukhin@intel.com>
13733 Ilya Tocar <ilya.tocar@intel.com>
13734
13735 * testsuite/lib/libgomp.exp
13736 (check_effective_target_offload_device): New.
13737 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
13738 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
13739 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
13740 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
13741 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
13742 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
13743 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
13744 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
13745 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
13746 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
13747 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
13748 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
13749 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
13750 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
13751 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
13752 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
13753 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
13754 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
13755 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
13756 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
13757 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
13758 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
13759 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
13760 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
13761 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
13762 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
13763 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
13764 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
13765 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
13766 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
13767 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
13768 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
13769 * testsuite/libgomp.c/target-7.c: Fix test.
13770 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
13771 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
13772 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
13773 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
13774 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
13775 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
13776 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
13777 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
13778 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
13779 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
13780 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
13781 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
13782 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
13783 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
13784 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
13785 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
13786 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
13787 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
13788 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13789 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
13790 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
13791 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
13792 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
13793 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
13794 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
13795 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
13796 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
13797 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
13798 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
13799 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
13800 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
13801
1df3f842
JJ
138022014-11-13 Jakub Jelinek <jakub@redhat.com>
13803 Ilya Verbin <ilya.verbin@intel.com>
13804 Thomas Schwinge <thomas@codesourcery.com>
13805 Andrey Turetskiy <andrey.turetskiy@intel.com>
13806
13807 * libgomp.map (GOMP_4.0.1): New symbol version.
13808 Add GOMP_offload_register.
13809 * libgomp_target.h: New file.
13810 * splay-tree.h: New file.
13811 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
13812 (gomp_target_init): New forward declaration.
13813 (gomp_is_initialized): New static variable.
13814 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
13815 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
13816 New structures.
13817 (offload_images, num_offload_images, devices, num_devices): New static
13818 variables.
13819 (splay_compare): New static function.
13820 (struct gomp_device_descr): New structure.
13821 (gomp_get_num_devices): Call gomp_target_init.
13822 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
13823 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
13824 (GOMP_offload_register): New function.
13825 (GOMP_target): Arrange for host callback to be performed in a separate
13826 initial thread and contention group, inheriting ICVs from
13827 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
13828 Add device initialization and lookup for target function in splay tree.
13829 (GOMP_target_data): Add device initialization and call gomp_map_vars.
13830 (GOMP_target_end_data): Call gomp_unmap_vars.
13831 (GOMP_target_update): Add device initialization and call gomp_update.
13832 (gomp_load_plugin_for_device, gomp_register_images_for_device)
13833 (gomp_target_init): New static functions.
13834
85c64bbe
BS
138352014-11-13 Bernd Schmidt <bernds@codesourcery.com>
13836 Thomas Schwinge <thomas@codesourcery.com>
13837 Ilya Verbin <ilya.verbin@intel.com>
13838 Andrey Turetskiy <andrey.turetskiy@intel.com>
13839
13840 * config.h.in: Regenerate.
13841 * configure: Regenerate.
13842 * configure.ac: Check for libdl, required for plugin support.
13843 (PLUGIN_SUPPORT): Define if plugins are supported.
13844 (enable_offload_targets): Support Intel MIC targets.
13845 (OFFLOAD_TARGETS): List of target names suitable for offloading.
13846
ebf6d33b
FXC
138472014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13848
13849 PR target/63610
13850 * configure: Regenerate.
13851
8c768629
RO
138522014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13853
13854 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13855
c1d62412
MP
138562014-10-06 Marek Polacek <polacek@redhat.com>
13857
13858 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
13859 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
13860 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
13861 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13862
44a0c6cb
MP
138632014-10-06 Marek Polacek <polacek@redhat.com>
13864
13865 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
13866 * testsuite/libgomp.c/nqueens-1.c: Likewise.
13867 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13868 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13869 * testsuite/libgomp.c/pr36802-2.c: Likewise.
13870 * testsuite/libgomp.c/pr36802-3.c: Likewise.
13871 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
13872 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13873 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
13874 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
13875 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
13876 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13877 * testsuite/libgomp.c/omp-single-1.c: Likewise.
13878 * testsuite/libgomp.c/omp-single-2.c: Likewise.
13879 * testsuite/libgomp.c/omp_matvec.c: Likewise.
13880 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
13881 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
13882 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
13883 declarations.
13884
5771c391
JJ
138852014-10-03 Jakub Jelinek <jakub@redhat.com>
13886
13887 PR libgomp/61200
13888 * testsuite/libgomp.c/pr61200.c: New test.
13889
bce16b88
JJ
138902014-09-18 Jakub Jelinek <jakub@redhat.com>
13891
13892 PR c++/63248
13893 * testsuite/libgomp.c++/pr63248.C: New test.
13894
3696163c
JJ
138952014-08-04 Jakub Jelinek <jakub@redhat.com>
13896
13897 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
13898 is not zero, but taskgroup->children is NULL and there are
13899 any task->children, schedule those instead of waiting.
13900 * testsuite/libgomp.c/depend-6.c: New test.
13901 * testsuite/libgomp.c/depend-7.c: New test.
13902 * testsuite/libgomp.c/depend-8.c: New test.
13903 * testsuite/libgomp.c/depend-9.c: New test.
13904 * testsuite/libgomp.c/depend-10.c: New test.
13905
0494285a
JJ
139062014-08-01 Jakub Jelinek <jakub@redhat.com>
13907
13908 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13909 (struct gomp_taskwait): New type.
13910 (struct gomp_task): Add taskwait and parent_depends_on, remove
13911 in_taskwait and taskwait_sem fields.
13912 (gomp_finish_task): Don't destroy taskwait_sem.
13913 * task.c (gomp_init_task): Don't init in_taskwait, instead init
13914 taskwait and parent_depends_on.
13915 (GOMP_task): For if (0) tasks with depend clause that depend on
13916 earlier tasks don't defer them, instead call
13917 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13918 Initialize redundant_out field, for redundant out entries just
13919 move them at the end of linked list instead of removing them
13920 completely, and set redundant_out flag instead of redundant.
13921 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
13922 that task.
13923 (gomp_task_run_post_handle_dependers): If parent is in
13924 gomp_task_maybe_wait_for_dependencies and newly runnable task
13925 is not parent_depends_on, queue it in parent->children linked
13926 list after all runnable tasks with parent_depends_on set.
13927 Adjust for addition of taskwait indirection.
13928 (gomp_task_run_post_remove_parent): If parent is in
13929 gomp_task_maybe_wait_for_dependencies and task to be removed
13930 is parent_depends_on, decrement n_depend and if needed awake
13931 parent. Adjust for addition of taskwait indirection.
13932 (GOMP_taskwait): Adjust for addition of taskwait indirection.
13933 (gomp_task_maybe_wait_for_dependencies): New function.
13934 * testsuite/libgomp.c/depend-5.c: New test.
13935
60ab4b44
TB
139362014-07-13 Tobias Burnus <burnus@net-b.de>
13937
13938 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 13939 with TS 18508/Fortran 2015.
60ab4b44 13940
773ec47f
MP
139412014-07-06 Marek Polacek <polacek@redhat.com>
13942
13943 PR c/6940
13944 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13945
f707da16
JJ
139462014-07-03 Jakub Jelinek <jakub@redhat.com>
13947
13948 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13949 matches regex $lang_source_re, add $lang_include_flags to options.
13950 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13951 * testsuite/libgomp.c++/c++.exp: Likewise.
13952 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
13953 and lang_include_flags instead of adding -fintrinsic-modules-path= to
13954 ALWAYS_CFLAGS.
13955 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13956
07b6c044
TS
139572014-07-03 Thomas Schwinge <thomas@codesourcery.com>
13958
13959 * testsuite/libgomp.fortran/fortran.exp: Explain
13960 gfortran-dg-runtest usage.
13961
da6f124d
JJ
139622014-06-25 Jakub Jelinek <jakub@redhat.com>
13963
13964 * testsuite/libgomp.fortran/simd5.f90: New test.
13965 * testsuite/libgomp.fortran/simd6.f90: New test.
13966 * testsuite/libgomp.fortran/simd7.f90: New test.
13967
b46ebd6c
JJ
139682014-06-24 Jakub Jelinek <jakub@redhat.com>
13969
56ad0e38
JJ
13970 * testsuite/libgomp.c/for-2.c: Define SC to static for
13971 #pragma omp for simd testing.
13972 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13973 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13974 SC macro.
13975 * testsuite/libgomp.c/simd-14.c: New test.
13976 * testsuite/libgomp.c/simd-15.c: New test.
13977 * testsuite/libgomp.c/simd-16.c: New test.
13978 * testsuite/libgomp.c/simd-17.c: New test.
13979 * testsuite/libgomp.c++/for-10.C: Define SC to static for
13980 #pragma omp for simd testing.
13981 * testsuite/libgomp.c++/simd10.C: New test.
13982 * testsuite/libgomp.c++/simd11.C: New test.
13983 * testsuite/libgomp.c++/simd12.C: New test.
13984 * testsuite/libgomp.c++/simd13.C: New test.
13985
b46ebd6c
JJ
13986 * testsuite/libgomp.fortran/aligned1.f03: New test.
13987 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
13988 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13989 tasks with !$omp parallel !$omp single.
13990 * testsuite/libgomp.fortran/target8.f90: New test.
13991 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13992 not to use trim in the combiner, instead call elemental function.
13993 (fn): New elemental function.
13994 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13995 Make elemental.
13996 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13997 omp_in): Likewise.
13998 * testsuite/libgomp.fortran/udr12.f90: New test.
13999 * testsuite/libgomp.fortran/udr13.f90: New test.
14000 * testsuite/libgomp.fortran/udr14.f90: New test.
14001 * testsuite/libgomp.fortran/udr15.f90: New test.
14002
f014c653
JJ
140032014-06-18 Jakub Jelinek <jakub@redhat.com>
14004
14005 * omp_lib.f90.in (openmp_version): Set to 201307.
14006 * omp_lib.h.in (openmp_version): Likewise.
14007 * testsuite/libgomp.c/target-8.c: New test.
14008 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
14009 and inbranch clauses.
14010 * testsuite/libgomp.fortran/depend-3.f90: New test.
14011 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
14012 openmp_version.
14013 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
14014 * testsuite/libgomp.fortran/target1.f90: New test.
14015 * testsuite/libgomp.fortran/target2.f90: New test.
14016 * testsuite/libgomp.fortran/target3.f90: New test.
14017 * testsuite/libgomp.fortran/target4.f90: New test.
14018 * testsuite/libgomp.fortran/target5.f90: New test.
14019 * testsuite/libgomp.fortran/target6.f90: New test.
14020 * testsuite/libgomp.fortran/target7.f90: New test.
14021
92d28cbb
JJ
140222014-06-10 Jakub Jelinek <jakub@redhat.com>
14023
14024 PR fortran/60928
14025 * testsuite/libgomp.fortran/allocatable9.f90: New test.
14026 * testsuite/libgomp.fortran/allocatable10.f90: New test.
14027 * testsuite/libgomp.fortran/allocatable11.f90: New test.
14028 * testsuite/libgomp.fortran/allocatable12.f90: New test.
14029 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
14030 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
14031 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
14032 * testsuite/libgomp.fortran/associate1.f90: New test.
14033 * testsuite/libgomp.fortran/associate2.f90: New test.
14034 * testsuite/libgomp.fortran/procptr1.f90: New test.
14035
5f23671d
JJ
140362014-06-06 Jakub Jelinek <jakub@redhat.com>
14037
14038 * testsuite/libgomp.fortran/simd1.f90: New test.
14039 * testsuite/libgomp.fortran/udr1.f90: New test.
14040 * testsuite/libgomp.fortran/udr2.f90: New test.
14041 * testsuite/libgomp.fortran/udr3.f90: New test.
14042 * testsuite/libgomp.fortran/udr4.f90: New test.
14043 * testsuite/libgomp.fortran/udr5.f90: New test.
14044 * testsuite/libgomp.fortran/udr6.f90: New test.
14045 * testsuite/libgomp.fortran/udr7.f90: New test.
14046 * testsuite/libgomp.fortran/udr8.f90: New test.
14047 * testsuite/libgomp.fortran/udr9.f90: New test.
14048 * testsuite/libgomp.fortran/udr10.f90: New test.
14049 * testsuite/libgomp.fortran/udr11.f90: New test.
14050
0389fbb5
UB
140512014-05-27 Uros Bizjak <ubizjak@gmail.com>
14052
14053 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
14054 vect_simd_clones effective target.
14055 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
14056
decaaec8
JJ
140572014-05-21 Jakub Jelinek <jakub@redhat.com>
14058
14059 PR middle-end/61252
14060 * testsuite/libgomp.c++/simd-9.C: New test.
14061
72832460
UB
140622014-05-18 Uros Bizjak <ubizjak@gmail.com>
14063
14064 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
14065 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
14066 texts according to their @menu entry positions.
14067
dd2fc525
JJ
140682014-05-11 Jakub Jelinek <jakub@redhat.com>
14069
14070 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
14071 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
14072 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
14073 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
14074 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
14075 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
14076 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
14077 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
14078 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
14079 * testsuite/libgomp.fortran/depend-1.f90: New test.
14080 * testsuite/libgomp.fortran/depend-2.f90: New test.
14081 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
14082 * testsuite/libgomp.fortran/simd1.f90: New test.
14083 * testsuite/libgomp.fortran/simd2.f90: New test.
14084 * testsuite/libgomp.fortran/simd3.f90: New test.
14085 * testsuite/libgomp.fortran/simd4.f90: New test.
14086 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
14087
95782571
JJ
140882014-05-02 Jakub Jelinek <jakub@redhat.com>
14089
14090 * testsuite/libgomp.c/simd-10.c: New test.
14091 * testsuite/libgomp.c/simd-11.c: New test.
14092 * testsuite/libgomp.c/simd-12.c: New test.
14093 * testsuite/libgomp.c/simd-13.c: New test.
14094
f7468577
JJ
140952014-04-24 Jakub Jelinek <jakub@redhat.com>
14096
42056eac
JJ
14097 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
14098 atomic type clauses in any order and optional comma in between.
14099 * testsuite/libgomp.c++/atomic-15.C: Likewise.
14100 * testsuite/libgomp.c/atomic-17.c: Likewise.
14101
f7468577
JJ
14102 * testsuite/libgomp.c/simd-7.c: New test.
14103 * testsuite/libgomp.c/simd-8.c: New test.
14104 * testsuite/libgomp.c/simd-9.c: New test.
14105 * testsuite/libgomp.c/loop-16.c: New test.
14106
ab18f2f5
RH
141072014-04-02 Richard Henderson <rth@redhat.com>
14108
14109 * config/linux/futex.h (futex_wait): Get error value from errno.
14110 (futex_wake): Likewise.
14111
8bcc90b0
JJ
141122014-03-25 Jakub Jelinek <jakub@redhat.com>
14113
14114 PR c++/60331
14115 * testsuite/libgomp.c++/udr-11.C: New test.
14116 * testsuite/libgomp.c++/udr-12.C: New test.
14117 * testsuite/libgomp.c++/udr-13.C: New test.
14118 * testsuite/libgomp.c++/udr-14.C: New test.
14119 * testsuite/libgomp.c++/udr-15.C: New test.
14120 * testsuite/libgomp.c++/udr-16.C: New test.
14121 * testsuite/libgomp.c++/udr-17.C: New test.
14122 * testsuite/libgomp.c++/udr-18.C: New test.
14123 * testsuite/libgomp.c++/udr-19.C: New test.
14124
18d73c7f
RS
141252014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14126
14127 Update copyright years
14128
f9030485
RS
141292014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14130
14131 * hashtab.h: Use the standard form for the copyright notice.
14132
98db73df
TB
141332014-01-02 Tobias Burnus <burnus@net-b.de>
14134
14135 * libgomp.texi: Bump @copying's copyright year.
14136
ae246f7f
AT
141372013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
14138
93d90219 14139 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
14140 alloca () with __builtin_alloca ().
14141 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
14142 * testsuite/libgomp.c/lock-3.c: Likewise.
14143 * testsuite/libgomp.c/pr48591.c: Likewise.
14144
fa00a5fe
JJ
141452013-12-17 Jakub Jelinek <jakub@redhat.com>
14146
14147 PR testsuite/59534
14148 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
14149 comparisons.
14150
e9792e1d
JJ
141512013-12-16 Jakub Jelinek <jakub@redhat.com>
14152
14153 PR libgomp/58756
14154 * testsuite/libgomp.c/pr58756.c: New test.
14155
cab37c89
JJ
141562013-12-12 Jakub Jelinek <jakub@redhat.com>
14157
14158 PR libgomp/59467
14159 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
14160 !$omp parallel.
14161
de14871c
TS
141622013-11-07 Thomas Schwinge <thomas@codesourcery.com>
14163
1707a5de
TS
14164 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
14165 ALWAYS_CFLAGS.
14166 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
14167 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
14168 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
14169 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
14170 Likewise.
14171
70f05c43
TS
14172 * libgomp_g.h: Include <stddef.h> for size_t.
14173
de14871c
TS
14174 * libgomp.spec.in: Update comment about libgomp's dependencies.
14175 * configure.ac: Likewise.
14176 * configure: Regenerate.
14177
83fd6c5b
TB
141782013-10-16 Tobias Burnus <burnus@net-b.de>
14179
14180 * libgomp.texi: (Runtime Library Routines): Update references for
14181 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
14182 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
14183 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
14184 (Environment Variables): Update references for OpenMP 4.0. Add
14185 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
14186 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
14187 order.
14188
c8673881
JJ
141892013-10-14 Jakub Jelinek <jakub@redhat.com>
14190
14191 * env.c (parse_bind_var): Initialize value to avoid
14192 (false positive) warning.
14193
f89163fd
JJ
141942013-10-12 Jakub Jelinek <jakub@redhat.com>
14195
14196 PR libgomp/58691
14197 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
14198 to check variable.
14199 (gomp_init_num_threads): Move i variable declaration into
14200 #ifdef CPU_ALLOC_SIZE block.
14201 * config/linux/affinity.c (gomp_affinity_init_level): Test
14202 gomp_places_list_len == 0 rather than gomp_places_list == 0
14203 when checking for topology reading error.
14204 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
14205 * env.c (parse_affinity): Add ignore argument, if true, don't populate
14206 gomp_places_list, only parse env var and always return false.
14207 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
14208 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
14209 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
14210 and either of these variables were parsed correctly into a places
14211 list.
14212
1d340638
TS
142132013-10-11 Thomas Schwinge <thomas@codesourcery.com>
14214 Jakub Jelinek <jakub@redhat.com>
14215
14216 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
14217 of 5 loopfn matches.
14218 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14219 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14220 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
14221 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14222 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14223 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14224 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14225 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14226
71a81c21
TS
142272013-10-11 Thomas Schwinge <thomas@codesourcery.com>
14228
bd87f731
TS
14229 * Makefile.am (omp_lib.mod): Streamline rule.
14230 * Makefile.in: Regenerate.
14231
f5745bed
TS
14232 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
14233 exceptions.
14234
b5512c66
TS
14235 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
14236 * testsuite/libgomp.fortran/lib1.f90: Likewise.
14237 * testsuite/libgomp.fortran/lib2.f: Likewise.
14238 * testsuite/libgomp.fortran/lib3.f: Likewise.
14239
451c19c4
TS
14240 * configure.ac: Typo fix.
14241 * configure: Regenerate.
14242
86a6016d
TS
14243 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
14244 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
14245
71a81c21
TS
14246 * omp.h.in: Don't touch the user's namespace.
14247
acf0174b
JJ
142482013-10-11 Jakub Jelinek <jakub@redhat.com>
14249 Tobias Burnus <burnus@net-b.de>
14250 Richard Henderson <rth@redhat.com>
14251
14252 * target.c: New file.
14253 * Makefile.am (libgomp_la_SOURCES): Add target.c.
14254 * Makefile.in: Regenerated.
14255 * libgomp_g.h (GOMP_task): Add depend argument.
14256 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
14257 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
14258 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
14259 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
14260 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
14261 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
14262 GOMP_taskgroup_start, GOMP_taskgroup_end,
14263 GOMP_parallel_sections): New prototypes.
14264 * fortran.c (omp_is_initial_device): Add ialias_redirect.
14265 (omp_is_initial_device_): New function.
14266 (ULP, STR1, STR2, ialias_redirect): Removed.
14267 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
14268 omp_set_default_device_8_, omp_get_default_device_,
14269 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
14270 functions.
14271 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
14272 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
14273 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
14274 @@GOMP_4.0.
14275 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
14276 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
14277 omp_set_default_device, omp_set_default_device_,
14278 omp_set_default_device_8_, omp_get_default_device,
14279 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
14280 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
14281 omp_get_team_num_): Export @@OMP_4.0.
14282 * team.c (struct gomp_thread_start_data): Add place field.
14283 (gomp_thread_start): Clear thr->thread_pool and
14284 thr->task before returning. Use gomp_team_barrier_wait_final
14285 instead of gomp_team_barrier_wait. Initialize thr->place.
14286 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
14287 team_cancelled and task_queued_count fields.
14288 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
14289 before calling pthread_exit.
14290 (gomp_free_thread): No longer static. Use
14291 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
14292 (gomp_team_start): Add flags argument. Set
14293 thr->thread_pool->threads_busy to nthreads immediately after creating
14294 new pool. Use gomp_managed_threads_lock instead of
14295 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
14296 (gomp_team_end): Use gomp_managed_threads_lock instead of
14297 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
14298 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 14299 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
14300 rather than thr->ts.work_share.
14301 (initialize_team): Don't call gomp_sem_init here.
14302 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
14303 caller.
14304 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
14305 * env.c (gomp_global_icv): Add default_device_var, target_data and
14306 bind_var initializers.
14307 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
14308 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
14309 gomp_places_list_len): New variables.
14310 (parse_bind_var, parse_one_place, parse_places_var): New functions.
14311 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
14312 sized places.
14313 (gomp_cancel_var): New global variable.
14314 (parse_int): New function.
14315 (handle_omp_display_env): New function.
14316 (initialize_env): Use it. Initialize default_device_var.
14317 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
14318 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
14319 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
14320 been successfully parsed (and call gomp_init_affinity in that case).
14321 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
14322 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
14323 omp_get_team_num, omp_is_initial_device): New functions.
14324 * libgomp.h: Include stdlib.h.
14325 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
14326 Define.
14327 (struct target_mem_desc): Forward declare.
14328 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
14329 and thread_limit_var fields.
14330 (gomp_get_num_devices): New prototype.
14331 (gomp_cancel_var): New extern decl.
14332 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
14333 team_cancelled and task_queued_count fields. Add comments about
14334 task_{,queued_,running_}count.
14335 (gomp_cancel_kind): New enum.
14336 (gomp_work_share_end_cancel): New prototype.
14337 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
14338 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
14339 and depend fields.
14340 (struct gomp_taskgroup): New type.
14341 (struct gomp_task_depend_entry,
14342 struct gomp_dependers_vec): New types.
14343 (gomp_finish_task): Free depend_hash if non-NULL.
14344 (struct gomp_team_state): Add place_partition_off
14345 and place_partition_len fields.
14346 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
14347 gomp_places_list_len): New extern decls.
14348 (struct gomp_thread): Add place field.
14349 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
14350 (gomp_init_thread_affinity): Add place argument.
14351 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
14352 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
14353 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
14354 gomp_affinity_init_level, gomp_affinity_print_place): New
14355 prototypes.
14356 (gomp_team_start): Add flags argument.
14357 (gomp_thread_limit_var, gomp_remaining_threads_count,
14358 gomp_remaining_threads_lock): Remove.
14359 (gomp_managed_threads_lock): New variable.
14360 (struct gomp_thread_pool): Add threads_busy field.
14361 (gomp_free_thread): New prototype.
14362 * task.c: Include hashtab.h.
14363 (hash_entry_type): New typedef.
14364 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
14365 (gomp_init_task): Clear dependers, depend_hash, depend_count,
14366 copy_ctors_done and taskgroup fields.
14367 (GOMP_task): Add depend argument, handle depend clauses. If
14368 gomp_team_barrier_cancelled or if it's taskgroup has been
14369 cancelled, don't queue or start new tasks. Set copy_ctors_done
14370 field if needed. Initialize taskgroup field. If copy_ctors_done
14371 and already cancelled, don't discard the task. If taskgroup is
14372 non-NULL, enqueue the task into taskgroup queue. Increment
14373 num_children field in taskgroup. Increment task_queued_count.
14374 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
14375 gomp_task_run_post_remove_taskgroup): New inline functions.
14376 (gomp_task_run_post_handle_depend_hash,
14377 gomp_task_run_post_handle_dependers,
14378 gomp_task_run_post_handle_depend): New functions.
14379 (GOMP_taskwait): Use them. If more than one new tasks
14380 have been queued, wake other threads if needed.
14381 (gomp_barrier_handle_tasks): Likewise. If
14382 gomp_team_barrier_cancelled, don't start any new tasks, just free
14383 all tasks.
14384 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
14385 * omp_lib.f90.in
14386 (omp_proc_bind_kind, omp_proc_bind_false,
14387 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
14388 omp_proc_bind_spread): New params.
14389 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
14390 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
14391 omp_get_team_num, omp_is_initial_device): New interfaces.
14392 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
14393 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
14394 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
14395 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
14396 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
14397 useless use omp_lib_kinds.
14398 * omp.h.in (omp_proc_bind_t): New typedef.
14399 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
14400 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
14401 omp_get_team_num, omp_is_initial_device): New prototypes.
14402 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
14403 through to gomp_team_start.
14404 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
14405 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
14406 Adjust gomp_parallel_loop_start callers.
14407 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
14408 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
14409 GOMP_loop_end_cancel): New functions.
14410 (GOMP_parallel_end): Add ialias_redirect.
14411 * hashtab.h: New file.
14412 * libgomp.texi (Environment Variables): Minor cleanup,
14413 update section refs to OpenMP 4.0rc2.
14414 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
14415 environment variables.
14416 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
14417 team->work_shares_to_free to thr->ts.work_share before calling
14418 free_work_share.
14419 (gomp_work_share_end_cancel): New function.
14420 * config/linux/proc.c: Include errno.h.
14421 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
14422 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
14423 sizeof (cpu_set_t) to determine number of iterations. Fix up check
14424 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
14425 gomp_cpuset_size is sizeof (cpu_set_t).
14426 (gomp_init_num_threads): Initialize gomp_cpuset_size,
14427 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
14428 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
14429 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
14430 contain any logical CPUs.
14431 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
14432 is NULL. Use gomp_cpusetp instead of &cpuset and pass
14433 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
14434 pthread_getaffinity_np. Check gomp_places_list instead of
14435 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
14436 * config/linux/bar.c (gomp_barrier_wait_end,
14437 gomp_barrier_wait_last): Use BAR_* defines.
14438 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
14439 from state where needed. Set work_share_cancelled to 0 on last
14440 thread.
14441 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
14442 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
14443 functions.
14444 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
14445 Add cpusetsize argument.
14446 (gomp_cpuset_size, gomp_cpusetp): Declare.
14447 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
14448 (affinity_counter): Remove.
14449 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
14450 if CPU_ALLOC_SIZE isn't defined.
14451 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
14452 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
14453 bind current thread to the first place.
14454 (gomp_init_thread_affinity): Rewritten. Add place argument, just
14455 pthread_setaffinity_np to gomp_places_list[place].
14456 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
14457 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
14458 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
14459 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
14460 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
14461 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
14462 (gomp_barrier_t): Add awaited_final field.
14463 (gomp_barrier_init): Initialize awaited_final field.
14464 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
14465 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
14466 prototypes.
14467 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
14468 defines.
14469 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
14470 gomp_team_barrier_cancelled): New inline functions.
14471 (gomp_barrier_last_thread,
14472 gomp_team_barrier_set_task_pending,
14473 gomp_team_barrier_clear_task_pending,
14474 gomp_team_barrier_set_waiting_for_tasks,
14475 gomp_team_barrier_waiting_for_tasks,
14476 gomp_team_barrier_done): Use BAR_* defines.
14477 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
14478 (gomp_barrier_wait_end): Use BAR_* defines.
14479 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
14480 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
14481 Use BAR_* defines.
14482 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
14483 gomp_team_barrier_cancel): New functions.
14484 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
14485 argument.
14486 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
14487 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
14488 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
14489 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
14490 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
14491 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
14492 (gomp_barrier_t): Add cancellable field.
14493 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
14494 gomp_team_barrier_cancel): New prototypes.
14495 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
14496 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
14497 gomp_team_barrier_cancelled): New inline functions.
14498 (gomp_barrier_wait_start, gomp_barrier_last_thread,
14499 gomp_team_barrier_set_task_pending,
14500 gomp_team_barrier_clear_task_pending,
14501 gomp_team_barrier_set_waiting_for_tasks,
14502 gomp_team_barrier_waiting_for_tasks,
14503 gomp_team_barrier_done): Use BAR_* defines.
14504 * barrier.c (GOMP_barrier_cancel): New function.
14505 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
14506 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
14507 omp_proc_bind_spread): New params.
14508 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
14509 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
14510 omp_get_team_num, omp_is_initial_device): New externals.
14511 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
14512 New functions.
14513 (gomp_resolve_num_threads): Adjust for thread_limit now being in
14514 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
14515 infinity. If not nested, just return minimum of max_num_threads
14516 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
14517 to the returned value. Otherwise, don't update atomically
14518 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
14519 (GOMP_parallel_end): Adjust for thread_limit now being in
14520 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
14521 infinity. Adjust threads_busy in the pool rather than
14522 gomp_remaining_threads_count. Remember team->nthreads and call
14523 gomp_team_end before adjusting threads_busy, if not nested
14524 afterwards, just set it to 1 non-atomically. Add ialias.
14525 (GOMP_parallel_start): Adjust gomp_team_start caller.
14526 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
14527 * testsuite/libgomp.c/affinity-1.c: New test.
14528 * testsuite/libgomp.c/atomic-15.c: New test.
14529 * testsuite/libgomp.c/atomic-16.c: New test.
14530 * testsuite/libgomp.c/atomic-17.c: New test.
14531 * testsuite/libgomp.c/cancel-for-1.c: New test.
14532 * testsuite/libgomp.c/cancel-for-2.c: New test.
14533 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
14534 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
14535 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
14536 * testsuite/libgomp.c/cancel-sections-1.c: New test.
14537 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
14538 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
14539 * testsuite/libgomp.c/depend-1.c: New test.
14540 * testsuite/libgomp.c/depend-2.c: New test.
14541 * testsuite/libgomp.c/depend-3.c: New test.
14542 * testsuite/libgomp.c/depend-4.c: New test.
14543 * testsuite/libgomp.c/for-1.c: New test.
14544 * testsuite/libgomp.c/for-1.h: New file.
14545 * testsuite/libgomp.c/for-2.c: New test.
14546 * testsuite/libgomp.c/for-2.h: New file.
14547 * testsuite/libgomp.c/for-3.c: New test.
14548 * testsuite/libgomp.c/pr58392.c: New test.
14549 * testsuite/libgomp.c/simd-1.c: New test.
14550 * testsuite/libgomp.c/simd-2.c: New test.
14551 * testsuite/libgomp.c/simd-3.c: New test.
14552 * testsuite/libgomp.c/simd-4.c: New test.
14553 * testsuite/libgomp.c/simd-5.c: New test.
14554 * testsuite/libgomp.c/simd-6.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-3.c: New test.
14558 * testsuite/libgomp.c/target-4.c: New test.
14559 * testsuite/libgomp.c/target-5.c: New test.
14560 * testsuite/libgomp.c/target-6.c: New test.
14561 * testsuite/libgomp.c/target-7.c: New test.
14562 * testsuite/libgomp.c/taskgroup-1.c: New test.
14563 * testsuite/libgomp.c/thread-limit-1.c: New test.
14564 * testsuite/libgomp.c/thread-limit-2.c: New test.
14565 * testsuite/libgomp.c/thread-limit-3.c: New test.
14566 * testsuite/libgomp.c/udr-1.c: New test.
14567 * testsuite/libgomp.c/udr-2.c: New test.
14568 * testsuite/libgomp.c/udr-3.c: New test.
14569 * testsuite/libgomp.c++/affinity-1.C: New test.
14570 * testsuite/libgomp.c++/atomic-10.C: New test.
14571 * testsuite/libgomp.c++/atomic-11.C: New test.
14572 * testsuite/libgomp.c++/atomic-12.C: New test.
14573 * testsuite/libgomp.c++/atomic-13.C: New test.
14574 * testsuite/libgomp.c++/atomic-14.C: New test.
14575 * testsuite/libgomp.c++/atomic-15.C: New test.
14576 * testsuite/libgomp.c++/cancel-for-1.C: New test.
14577 * testsuite/libgomp.c++/cancel-for-2.C: New test.
14578 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
14579 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
14580 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
14581 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
14582 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
14583 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
14584 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
14585 * testsuite/libgomp.c++/cancel-test.h: New file.
14586 * testsuite/libgomp.c++/for-9.C: New test.
14587 * testsuite/libgomp.c++/for-10.C: New test.
14588 * testsuite/libgomp.c++/for-11.C: New test.
14589 * testsuite/libgomp.c++/simd-1.C: New test.
14590 * testsuite/libgomp.c++/simd-2.C: New test.
14591 * testsuite/libgomp.c++/simd-3.C: New test.
14592 * testsuite/libgomp.c++/simd-4.C: New test.
14593 * testsuite/libgomp.c++/simd-5.C: New test.
14594 * testsuite/libgomp.c++/simd-6.C: New test.
14595 * testsuite/libgomp.c++/simd-7.C: New test.
14596 * testsuite/libgomp.c++/simd-8.C: New test.
14597 * testsuite/libgomp.c++/target-1.C: New test.
14598 * testsuite/libgomp.c++/target-2.C: New test.
14599 * testsuite/libgomp.c++/target-2-aux.cc: New file.
14600 * testsuite/libgomp.c++/target-3.C: New test.
14601 * testsuite/libgomp.c++/taskgroup-1.C: New test.
14602 * testsuite/libgomp.c++/udr-1.C: New test.
14603 * testsuite/libgomp.c++/udr-2.C: New test.
14604 * testsuite/libgomp.c++/udr-3.C: New test.
14605 * testsuite/libgomp.c++/udr-4.C: New test.
14606 * testsuite/libgomp.c++/udr-5.C: New test.
14607 * testsuite/libgomp.c++/udr-6.C: New test.
14608 * testsuite/libgomp.c++/udr-7.C: New test.
14609 * testsuite/libgomp.c++/udr-8.C: New test.
14610 * testsuite/libgomp.c++/udr-9.C: New test.
14611
bd599dea
JJ
146122013-09-20 Jakub Jelinek <jakub@redhat.com>
14613
14614 PR testsuite/57605
14615 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
14616 ALWAYS_CFLAGS.
14617
3cbe17f7
AM
146182013-09-20 Alan Modra <amodra@gmail.com>
14619
14620 * configure: Regenerate.
14621
4befd127
JJ
146222013-09-19 Jakub Jelinek <jakub@redhat.com>
14623
14624 * testsuite/libgomp.c/sections-2.c: New test.
14625
946c8f7b
MS
146262013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
14627
14628 * testsuite/libgomp.fortran/strassen.f90:
14629 Add dg-skip-if aarch64_tiny.
14630
1ef3b58e
IS
146312013-06-20 Iain Sandoe <iain@codesourcery.com>
14632 Cesar Philippidis <cesar@codesourcery.com>
14633
14634 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
14635 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
14636 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
14637 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14638 * testsuite/libgomp.graphite/graphite.exp: Likewise.
14639 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
14640 Use dg-runtest rather than gfortran-dg-runtest.
14641
9275f73a
TS
146422013-06-10 Thomas Schwinge <thomas@codesourcery.com>
14643
14644 * testsuite/libgomp.c/icv-2.c: Extend current handling of
14645 Linux-based x86 systems to cover all GNU systems.
14646 * testsuite/libgomp.c/lock-3.c: Likewise.
14647 * testsuite/libgomp.c/pr48591.c: Likewise.
14648
492992e2
TS
146492013-06-06 Thomas Schwinge <thomas@codesourcery.com>
14650
48df3acb
TS
14651 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
14652 GNU/Hurd, as done for Linux-based systems.
14653
492992e2
TS
14654 * config/posix/ptrlock.h: Fix comment.
14655
4fed6b25
TB
146562013-05-27 Tobias Burnus <burnus@net-b.de>
14657
14658 PR fortran/57423
14659 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
14660 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
14661 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
14662 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
14663 omp_destroy_nest_lock): Correct arguments to match the one in
14664 the OpenMP spec.
14665 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
14666 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
14667 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
14668 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
14669
5a0f4dd3
JJ
146702013-05-16 Jakub Jelinek <jakub@redhat.com>
14671
14672 * testsuite/libgomp.c/loop-13.c: New test.
14673 * testsuite/libgomp.c/loop-14.c: New test.
14674 * testsuite/libgomp.c/loop-15.c: New test.
14675 * testsuite/libgomp.c++/loop-13.C: New test.
14676 * testsuite/libgomp.c++/loop-14.C: New test.
14677 * testsuite/libgomp.c++/loop-15.C: New test.
14678
6d840d99
JJ
146792013-02-06 Jakub Jelinek <jakub@redhat.com>
14680
14681 PR middle-end/56217
14682 * testsuite/libgomp.c++/pr56217.C: New test.
14683
bed8d8a6
AM
146842013-02-01 Alan Modra <amodra@gmail.com>
14685
14686 * task.c (GOMP_task, GOMP_taskwait): Comment.
14687
3b35cd04
DV
146882013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
14689 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
14690
14691 PR libgomp/55561
14692 * config/linux/wait.h (do_spin): Use atomic load for addr.
14693 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
14694 for intptr and ptrlock.
14695 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
14696 for ptrlock.
14697
9a647288
AM
146982013-01-22 Alan Modra <amodra@gmail.com>
14699
14700 PR libgomp/51376
14701 PR libgomp/56073
14702 * task.c (GOMP_task): Revert 2011-12-09 change.
14703 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
14704 barrier to read task->children..
14705 (gomp_barrier_handle_tasks): ..and matching atomic store with
14706 release barrier here when setting parent->children to NULL.
14707
f34dea03
JJ
147082013-01-16 Jakub Jelinek <jakub@redhat.com>
14709 Tobias Burnus <burnus@net-b.de>
14710
14711 PR driver/55884
14712 * testsuite/libgomp.fortran/fortran.exp: Use
14713 -fintrinsic-modules-path= instead of
14714 -fintrinsic-modules-path.
14715
8129609c
RS
147162013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
14717
14718 Update copyright years.
14719
aa86bf1e
TB
147202012-12-19 Tobias Burnus <burnus@net-b.de>
14721
14722 * testsuite/libgomp.fortran/fortran.exp: Set
14723 -fintrinsic-modules-path.
14724
2865ea66
TB
147252012-12-19 Tobias Burnus <burnus@net-b.de>
14726
14727 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
14728 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
14729
4c5ba8d0
JJ
147302012-11-21 Jakub Jelinek <jakub@redhat.com>
14731
14732 PR libgomp/55411
14733 * team.c (gomp_free_thread): Decrease gomp_managed_threads
14734 if pool had any threads_used.
14735
e9f958c2
JH
147362012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
14737
14738 * testsuite/libgomp.c++/pr24455.C: Use
14739 -Wl,-undefined,dynamic_lookup on darwin.
14740
a57d75dc
DE
147412012-11-07 David Edelsohn <dje.gcc@gmail.com>
14742
14743 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
14744
c6c08485
DH
147452012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
14746
14747 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
14748
c1f37c00
IB
147492012-10-23 Ian Bolton <ian.bolton@arm.com>
14750 Jim MacArthur <jim.macarthur@arm.com>
14751 Marcus Shawcroft <marcus.shawcroft@arm.com>
14752 Nigel Stephens <nigel.stephens@arm.com>
14753 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14754 Richard Earnshaw <rearnsha@arm.com>
14755 Sofiane Naci <sofiane.naci@arm.com>
14756 Stephen Thomas <stephen.thomas@arm.com>
14757 Tejas Belagod <tejas.belagod@arm.com>
14758 Yufeng Zhang <yufeng.zhang@arm.com>
14759
14760 * configure.tgt: Add AArch64.
14761
7c424acd
JM
147622012-10-04 Jason Merrill <jason@redhat.com>
14763
14764 * testsuite/libgomp.c++/tls-init1.C: New.
14765
6608378b
DE
147662012-09-14 David Edelsohn <dje.gcc@gmail.com>
14767
14768 * configure: Regenerated.
14769
c24dbebb
CLT
147702012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
14771
14772 * config/linux/mips/futex.h (sys_futex0): Change to static
14773 function with noinline, nomips16 attributes under MIPS16. Adjust
14774 asm statement to place 'li v0,SYS_futex' immediately before
14775 syscall insn.
14776
3d3949df
SL
147772012-07-04 Sandra Loosemore <sandra@codesourcery.com>
14778
14779 * libgomp.texi (Library Index): Renamed from "Index" to prevent
14780 conflict with index.html on case-insensitive file systems.
14781
68a12ef3
UB
147822012-07-03 Uros Bizjak <ubizjak@gmail.com>
14783
14784 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14785 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
14786
33ad93b9 147872012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
14788 Michael Matz <matz@suse.de>
14789 Tobias Grosser <tobias@grosser.es>
14790 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
14791
14792 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
14793 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14794 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14795 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14796
e6fdc918
AS
147972012-06-28 Andreas Schwab <schwab@linux-m68k.org>
14798
14799 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14800
62e0a1ed
RG
148012012-06-22 Richard Guenther <rguenther@suse.de>
14802
14803 Merge from graphite branch
14804 2012-01-13 Tobias Grosser <tobias@grosser.es>
14805
14806 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14807 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14808
26127932
JJ
148092012-06-07 Jakub Jelinek <jakub@redhat.com>
14810
14811 PR middle-end/53580
14812 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
14813 use GOMP_barrier () call instead.
14814 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14815 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14816 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
14817 call GOMP_barrier instead.
14818 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14819
43fa5db5
JJ
148202012-06-06 Jakub Jelinek <jakub@redhat.com>
14821
14822 PR libgomp/52993
14823 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14824 argument to memset call.
14825
e6d5f8c9
L
148262012-05-16 H.J. Lu <hongjiu.lu@intel.com>
14827
14828 * configure: Regenerated.
14829
559d990c
MLI
148302012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
14831
14832 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14833
b9c23a61
L
148342012-03-31 H.J. Lu <hongjiu.lu@intel.com>
14835
14836 PR bootstrap/52812
14837 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14838
c140ddf3
JJ
148392012-03-22 Jakub Jelinek <jakub@redhat.com>
14840
14841 PR middle-end/52547
14842 * testsuite/libgomp.c/pr52547.c: New test.
14843
6a26a74d
BRF
148442012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14845
14846 * testsuite/lib/libgomp.exp: load fortran-modules.exp
14847
b24513a1
RO
148482012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14849
14850 * configure.tgt (mips-sgi-irix6*): Remove.
14851
5c30094f
RO
148522012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14853
14854 * configure.tgt (alpha*-dec-osf*): Remove.
14855
14856 * config/osf/sem.h: Remove.
14857 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14858
a339c9d6
EB
148592012-02-29 Eric Botcazou <ebotcazou@adacore.com>
14860
14861 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14862
cc2de92d
RO
148632012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14864
14865 PR libstdc++/52188
14866 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
14867 Remove ENABLE_SYMVERS_SOL2.
14868 * configure: Regenerate.
14869 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
14870 (PREPROCESS): New variable.
14871 (libgomp.ver): New target.
14872 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
14873 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
14874 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
14875 Use libgomp.ver.
14876 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14877 * Makefile.in: Regenerate.
14878
dd552284
WL
148792012-02-14 Walter Lee <walt@tilera.com>
14880
14881 * configure.tgt: Handle tilegx and tilepro.
14882 * config/linux/tile/futex.h: New file.
14883
31432e21
RG
148842012-02-08 Richard Guenther <rguenther@suse.de>
14885
14886 PR tree-optimization/46886
14887 * testsuite/libgomp.c/pr46886.c: New testcase.
14888
b9264b5f
MK
148892012-01-25 Matthias Klose <doko@ubuntu.com>
14890
14891 * config/linux/arm: Remove empty directory.
14892 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14893
fbf7be80
AM
148942011-12-09 Alan Modra <amodra@gmail.com>
14895
14896 PR libgomp/51376
14897 * task.c (GOMP_taskwait): Don't access task->children outside of
14898 task_lock mutex region.
14899 (GOMP_task): Likewise.
14900
5de62d00
JJ
149012011-12-06 Jakub Jelinek <jakub@redhat.com>
14902
14903 PR libgomp/51132
14904 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14905 to file scope.
14906 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14907 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14908 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14909 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14910 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14911
45608a43
AM
149122011-12-02 Alan Modra <amodra@gmail.com>
14913
14914 * config/linux/affinity.c: Use atomic rather than sync builtin.
14915 * config/linux/lock.c: Likewise.
14916 * config/linux/ptrlock.h: Likewise.
14917 * config/linux/ptrlock.c: Likewise.
14918 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14919 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14920 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
14921 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14922 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14923 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14924 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14925 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14926 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14927 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14928
ab6dd406
AM
149292011-11-30 Alan Modra <amodra@gmail.com>
14930
14931 PR libgomp/51298
14932 * config/linux/bar.h: Use atomic rather than sync builtins.
14933 * config/linux/bar.c: Likewise. Add missing acquire
14934 synchronisation on generation field.
14935 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14936 double unlock.
14937
b40c885f
AM
149382011-11-30 Alan Modra <amodra@gmail.com>
14939
14940 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14941 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14942 * config/linux/mutex.h: Use atomic rather than sync builtins.
14943 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
14944 * config/linux/omp-lock.h: Comment fix.
14945 * config/linux/arm/mutex.h: Delete.
14946 * config/linux/powerpc/mutex.h: Delete.
14947 * config/linux/ia64/mutex.h: Delete.
14948 * config/linux/mips/mutex.h: Delete.
14949
3e348fcc
AM
149502011-11-30 Alan Modra <amodra@gmail.com>
14951
14952 PR libgomp/51249
14953 * config/linux/sem.h: Rewrite.
14954 * config/linux/sem.c: Rewrite.
14955
cef86eb2
RH
149562011-11-28 Richard Henderson <rth@redhat.com>
14957
14958 * libgomp.h (enum memmodel): New.
14959
c6084f68
AT
149602011-11-21 Andreas Tobler <andreast@fgznet.ch>
14961
14962 * configure: Regenerate.
14963
06fe026c
MK
149642011-10-10 Matthias Klose <doko@ubuntu.com>
14965
14966 * config/posix95: Remove empty directory.
14967
a6c975bd
JJ
149682011-08-26 Jakub Jelinek <jakub@redhat.com>
14969
14970 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14971
c26dffff
JJ
149722011-08-19 Jakub Jelinek <jakub@redhat.com>
14973
14974 PR fortran/49792
14975 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14976 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14977
ddaad3c8
RO
149782011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14979
14980 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14981
98d03683
RO
149822011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14983
14984 PR libgomp/49965
14985 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14986
e0b23d9f
UB
149872011-08-03 Uros Bizjak <ubizjak@gmail.com>
14988
14989 * config/linux/proc.h: New.
14990 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
14991 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
14992 (gomp_init_num_threads): Update call to cpuset_popcount.
14993 (get_num_procs): Ditto.
14994 * config/linux/affinity.c (gomp_init_affinity): Call
14995 gomp_cpuset_popcount.
14996
20906c66
JJ
149972011-08-02 Jakub Jelinek <jakub@redhat.com>
14998
14999 PR fortran/42041
15000 PR fortran/46752
15001 * omp.h.in (omp_in_final): New prototype.
15002 * omp_lib.f90.in (omp_in_final): New interface.
15003 (omp_integer_kind, omp_logical_kind): Remove
15004 and replace all its uses in the module with 4.
15005 (openmp_version): Change to 201107.
15006 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
15007 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
15008 kind for the parameters.
15009 (omp_in_final): New external.
15010 (openmp_version): Change to 201107.
15011 * task.c (omp_in_final): New function.
15012 (gomp_init_task): Initialize final_task.
15013 (GOMP_task): Remove unused attribute from flags. Handle final
15014 tasks.
15015 (GOMP_taskyield): New function.
15016 (omp_in_final): Return true if if (false) or final (true) task
15017 or descendant of final (true).
15018 * fortran.c (omp_in_final_): New function.
15019 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
15020 (GOMP_3.0): Export GOMP_taskyield.
15021 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
15022 variables.
15023 (parse_unsigned_long_list): New function.
15024 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
15025 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
15026 even if parse_affinity returned false.
15027 * config/linux/affinity.c (gomp_init_affinity): Handle
15028 gomp_cpu_affinity_len == 0.
15029 * libgomp_g.h (GOMP_taskyield): New prototype.
15030 * libgomp.h (struct gomp_task): Add final_task field.
15031 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
15032 * team.c (gomp_team_start): Override new task's nthreads_var icv
15033 if list form OMP_NUM_THREADS has been used and it has value for
15034 the new nesting level.
15035
15036 * testsuite/libgomp.c/atomic-11.c: New test.
15037 * testsuite/libgomp.c/atomic-12.c: New test.
15038 * testsuite/libgomp.c/atomic-13.c: New test.
15039 * testsuite/libgomp.c/atomic-14.c: New test.
15040 * testsuite/libgomp.c/reduction-6.c: New test.
15041 * testsuite/libgomp.c/task-5.c: New test.
15042 * testsuite/libgomp.c++/atomic-2.C: New test.
15043 * testsuite/libgomp.c++/atomic-3.C: New test.
15044 * testsuite/libgomp.c++/atomic-4.C: New test.
15045 * testsuite/libgomp.c++/atomic-5.C: New test.
15046 * testsuite/libgomp.c++/atomic-6.C: New test.
15047 * testsuite/libgomp.c++/atomic-7.C: New test.
15048 * testsuite/libgomp.c++/atomic-8.C: New test.
15049 * testsuite/libgomp.c++/atomic-9.C: New test.
15050 * testsuite/libgomp.c++/task-8.C: New test.
15051 * testsuite/libgomp.c++/reduction-4.C: New test.
15052 * testsuite/libgomp.fortran/allocatable7.f90: New test.
15053 * testsuite/libgomp.fortran/allocatable8.f90: New test.
15054 * testsuite/libgomp.fortran/crayptr3.f90: New test.
15055 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
15056 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
15057 * testsuite/libgomp.fortran/pointer1.f90: New test.
15058 * testsuite/libgomp.fortran/pointer2.f90: New test.
15059 * testsuite/libgomp.fortran/task4.f90: New test.
15060
150612011-08-02 Tobias Burnus <burnus@net-b.de>
15062
15063 * libgomp.texi: Update OpenMP spec references to 3.1.
15064 (omp_in_final,OMP_PROC_BIND): New sections.
15065 (OMP_NUM_THREADS): Document that the value can be now a list.
15066 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
15067
c01ecafc
L
150682011-08-02 H.J. Lu <hongjiu.lu@intel.com>
15069
15070 * config/linux/x86/futex.h: Check __x86_64__ instead of
15071 __LP64__.
15072
25142650
JJ
150732011-07-29 Jakub Jelinek <jakub@redhat.com>
15074
15075 PR middle-end/49897
15076 PR middle-end/49898
15077 * testsuite/libgomp.c/pr49897-1.c: New test.
15078 * testsuite/libgomp.c/pr49897-2.c: New test.
15079 * testsuite/libgomp.c/pr49898-1.c: New test.
15080 * testsuite/libgomp.c/pr49898-2.c: New test.
15081
f53d712f
L
150822011-07-28 H.J. Lu <hongjiu.lu@intel.com>
15083
15084 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
15085 for ia32 instead of ilp32.
15086
15087 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
15088 * testsuite/libgomp.c/atomic-6.c: Likewise.
15089
3689198d
SP
150902011-07-23 Sebastian Pop <sebastian.pop@amd.com>
15091
15092 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
15093 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
15094
1a79cb73
RO
150952011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15096
15097 PR libgomp/45351
15098 * config/osf/sem.h: New file.
15099 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
15100
c1f51484
RO
151012011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15102
15103 PR target/49541
15104 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
15105 ldflags.
15106
bfee0724
JJ
151072011-07-15 Jakub Jelinek <jakub@redhat.com>
15108
15109 * config/linux/wait.h (do_spin): New inline, largely copied
15110 from do_wait, just don't do futex_wait here, instead return true if
15111 it should be done.
15112 (do_wait): Implement using do_spin.
15113 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
15114 to prototype.
15115 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
15116 __sync_bool_compare_and_swap, pass the oldval to
15117 gomp_mutex_lock_slow.
15118 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
15119 If all mutex contenders are just spinning and not sleeping, don't
15120 change state to 2 unnecessarily. Optimize the loop when state has
15121 already become 2 to use just one atomic operation per loop instead
15122 of two.
15123 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
15124 to prototype.
15125 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
15126 __sync_bool_compare_and_swap, pass the oldval to
15127 gomp_mutex_lock_slow.
15128
fb79f500
JJ
151292011-06-22 Jakub Jelinek <jakub@redhat.com>
15130
15131 PR libgomp/49490
15132 * iter.c (gomp_iter_static_next): For chunk size 0
15133 only use n ceil/ nthreads size for the first
15134 n % nthreads threads in the team instead of
15135 all threads except for the last few ones which
15136 get less work or none at all.
15137 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
15138 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
15139 chunk argument, set run_sched_modifier to 0 for static
15140 resp. 1 for other kinds. If chunk argument is 0
15141 and not static, set value to 1.
15142
4577f730
JJ
151432011-05-19 Jakub Jelinek <jakub@redhat.com>
15144
ea93a47b
JJ
15145 PR c++/49043
15146 * testsuite/libgomp.c++/pr49043.C: New test.
15147
4577f730
JJ
15148 PR c++/48869
15149 * testsuite/libgomp.c++/pr48869.C: New test.
15150
e7385332
JJ
151512011-05-06 Jakub Jelinek <jakub@redhat.com>
15152
15153 PR fortran/48894
15154 * fortran.c: Include limits.h.
15155 (TO_INT): Define.
15156 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
15157 *set.
15158 (omp_set_num_threads_8_, omp_set_schedule_8_,
15159 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
15160 omp_get_team_size_8_): Use TO_INT macro.
15161 * testsuite/libgomp.fortran/pr48894.f90: New test.
15162
20790697
JJ
151632011-04-13 Jakub Jelinek <jakub@redhat.com>
15164
15165 PR middle-end/48591
15166 * testsuite/libgomp.c/pr48591.c: New test.
15167
bf382f5f
RO
151682011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15169
15170 PR bootstrap/48135
15171 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
15172 * configure: Regenerate.
15173
113a53c1
JJ
151742011-02-27 Jakub Jelinek <jakub@redhat.com>
15175
15176 PR fortran/47886
15177 * testsuite/libgomp.fortran/task3.f90: New test.
15178
0024f1af
TB
151792011-02-24 Tobias Burnus <burnus@net-b.de>
15180
15181 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
15182
21e1e594
JJ
151832011-02-23 Jakub Jelinek <jakub@redhat.com>
15184
15185 PR libgomp/47854
15186 * libgomp.texi (omp_get_wtime): Don't say time in the past
15187 must be Unix Epoch.
15188
67962076
JJ
151892011-02-18 Jakub Jelinek <jakub@redhat.com>
15190
15191 PR libgomp/47804
15192 * testsuite/libgomp.fortran/fortran.exp: Check for both
15193 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
15194 but $blddir != "", still append ${blddir}/${lang_library_path}
15195 to ld_library_path.
15196
3808007c
TB
151972011-02-16 Tobias Burnus <burnus@net-b.de>
15198
15199 PR libgomp/47758
15200 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
15201 of libquadmath.a before adding its libpath to ldflags.
15202
53b4d41d
JJ
152032011-02-14 Jakub Jelinek <jakub@redhat.com>
15204
15205 PR libgomp/47731
15206 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
15207 to FUTEX_WAIT futex syscall.
15208 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
15209
029c8f3e
RW
152102011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15211
15212 * configure: Regenerate.
15213
bddd6626
BK
152142011-01-20 Benjamin Kosnik <bkoz@redhat.com>
15215
15216 PR libstdc++/36104
15217 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
15218
f1d4ab26
GP
152192011-01-16 Gerald Pfeifer
15220
15221 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
15222
2b503136
JJ
152232010-12-14 Jakub Jelinek <jakub@redhat.com>
15224
15225 PR fortran/46874
15226 * libgomp.fortran/allocatable6.f90: New test.
15227
c0f9d583
RO
152282010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15229
15230 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
15231 * configure: Regenerate.
15232
7de6ba7a
DK
152332010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
15234
15235 PR target/40125
15236 PR lto/46695
15237 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
15238 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
15239 * aclocal.m4: Regenerate.
15240 * configure: Regenerate.
15241 * Makefile.in: Regenerate.
15242 * testsuite/Makefile.in: Regenerate.
15243
b7516041
JJ
152442010-12-02 Jakub Jelinek <jakub@redhat.com>
15245
edaadf74
JJ
15246 PR fortran/46753
15247 * libgomp.fortran/pr46753.f90: New test.
15248
4c698cf8
JJ
15249 PR libgomp/43706
15250 * env.c (initialize_env): Default to spin count 300000
15251 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
15252 is specified.
15253
b7516041
JJ
15254 PR libgomp/45240
15255 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
15256 at the end if sync builtins aren't supported.
15257
6b43a34c
RO
152582010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15259
15260 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
15261
950691fa
RO
152622010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15263
15264 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
15265
fb9041ea
IS
152662010-11-24 Iain Sandoe <iains@gcc.gnu.org>
15267
15268 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
15269
1ec601bf
FXC
152702010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
15271 Tobias Burnus <burnus@net-b.de>
15272
15273 PR fortran/32049
3e348fcc 15274 * configure.ac:
1ec601bf
FXC
15275 * configure: Regenerate.
15276
d213e92e
MS
152772010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
15278
15279 * config/linux/futex.h: New.
15280 * config/linux/arm/mutex.h: New.
15281 * configure.tgt (arm*-*-linux*): Add config path.
15282
89d5c66f
SP
152832010-09-30 Sebastian Pop <sebastian.pop@amd.com>
15284
15285 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
15286
87350d4a
TB
152872010-09-23 Tobias Burnus <burnus@net-b.de>
15288
15289 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
15290 Change Fortran datatype to LOGICAL.
15291 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
15292 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
15293
75bc9e5e
RW
152942010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15295
15296 * configure: Regenerate.
15297
acb5c916
JJ
152982010-07-26 Jakub Jelinek <jakub@redhat.com>
15299
15300 * libgomp.texi: Add function keyword to a couple of Fortran
15301 interfaces, use integer instead of int for Fortran.
15302
6a2ba183
AH
153032010-07-26 Aldy Hernandez <aldyh@redhat.com>
15304
15305 * libgomp.texi: Fix spelling and pasto problems throughout.
15306 Adjust prototypes to match code.
15307
df161b69
TB
153082010-07-24 Tobias Burnus <burnus@net-b.de>
15309
15310 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
15311 silence -fwhole-file warning.
15312
16c9d3b1
RO
153132010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15314
15315 * configure.tgt (*-*-solaris2.[56]*): Removed.
15316
6d28b933
RO
153172010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15318
15319 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
15320 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
15321 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
15322 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
15323 targetting solaris2*.
15324 * configure: Regenerate.
15325 * config.h.in: Regenerate.
15326
15327 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
15328 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
15329 Add libgomp_version_dep.
15330 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
15331 versioning.
15332 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
15333 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
15334 * Makefile.in: Regenerate.
15335
15336 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
15337 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
15338 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
15339 to common block, protected by
15340 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
15341
07a67d6a
GP
153422010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
15343
15344 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
15345
dbd34b89
IS
153462010-06-09 Iain Sandoe <iains@gcc.gnu.org>
15347
15348 PR bootstrap/43170
15349 * configure: Regenerate.
15350
13917ae3
RW
153512010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15352
15353 PR other/43620
15354 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
15355 * configure: Regenerate.
15356 * Makefile.in: Regenerate.
15357 * testsuite/Makefile.in: Regenerate.
15358
b83a701b
JJ
153592010-04-26 Jakub Jelinek <jakub@redhat.com>
15360
15361 PR c/43893
15362 * testsuite/libgomp.c/pr43893.c: New test.
15363 * testsuite/libgomp.c++/pr43893.C: New test.
15364
78db7d92
JJ
153652010-04-21 Jakub Jelinek <jakub@redhat.com>
15366
15367 PR middle-end/43570
15368 * testsuite/libgomp.fortran/vla8.f90: New test.
15369
5221d7a9
JJ
153702010-04-20 Jakub Jelinek <jakub@redhat.com>
15371
e4ba7a60
JJ
15372 PR libgomp/43706
15373 * config/linux/affinity.c (gomp_init_affinity): Decrease
15374 gomp_available_cpus if affinity mask confines the process to fewer
15375 CPUs.
15376 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
15377 non-NULL, just return gomp_available_cpus.
15378
5221d7a9
JJ
15379 PR libgomp/43569
15380 * sections.c (gomp_sections_init): Initialize ws->mode.
15381
289a9f86
UB
153822010-04-14 Uros Bizjak <ubizjak@gmail.com>
15383
15384 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
15385 not unused bar variable.
15386 * configure: Regenerate.
15387
4d9e8446
RW
153882010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15389
15390 * Makefile.in: Regenerate.
15391 * aclocal.m4: Regenerate.
15392 * testsuite/Makefile.in: Regenerate.
15393
80f046cc
JJ
153942010-03-22 Jakub Jelinek <jakub@redhat.com>
15395
15396 PR libgomp/42942
15397 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
15398 (initialize_env): Adjust callers.
15399 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
15400 when the argument is 0.
15401
15402 * testsuite/libgomp.c/pr42942.c: New test.
15403
b58543c3
SP
154042010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
15405
15406 PR middle-end/42644
15407 PR middle-end/42130
15408 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
15409 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
15410
41d1138f
RO
154112010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15412
15413 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
15414 * testsuite/libgomp.c++/task-6.C: Likewise.
15415
6684eb28
SE
154162010-01-28 Steve Ellcey <sje@cup.hp.com>
15417
15418 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
15419
2122aa97
PB
154202010-01-26 Paolo Bonzini <bonzini@gnu.org>
15421
15422 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
15423 * configure: Regenerate.
15424
057dd91d
JJ
154252010-01-26 Jakub Jelinek <jakub@redhat.com>
15426
15427 PR fortran/42866
15428 * testsuite/libgomp.fortran/allocatable5.f90: New test.
15429
d0709b6a
PB
154302010-01-20 Paolo Bonzini <bonzini@gnu.org>
15431
15432 * configure.ac: Test for executability of GFORTRAN.
15433 * configure: Regenerate.
15434
b9497ab5
RO
154352010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15436
15437 * configure: Regenerate.
15438
45de5648
L
154392010-01-04 H.J. Lu <hongjiu.lu@intel.com>
15440
15441 PR libgomp/42602
15442 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
15443
e74003a1
RG
154442010-01-03 Richard Guenther <rguenther@suse.de>
15445
15446 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
15447
1b3abda8
SP
154482009-12-23 Sebastian Pop <sebpop@gmail.com>
15449
15450 * testsuite/libgomp.graphite/pr4118.c: New.
15451
e19977d3
IS
154522009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15453
15454 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
15455 for darwin, protect the test with require-effective-target tls_runtime.
15456 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
15457
1d32a772
IS
154582009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15459
15460 PR target/41605
15461 * testsuite/lib/libgomp.exp: Provide -B options to allow for
15462 link spec %s substitutions for static libraries.
15463
deb109b2
JH
154642009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
15465
15466 PR testsuite/42135
15467 * libgomp.graphite/force-parallel-2.c: Reduce array size.
15468
43e02a8a
RW
154692009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15470
15471 * Makefile.in: Regenerate.
15472 * configure: Regenerate.
15473 * testsuite/Makefile.in: Regenerate.
15474
17f35e23
DK
154752009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
15476
15477 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
15478 settings for LC_ALL and LANG.
15479
281e33e1
JJ
154802009-11-25 Jakub Jelinek <jakub@redhat.com>
15481
15482 PR fortran/42162
15483 * testsuite/libgomp.fortran/pr42162.f90: New test.
15484
2b32c27d
JJ
154852009-11-13 Jakub Jelinek <jakub@redhat.com>
15486
15487 PR middle-end/42029
281e33e1 15488 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 15489
89c74f4a
JJ
154902009-10-26 Jakub Jelinek <jakub@redhat.com>
15491
15492 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
15493 *s. Accept ld version without text in ()s.
15494 * configure: Regenerated.
15495
7e06c3d6
EB
154962009-10-22 Razya Ladelsky <razya@il.ibm.com>
15497
15498 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
15499
0046b1a7
RW
155002009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15501
15502 PR libgomp/41418
15503 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
15504 or a hyphen (happens with fortran language disabled).
15505 * configure: Regenerate.
15506
c82852f7
RW
155072009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15508
15509 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
15510 use sed script portable to Solaris /bin/sed for extracting ld
15511 version.
15512 * configure: Regenerate.
15513
98f3eb1f
AM
155142009-09-17 Alexander Monakov <amonakov@ispras.ru>
15515
15516 * testsuite/libgomp.graphite/bounds.c: New test.
15517
878f62e5
RW
155182009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15519
15520 * Makefile.am (libgomp_la_LINK): New.
15521 * Makefile.in: Regenerate.
15522
df58e648
RW
155232009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15524
15525 * configure.ac (AC_PREREQ): Bump to 2.64.
15526
5213506e
RW
155272009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15528
70fa0efa
RW
15529 * Makefile.am (install-html, install-pdf): Remove.
15530 * Makefile.in: Regenerate.
15531
5213506e
RW
15532 * Makefile.in: Regenerate.
15533 * aclocal.m4: Regenerate.
15534 * config.h.in: Regenerate.
15535 * configure: Regenerate.
15536 * testsuite/Makefile.in: Regenerate.
15537
84fec8a5
RW
155382009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15539
15540 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
15541 * Makefile.in: Regenerate.
15542
197c68cc
DK
155432009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
15544
15545 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
15546 * Makefile.in: Regenerate.
15547
693d54f2
TB
155482009-08-19 Tobias Burnus <burnus@net-b.de>
15549
15550 PR fortran/41102
15551 omp_lib.h.in: Fix -std=f95 errors.
15552
8cac884c
DE
155532009-08-14 David Edelsohn <edelsohn@gnu.org>
15554
15555 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
15556 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
15557 * testsuite/libgomp.graphite/graphite.exp: New.
15558
78729ee2
AT
155592009-08-05 Andreas Tobler <a.tobler@schweiz.org>
15560
15561 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
15562 only build.
15563
b13b7f39
DD
155642009-08-04 David Daney <ddaney@caviumnetworks.com>
15565
15566 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
15567 needed memory barrier semantics.
15568 * config/linux/mips/mutex.h: New file.
15569
1b3b24c2
RW
155702009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15571
15572 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
15573
396b7fa4
JM
155742009-07-16 Joseph Myers <joseph@codesourcery.com>
15575
15576 * configure: Regenerate.
15577
33cde516
RS
155782009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
15579
15580 PR testsuite/40699
15581 PR testsuite/40707
15582 PR testsuite/40709
15583 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
15584 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
15585 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
15586
bc21bfa5
RS
155872009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
15588
15589 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
15590 options when choosing a multilib.
15591
b30bfd40
RS
155922009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
15593
15594 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
15595 ld_library_path. Use add_path. Add just find_libgcc_s to
15596 ld_library_path, not every libgcc multilib directory.
15597 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
15598 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
15599 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
15600 Use add_path.
15601 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
15602
479c15c2
NF
156032009-06-09 Nathan Froyd <froydnj@codesourcery.com>
15604
15605 * Makefile.am (LTLDFLAGS): Define.
15606 (LINK): Define.
15607 * Makefile.in: Regenerate.
15608
667e6f89
JB
156092009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
15610
15611 PR fortran/39718
15612 * testsuite/libgomp.fortran/fortran.exp: Don't link with
15613 libgfortranbegin, check existence of libgfortran.a instead of
15614 libgfortranbegin.a.
15615
6dea8e99
JJ
156162009-05-20 Jakub Jelinek <jakub@redhat.com>
15617
15618 PR libgomp/40174
15619 * team.c (gomp_thread_start): Destroy thr->release semaphore.
15620 (gomp_free_pool_helper): Likewise.
15621
34d01e1d
VL
156222009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
15623 Jakub Jelinek <jakub@redhat.com>
15624
15625 PR fortran/35423
15626 * testsuite/libgomp.fortran/workshare2.f90: New test.
15627
748086b7
JJ
156282009-04-09 Nick Clifton <nickc@redhat.com>
15629
15630 * iter.c: Change copyright header to refer to version 3 of the
15631 GNU General Public License with version 3.1 of the GCC Runtime
15632 Library Exception and to point readers at the COPYING3 and
15633 COPYING3.RUNTIME files and the FSF's license web page.
15634 * alloc.c: Likewise.
15635 * barrier.c: Likewise.
15636 * config/bsd/proc.c: Likewise.
15637 * config/linux/affinity.c: Likewise.
15638 * config/linux/alpha/futex.h: Likewise.
15639 * config/linux/bar.c: Likewise.
15640 * config/linux/bar.h: Likewise.
15641 * config/linux/ia64/futex.h: Likewise.
15642 * config/linux/ia64/mutex.h: Likewise.
15643 * config/linux/lock.c: Likewise.
15644 * config/linux/mips/futex.h: Likewise.
15645 * config/linux/mutex.c: Likewise.
15646 * config/linux/mutex.h: Likewise.
15647 * config/linux/powerpc/futex.h: Likewise.
15648 * config/linux/proc.c: Likewise.
15649 * config/linux/ptrlock.c: Likewise.
15650 * config/linux/ptrlock.h: Likewise.
15651 * config/linux/s390/futex.h: Likewise.
15652 * config/linux/sem.c: Likewise.
15653 * config/linux/sem.h: Likewise.
15654 * config/linux/sparc/futex.h: Likewise.
15655 * config/linux/wait.h: Likewise.
15656 * config/linux/x86/futex.h: Likewise.
15657 * config/mingw32/proc.c: Likewise.
15658 * config/mingw32/time.c: Likewise.
15659 * config/posix/affinity.c: Likewise.
15660 * config/posix/bar.c: Likewise.
15661 * config/posix/bar.h: Likewise.
15662 * config/posix/lock.c: Likewise.
15663 * config/posix/mutex.h: Likewise.
15664 * config/posix/proc.c: Likewise.
15665 * config/posix/ptrlock.h: Likewise.
15666 * config/posix/sem.c: Likewise.
15667 * config/posix/sem.h: Likewise.
15668 * config/posix/time.c: Likewise.
15669 * config/posix95/lock.c: Likewise.
15670 * critical.c: Likewise.
15671 * env.c: Likewise.
15672 * error.c: Likewise.
15673 * fortran.c: Likewise.
15674 * iter_ull.c: Likewise.
15675 * libgomp.h: Likewise.
15676 * libgomp_f.h.in: Likewise.
15677 * libgomp_g.h: Likewise.
15678 * loop.c: Likewise.
15679 * loop_ull.c: Likewise.
15680 * omp.h.in: Likewise.
15681 * omp_lib.f90.in: Likewise.
15682 * omp_lib.h.in: Likewise.
15683 * ordered.c: Likewise.
15684 * parallel.c: Likewise.
15685 * sections.c: Likewise.
15686 * single.c: Likewise.
15687 * task.c: Likewise.
15688 * team.c: Likewise.
15689 * work.c: Likewise.
15690
156912009-04-09 Jakub Jelinek <jakub@redhat.com>
15692
15693 * testsuite/config/default.exp: Change copyright header to refer to
15694 version 3 of the GNU General Public License and to point readers
15695 at the COPYING3 file and the FSF's license web page.
15696
4f0ae266
JJ
156972009-04-08 Jakub Jelinek <jakub@redhat.com>
15698
15699 PR middle-end/39573
15700 * libgomp.c++/pr39573.C: New test.
15701
03742a9b
JJ
157022009-04-01 Jakub Jelinek <jakub@redhat.com>
15703
15704 PR other/39591
15705 * testsuite/libgomp.c/pr39591-1.c: New test.
15706 * testsuite/libgomp.c/pr39591-2.c: New test.
15707 * testsuite/libgomp.c/pr39591-3.c: New test.
15708
e50ea10b
UB
157092009-03-25 Uros Bizjak <ubizjak@gmail.com>
15710
15711 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
15712 * testsuite/libgomp.c/atomic-6.c: Ditto.
15713
c5cdb03f
JJ
157142009-03-23 Jakub Jelinek <jakub@redhat.com>
15715
15716 PR c/39495
15717 * testsuite/libgomp.c/loop-12.c: New test.
15718 * testsuite/libgomp.c/loop-11.c: New test.
15719 * testsuite/libgomp.c++/loop-11.C: New test.
15720 * testsuite/libgomp.c++/loop-12.C: New test.
15721 * testsuite/libgomp.c++/for-8.C: New test.
15722
7a9d3fe8
RW
157232009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15724
15725 * configure: Regenerate.
15726
3ad6b266
JJ
157272009-02-11 Jakub Jelinek <jakub@redhat.com>
15728
15729 PR middle-end/39154
15730 * testsuite/libgomp.c/pr39154.c: New test.
15731
b39dea08
ILT
157322009-01-30 Ian Lance Taylor <iant@google.com>
15733
15734 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
15735 libgomp_ld_is_gold. Get gold version number.
15736 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
15737 * configure: Rebuild.
15738
72c66596
IS
157392009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15740
e50ea10b 15741 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
15742 use libgfortran.a%s in their specs.
15743
876080ff
JJ
157442009-01-07 Jakub Jelinek <jakub@redhat.com>
15745
15746 PR libgomp/38086
15747 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
15748 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
15749 HAVE_AS_SYMVER_DIRECTIVE is not defined.
15750 * configure: Regenerated.
15751 * config.h.in: Likewise.
15752
e4ebaef3
JJ
157532008-12-28 Jakub Jelinek <jakub@redhat.com>
15754
15755 PR c++/38650
15756 * testsuite/libgomp.c/pr38650.c: New test.
15757 * testsuite/libgomp.c++/pr38650.C: New test.
15758
382017a6
JJ
157592008-12-27 Jakub Jelinek <jakub@redhat.com>
15760
15761 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15762
79644b27
UB
157632008-12-26 Uros Bizjak <ubizjak@gmail.com>
15764
15765 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15766
baafc534
RW
157672008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15768
15769 * configure: Regenerate.
15770
d9c194cb
JJ
157712008-12-08 Jakub Jelinek <jakub@redhat.com>
15772
15773 PR middle-end/36802
15774 * testsuite/libgomp.c/pr36802-1.c: New test.
15775 * testsuite/libgomp.c/pr36802-2.c: New test.
15776 * testsuite/libgomp.c/pr36802-3.c: New test.
15777
86a182bf
JJ
157782008-12-01 Janis Johnson <janis187@us.ibm.com>
15779
15780 PR libgomp/38270
15781 * config/linux/powerpc/mutex.h: New.
15782
956adfaf
JJ
157832008-12-01 Jakub Jelinek <jakub@redhat.com>
15784
a2d4cdc9
JJ
15785 PR c++/38257
15786 * testsuite/libgomp.c++/for-7.C: New test.
15787
956adfaf
JJ
15788 PR c++/38348
15789 * testsuite/libgomp.c++/for-6.C: New test.
15790
d4038ca2
JJ
157912008-11-26 Janis Johnson <janis187@us.ibm.com>
15792
15793 PR testsuite/28870
15794 * testsuite/lib/libgomp.exp: Include new timeout library files.
15795 (libgomp_target_compile): Set timeout value from new proc.
15796
8b159eea
SE
157972008-11-13 Steve Ellcey <sje@cup.hp.com>
15798
15799 PR libgomp/37938
15800 * config/linux/ia64/mutex.h: New.
15801
5c6ed53a
TB
158022008-11-04 Tobias Burnus <burnus@net-b.de>
15803
15804 PR libgomp/37935
15805 * libgomp.texi (Runtime library routines, environment variables):
15806 Update for OpenMP version 3.0.
15807
6b4a97ed
PG
158082008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
15809 Steve Ellcey <sje@cup.hp.com>
15810
15811 * configure: Regenerate for new libtool.
15812 * Makefile.in: Ditto.
15813 * testsuite/Makefile.in: Ditto.
15814
e2b34106
JJ
158152008-09-19 Jakub Jelinek <jakub@redhat.com>
15816 Andreas Tobler <a.tobler@schweiz.org>
15817
15818 * config/bsd/proc.c: New file.
8c3b3600 15819 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
15820 * configure.ac: Check for header <sys/sysctl.h>
15821 * configure: Regenerate.
15822 * config.h.in: Likewise.
15823
3606b8bf
JJ
158242008-09-05 Janis Johnson <janis187@us.ibm.com>
15825
15826 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15827
6528b88d
AL
158282008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
15829
15830 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15831 * Makefile.in: Regenerated.
15832 * testsuite/Makefile.in: Regenerated.
15833
d9b14b12 158342008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 15835
a16b68bb 15836 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
15837 depend on blddir if blddir exists.
15838 (libgomp_target_compile): Likewise.
15839 * testsuite/libgomp.c++/c++.exp: Likewise.
15840 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15841
70b1e376
RW
158422008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15843
15844 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
15845 Do not list GPL as Invariant Section.
15846
318e8c3f
IG
158472008-07-28 Ilie Garbacea <ilie@mips.com>
15848 Chao-ying Fu <fu@mips.com>
15849
15850 * configure.tgt: Enable futex for MIPS.
15851 * config/linux/mips/futex.h: New file.
15852
4db72361
JJ
158532008-07-16 Jakub Jelinek <jakub@redhat.com>
15854
15855 * team.c (gomp_team_end): Free team immediately if it has
15856 just one thread.
15857
87bd23b8
DE
158582008-07-08 David Edelsohn <edelsohn@gnu.org>
15859
15860 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
15861 * testsuite/libgomp.fortran/fortran.exp: Same.
15862 * testsuite/libgomp.c/c.exp: Same.
15863 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
15864 directory to library path first.
15865
323ff903
KW
158662008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
15867
15868 * env.c (parse_stacksize): Add cast to avoid warning.
15869 (parse_spincount): Likewise.
15870
b357f682
JJ
158712008-06-27 Jakub Jelinek <jakub@redhat.com>
15872
ca2b1311
JJ
15873 * testsuite/libgomp.c/loop-10.c: New test.
15874 * libgomp.c/loop-3.c (main): Add lastprivate clause.
15875 * libgomp.c++/loop-6.C (main): Likewise.
15876
b357f682
JJ
15877 PR debug/36617
15878 * testsuite/libgomp.c/debug-1.c: New test.
15879
09a46078
JJ
158802008-06-19 Jakub Jelinek <jakub@redhat.com>
15881
15882 * testsuite/libgomp.c/nqueens-1.c: New test.
15883
2368a460
JJ
15884 PR c++/36523
15885 * testsuite/libgomp.c++/task-7.C: New function.
15886
18c04407
RW
158872008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15888
15889 * configure: Regenerate.
15890
9c4e59e0
JDA
158912008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15892
15893 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15894 mutex when HAVE_SYNC_BUILTINS isn't defined.
15895
6ccde948
RW
158962008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15897
15898 * libgomp.texi (omp_test_lock): Fix typo.
15899
b896f9fd
TB
159002008-06-12 Tobias Burnus <burnus@net-b.de>
15901
15902 * omp_lib.f90.in: Add "implicit none".
15903
c34938a8
JJ
159042008-06-12 Jakub Jelinek <jakub@redhat.com>
15905
15906 PR middle-end/36506
15907 * testsuite/libgomp.c/reduction-5.c: New test.
15908
976e44e3
JJ
159092008-06-11 Jakub Jelinek <jakub@redhat.com>
15910
5f836cbb
JJ
15911 * libgomp.h (struct gomp_task): Add in_tied_task field.
15912 * task.c (gomp_init_task): Initialize it.
15913 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
15914 unconditionally. Don't call gomp_team_barrier_wake if
15915 current task is implicit or if(0) from implicit and number of
15916 running tasks is equal to nthreads - 1.
15917
01501fc8
JJ
15918 PR libgomp/36471
15919 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15920 omp_get_team_size_8): Fix pastos.
15921
976e44e3
JJ
15922 PR libgomp/36469
15923 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
15924 * configure: Regenerated.
15925 * config.h.in: Regenerated.
15926 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15927 defined.
15928
e919209b
AT
159292008-06-06 Andreas Tobler <a.tobler@schweiz.org>
15930
15931 PR bootstrap/36452
15932 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15933 (GOMP_loop_ull_dynamic_start): Likewise.
15934 (GOMP_loop_ull_guided_start): Likewise.
15935 (GOMP_loop_ull_ordered_static_start): Likewise.
15936 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
15937 (GOMP_loop_ull_ordered_guided_start): Likewise.
15938
a68ab351
JJ
159392008-06-06 Jakub Jelinek <jakub@redhat.com>
15940 Richard Henderson <rth@redhat.com>
15941 Ulrich Drepper <drepper@redhat.com>
15942 Jakob Blomer <jakob.blomer@ira.uka.de>
15943
15944 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15945 Substitute also OMP_*LOCK_25*.
15946 * configure: Regenerated.
15947 * config.h.in: Regenerated.
15948 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15949 ptrlock.c and task.c.
15950 * Makefile.in: Regenerated.
15951 * testsuite/Makefile.in: Regenerated.
15952 * task.c: New file.
15953 * loop_ull.c: New file.
15954 * iter_ull.c: New file.
15955 * libgomp.h: Include ptrlock.h.
15956 (enum gomp_task_kind): New type.
15957 (struct gomp_team): Add task_lock, task_queue, task_count,
15958 task_running_count, single_count fields. Add
15959 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15960 Remove work_share_lock, generation_mask,
15961 oldest_live_gen, num_live_gen and init_work_shares fields, add
15962 work work_share_list_alloc, work_share_list_free and work_share_chunk
15963 fields. Change work_shares from pointer to pointers into an array.
15964 Change ordered_release field into gomp_sem_t ** from flexible array
15965 member. Add implicit_task and initial_work_shares fields.
15966 Move close to the end of the struct.
15967 (struct gomp_team_state): Add single_count, last_work_share,
15968 active_level and level fields, remove work_share_generation.
15969 (gomp_barrier_handle_tasks): New prototype.
15970 (gomp_finish_task): New inline function.
15971 (struct gomp_work_share): Move chunk_size, end, incr into
15972 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15973 next_ll fields. Reshuffle fields. Add next_alloc,
15974 next_ws, next_free and inline_ordered_team_ids fields, change
15975 ordered_team_ids into pointer from flexible array member.
15976 Add mode field. Put lock and next into a different cache line
15977 from most of the write-once fields.
15978 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15979 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15980 gomp_iter_ull_guided_next): New prototypes.
15981 (gomp_new_icv): New prototype.
15982 (struct gomp_thread): Add thread_pool and task fields.
15983 (struct gomp_thread_pool): New type.
15984 (gomp_new_team): New prototype.
15985 (gomp_team_start): Change type of last argument.
15986 (gomp_new_work_share): Removed.
15987 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
15988 (gomp_work_share_init_done): New static inline.
15989 (gomp_throttled_spin_count_var, gomp_available_cpus,
15990 gomp_managed_threads): New extern decls.
15991 (gomp_init_task): New prototype.
15992 (gomp_spin_count_var): New extern var decl.
15993 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15994 or no alias support, or if not PIC.
15995 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15996 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15997 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15998 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15999 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
16000 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
16001 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
16002 gomp_test_nest_lock_25): New prototypes.
16003 (omp_lock_symver, strong_alias): Define.
16004 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
16005 decls.
16006 (gomp_end_task): New.
16007 (struct gomp_task_icv, gomp_global_icv): New.
16008 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
16009 (struct gomp_task): New.
16010 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
16011 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
16012 (gomp_icv): New.
16013 (gomp_schedule_type): Reorder enum to match
16014 omp_sched_t.
16015 * team.c (struct gomp_thread_start_data): Add thread_pool and task
16016 fields.
16017 (gomp_thread_start): Add gomp_team_barrier_wait call.
16018 For non-nested case remove clearing of docked thread thr fields.
16019 Use pool fields instead of global gomp_* variables. Use
16020 gomp_barrier_wait_last when needed. Initialize ts.active_level.
16021 Create tasks for each member thread.
16022 (free_team): Only destroy team barrier, task_lock here and free it.
16023 (gomp_free_thread): Free last_team if non-NULL.
16024 (gomp_team_end): Call gomp_team_barrier_wait instead of
16025 gomp_barrier_wait. For nested case call one extra
16026 gomp_barrier_wait. Move here some destruction from free_team.
16027 Call free_team on pool->last_team if any, rather than freeing
16028 current team. Destroy work_share_list_free_lock ifndef
16029 HAVE_SYNC_BUILTINS.
16030 (gomp_new_icv): New function.
16031 (gomp_threads, gomp_threads_size, gomp_threads_used,
16032 gomp_threads_dock): Removed.
16033 (gomp_thread_destructor): New variable.
16034 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
16035 functions.
16036 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 16037 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
16038 Initialize thread_pool field for new threads. Clear single_count.
16039 Change last argument from ws to team, don't create
16040 new team, set ts.work_share to &team->work_shares[0] and clear
16041 ts.last_work_share. Don't clear ts.work_share_generation.
16042 If number of threads changed, adjust atomically gomp_managed_threads.
16043 Use gomp_init_task instead of gomp_new_task,
16044 set thr->task to the corresponding implicit_task array entry.
16045 Create tasks for each member thread. Initialize ts.level.
16046 (initialize_team): Call pthread_key_create on
16047 gomp_thread_destructor.
16048 (team_destructor): New function.
16049 (new_team): Removed.
16050 (gomp_new_team): New function.
16051 (free_team): Free gomp_work_share blocks chained through next_alloc,
16052 instead of freeing work_shares and destroying work_share_lock.
16053 (gomp_team_end): Call gomp_fini_work_share. If number of threads
16054 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
16055 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
16056 of gomp_barrier_wait.
16057 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
16058 instead of gomp_barrier_wait. Call gomp_work_share_init_done
16059 if gomp_work_share_start returned true. Don't unlock ws->lock.
16060 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
16061 of gomp_barrier_wait.
16062 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
16063 gomp_work_share_init_done if gomp_work_share_start returned true.
16064 Don't unlock ws->lock.
16065 * work.c: Include stddef.h.
16066 (free_work_share): Use work_share_list_free_lock instead
16067 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
16068 Call gomp_fini_work_share and then either free ws if orphaned, or
16069 put it into work_share_list_free list of the current team.
16070 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
16071 functions.
16072 (gomp_work_share_start, gomp_work_share_end,
16073 gomp_work_share_end_nowait): Rewritten.
16074 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
16075 (openmp_version): Set to 200805.
16076 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
16077 omp_sched_guided, omp_sched_auto): New parameters.
16078 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
16079 omp_set_max_active_levels, omp_get_max_active_levels,
16080 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
16081 omp_get_active_level): New interfaces.
16082 * omp_lib.h.in (openmp_version): Set to 200805.
16083 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
16084 omp_sched_guided, omp_sched_auto): New parameters.
16085 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
16086 omp_set_max_active_levels, omp_get_max_active_levels,
16087 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
16088 omp_get_active_level): New externals.
16089 * loop.c: Include limits.h.
16090 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
16091 GFS_AUTO.
16092 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
16093 Likewise. Use gomp_icv.
16094 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
16095 ts.static_trip here.
16096 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
16097 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
16098 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
16099 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
16100 don't unlock ws->lock, otherwise lock it.
16101 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
16102 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
16103 (gomp_parallel_loop_start): Call gomp_new_team instead of
16104 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
16105 Adjust gomp_team_start caller. Pass 0 as second argument to
16106 gomp_resolve_num_threads.
16107 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
16108 If adding ws->chunk_size nthreads + 1 times after end won't
16109 overflow, set ws->mode to 1.
16110 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
16111 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
16112 GOMP_loop_ull_ordered_static_start,
16113 GOMP_loop_ull_ordered_dynamic_start,
16114 GOMP_loop_ull_ordered_guided_start,
16115 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
16116 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
16117 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
16118 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
16119 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
16120 prototypes.
16121 * libgomp.map: Export lock routines also @@OMP_2.0.
16122 (GOMP_loop_ordered_dynamic_first,
16123 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
16124 GOMP_loop_ordered_static_first): Remove.
16125 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
16126 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
16127 GOMP_loop_ull_ordered_dynamic_next,
16128 GOMP_loop_ull_ordered_dynamic_start,
16129 GOMP_loop_ull_ordered_guided_next,
16130 GOMP_loop_ull_ordered_guided_start,
16131 GOMP_loop_ull_ordered_runtime_next,
16132 GOMP_loop_ull_ordered_runtime_start,
16133 GOMP_loop_ull_ordered_static_next,
16134 GOMP_loop_ull_ordered_static_start,
16135 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
16136 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
16137 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
16138 (omp_set_schedule, omp_get_schedule,
16139 omp_get_thread_limit, omp_set_max_active_levels,
16140 omp_get_max_active_levels, omp_get_level,
16141 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
16142 omp_set_schedule_, omp_set_schedule_8_,
16143 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
16144 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
16145 omp_get_max_active_levels_, omp_get_level_,
16146 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
16147 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
16148 New exports @@OMP_3.0.
16149 * omp.h.in (omp_sched_t): New type.
16150 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
16151 omp_set_max_active_levels, omp_get_max_active_levels,
16152 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
16153 omp_get_active_level): New prototypes.
16154 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
16155 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
16156 gomp_thread_limit_var, gomp_remaining_threads_count,
16157 gomp_remaining_threads_lock): New variables.
16158 (parse_spincount): New function.
16159 (initialize_env): Call gomp_init_num_threads unconditionally.
16160 Initialize gomp_available_cpus. Call parse_spincount,
16161 initialize gomp_{,throttled_}spin_count_var
16162 depending on presence and value of OMP_WAIT_POLICY and
16163 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
16164 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
16165 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
16166 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
16167 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
16168 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
16169 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
16170 (gomp_global_icv): New.
16171 (parse_schedule): Use it. Parse "auto".
16172 (omp_set_num_threads): Use gomp_icv.
16173 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
16174 Likewise.
16175 (omp_get_max_threads): Move from parallel.c.
16176 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
16177 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
16178 add ialias.
16179 (parse_stacksize, parse_wait_policy): New functions.
16180 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
16181 both wrappers for compatibility and new locks.
16182 (omp_set_schedule, omp_get_schedule,
16183 omp_get_thread_limit, omp_set_max_active_levels,
16184 omp_get_max_active_levels, omp_get_level,
16185 omp_get_ancestor_thread_num, omp_get_team_size,
16186 omp_get_active_level): New ialias_redirect.
16187 (omp_set_schedule_, omp_set_schedule_8_,
16188 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
16189 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
16190 omp_get_max_active_levels_, omp_get_level_,
16191 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
16192 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
16193 New functions.
16194 * parallel.c: Include limits.h.
16195 (gomp_resolve_num_threads): Add count argument. Rewritten.
16196 (GOMP_parallel_start): Call gomp_new_team and pass that as last
16197 argument to gomp_team_start. Pass 0 as second argument to
16198 gomp_resolve_num_threads.
16199 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
16200 if gomp_thread_limit_var != ULONG_MAX.
16201 (omp_in_parallel): Implement using ts.active_level.
16202 (omp_get_max_threads): Move to env.c.
16203 (omp_get_level, omp_get_ancestor_thread_num,
16204 omp_get_team_size, omp_get_active_level): New functions,
16205 add ialias.
16206 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
16207 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
16208 gomp_iter_dynamic_next instead of the _locked variant and don't take
16209 lock around it, otherwise acquire it before calling
16210 gomp_iter_dynamic_next_locked.
16211 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
16212 gomp_iter_dynamic_next instead of the _locked variant and don't take
16213 lock around it.
16214 (GOMP_parallel_sections_start): Call gomp_new_team instead of
16215 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
16216 Adjust gomp_team_start caller. Pass count as second argument to
16217 gomp_resolve_num_threads, don't adjust num_threads after the call.
16218 Use gomp_icv.
16219 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
16220 ws->chunk_size by incr.
16221 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
16222 code.
16223 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
16224 types.
16225 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
16226 (omp_check_defines): Check even the compat defines.
16227 * config/linux/ptrlock.c: New file.
16228 * config/linux/ptrlock.h: New file.
16229 * config/linux/wait.h: New file.
16230 * config/posix/ptrlock.c: New file.
16231 * config/posix/ptrlock.h: New file.
16232 * config/linux/bar.h (gomp_team_barrier_wait,
16233 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
16234 (gomp_team_barrier_set_task_pending,
16235 gomp_team_barrier_clear_task_pending,
16236 gomp_team_barrier_set_waiting_for_tasks,
16237 gomp_team_barrier_waiting_for_tasks,
16238 gomp_team_barrier_done): New inlines.
16239 (gomp_barrier_t): Rewritten.
16240 (gomp_barrier_state_t): New typedef.
16241 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
16242 gomp_barrier_wait_start): Rewritten.
16243 (gomp_barrier_wait_end): Change second argument to
16244 gomp_barrier_state_t.
16245 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
16246 inlines.
16247 * config/linux/bar.c: Include wait.h instead of libgomp.h and
16248 futex.h.
16249 (gomp_barrier_wait_end): Rewritten.
16250 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
16251 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
16252 * config/posix/bar.h (gomp_barrier_t): Add generation field.
16253 (gomp_barrier_state_t): New typedef.
16254 (gomp_team_barrier_wait,
16255 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
16256 (gomp_barrier_wait_start): Or all but low 2 bits from generation
16257 into the return value. Return gomp_barrier_state_t.
16258 (gomp_team_barrier_set_task_pending,
16259 gomp_team_barrier_clear_task_pending,
16260 gomp_team_barrier_set_waiting_for_tasks,
16261 gomp_team_barrier_waiting_for_tasks,
16262 gomp_team_barrier_done): New inlines.
16263 (gomp_barrier_wait_end): Change second argument to
16264 gomp_barrier_state_t.
16265 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
16266 inlines.
16267 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
16268 (gomp_barrier_wait_end): Change second argument to
3e348fcc 16269 gomp_barrier_state_t.
a68ab351
JJ
16270 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
16271 gomp_team_barrier_wake): New functions.
16272 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
16273 futex.h.
16274 (gomp_futex_wake, gomp_futex_wait): New variables.
16275 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
16276 * config/linux/lock.c: Rewrite to make locks task owned,
16277 for backwards compatibility provide the old entrypoints
16278 if symbol versioning. Include wait.h instead of libgomp.h and
16279 futex.h.
16280 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
16281 * config/posix95/lock.c: Rewrite to make locks task owned,
16282 for backwards compatibility provide the old entrypoints
16283 if symbol versioning.
16284 * config/posix/lock.c: Rewrite to make locks task owned,
16285 for backwards compatibility provide the old entrypoints
16286 if symbol versioning.
16287 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
16288 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
16289 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
16290 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16291 (sys_futex0): Return error code.
16292 (futex_wake, futex_wait): If ENOSYS was returned, clear
16293 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16294 (cpu_relax, atomic_write_barrier): New static inlines.
16295 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16296 (futex_wake, futex_wait): If ENOSYS was returned, clear
16297 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16298 (cpu_relax, atomic_write_barrier): New static inlines.
16299 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16300 (sys_futex0): Return error code.
16301 (futex_wake, futex_wait): If ENOSYS was returned, clear
16302 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16303 (cpu_relax, atomic_write_barrier): New static inlines.
16304 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16305 (sys_futex0): Return error code.
16306 (futex_wake, futex_wait): If ENOSYS was returned, clear
16307 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16308 (cpu_relax, atomic_write_barrier): New static inlines.
16309 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16310 (sys_futex0): Return error code.
16311 (futex_wake, futex_wait): If ENOSYS was returned, clear
16312 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16313 (cpu_relax, atomic_write_barrier): New static inlines.
16314 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16315 (sys_futex0): Return error code.
16316 (futex_wake, futex_wait): If ENOSYS was returned, clear
16317 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16318 (cpu_relax, atomic_write_barrier): New static inlines.
16319 * config/linux/sem.c: Include wait.h instead of libgomp.h and
16320 futex.h.
16321 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
16322 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
16323 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
16324 types.
16325 (omp_nest_lock_t): Change owner into void *, add lock field.
16326 * config/posix95/omp-lock.h: Include semaphore.h.
16327 (omp_lock_25_t, omp_nest_lock_25_t): New types.
16328 (omp_lock_t): Use sem_t instead of mutex if semaphores
16329 aren't broken.
16330 (omp_nest_lock_t): Likewise. Change owner to void *.
16331 * config/posix/omp-lock.h: Include semaphore.h.
16332 (omp_lock_25_t, omp_nest_lock_25_t): New types.
16333 (omp_lock_t): Use sem_t instead of mutex if semaphores
16334 aren't broken.
16335 (omp_nest_lock_t): Likewise. Add owner field.
16336
163372008-06-06 Jakub Jelinek <jakub@redhat.com>
16338
16339 * testsuite/libgomp.c/collapse-1.c: New test.
16340 * testsuite/libgomp.c/collapse-2.c: New test.
16341 * testsuite/libgomp.c/collapse-3.c: New test.
16342 * testsuite/libgomp.c/icv-1.c: New test.
16343 * testsuite/libgomp.c/icv-2.c: New test.
16344 * testsuite/libgomp.c/lib-2.c: New test.
16345 * testsuite/libgomp.c/lock-1.c: New test.
16346 * testsuite/libgomp.c/lock-2.c: New test.
16347 * testsuite/libgomp.c/lock-3.c: New test.
16348 * testsuite/libgomp.c/loop-4.c: New test.
16349 * testsuite/libgomp.c/loop-5.c: New test.
16350 * testsuite/libgomp.c/loop-6.c: New test.
16351 * testsuite/libgomp.c/loop-7.c: New test.
16352 * testsuite/libgomp.c/loop-8.c: New test.
16353 * testsuite/libgomp.c/loop-9.c: New test.
16354 * testsuite/libgomp.c/nested-3.c: New test.
16355 * testsuite/libgomp.c/nestedfn-6.c: New test.
16356 * testsuite/libgomp.c/sort-1.c: New test.
16357 * testsuite/libgomp.c/task-1.c: New test.
16358 * testsuite/libgomp.c/task-2.c: New test.
16359 * testsuite/libgomp.c/task-3.c: New test.
16360 * testsuite/libgomp.c/task-4.c: New test.
16361 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
16362 to C++ testsuite default compiler options.
16363 * testsuite/libgomp.c++/collapse-1.C: New test.
16364 * testsuite/libgomp.c++/collapse-2.C: New test.
16365 * testsuite/libgomp.c++/ctor-10.C: New test.
16366 * testsuite/libgomp.c++/for-1.C: New test.
16367 * testsuite/libgomp.c++/for-2.C: New test.
16368 * testsuite/libgomp.c++/for-3.C: New test.
16369 * testsuite/libgomp.c++/for-4.C: New test.
16370 * testsuite/libgomp.c++/for-5.C: New test.
16371 * testsuite/libgomp.c++/loop-8.C: New test.
16372 * testsuite/libgomp.c++/loop-9.C: New test.
16373 * testsuite/libgomp.c++/loop-10.C: New test.
16374 * testsuite/libgomp.c++/task-1.C: New test.
16375 * testsuite/libgomp.c++/task-2.C: New test.
16376 * testsuite/libgomp.c++/task-3.C: New test.
16377 * testsuite/libgomp.c++/task-4.C: New test.
16378 * testsuite/libgomp.c++/task-5.C: New test.
16379 * testsuite/libgomp.c++/task-6.C: New test.
16380 * testsuite/libgomp.fortran/allocatable1.f90: New test.
16381 * testsuite/libgomp.fortran/allocatable2.f90: New test.
16382 * testsuite/libgomp.fortran/allocatable3.f90: New test.
16383 * testsuite/libgomp.fortran/allocatable4.f90: New test.
16384 * testsuite/libgomp.fortran/collapse1.f90: New test.
16385 * testsuite/libgomp.fortran/collapse2.f90: New test.
16386 * testsuite/libgomp.fortran/collapse3.f90: New test.
16387 * testsuite/libgomp.fortran/collapse4.f90: New test.
16388 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
16389 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
16390 * testsuite/libgomp.fortran/lib4.f90: New test.
16391 * testsuite/libgomp.fortran/lock-1.f90: New test.
16392 * testsuite/libgomp.fortran/lock-2.f90: New test.
16393 * testsuite/libgomp.fortran/nested1.f90: New test.
16394 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
16395 * testsuite/libgomp.fortran/strassen.f90: New test.
16396 * testsuite/libgomp.fortran/tabs1.f90: New test.
16397 * testsuite/libgomp.fortran/tabs2.f: New test.
16398 * testsuite/libgomp.fortran/task1.f90: New test.
16399 * testsuite/libgomp.fortran/task2.f90: New test.
16400 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
16401 * testsuite/libgomp.fortran/vla5.f90: Likewise.
16402 * testsuite/libgomp.c/pr26943-2.c: Likewise.
16403 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16404 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16405
7a0112e7
JJ
164062008-05-23 Jakub Jelinek <jakub@redhat.com>
16407
16408 PR c++/36308
16409 * testsuite/libgomp.c++/ctor-11.C: New test.
16410 * testsuite/libgomp.c++/ctor-12.C: New test.
16411
91a5b394
JJ
164122008-05-15 Janis Johnson <janis187@us.ibm.com>
16413
16414 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
16415
c18c98c0
JJ
164162008-05-07 Jakub Jelinek <jakub@redhat.com>
16417
16418 PR middle-end/36106
16419 * testsuite/libgomp.c/atomic-5.c: New test.
16420 * testsuite/libgomp.c/atomic-6.c: New test.
16421 * testsuite/libgomp.c/autopar-1.c: New test.
16422
6d26724a
RW
164232008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16424
16425 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
16426 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
16427 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
16428 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
16429 * configure: Regenerate.
16430 * Makefile.in, testsuite/Makefile.in: Likewise.
16431
deb984e6
PB
164322008-04-18 Paolo Bonzini <bonzini@gnu.org>
16433
16434 PR bootstrap/35457
16435 * aclocal.m4: Regenerate.
16436 * configure: Regenerate.
16437
9e775963
JJ
164382008-03-18 Jakub Jelinek <jakub@redhat.com>
16439
8119fc93
JJ
16440 PR middle-end/35611
16441 * testsuite/libgomp.c/atomic-4.c: New test.
16442
9e775963
JJ
16443 PR libgomp/35625
16444 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
16445 (gomp_iter_guided_next): Likewise.
16446 * testsuite/libgomp.c/pr35625.c: New test.
16447
38d24731
RW
164482008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16449
16450 * aclocal.m4: Regenerate.
16451 * configure: Likewise.
16452 * Makefile.in: Likewise.
16453 * testsuite/Makefile.in: Likewise.
16454
d0fb20be
JJ
164552008-03-13 Jakub Jelinek <jakub@redhat.com>
16456
16457 PR middle-end/35185
16458 * testsuite/libgomp.c++/pr35185.C: New test.
16459
7c8f7639
JJ
164602008-03-12 Jakub Jelinek <jakub@redhat.com>
16461
16462 PR middle-end/35549
16463 * testsuite/libgomp.c/pr35549.c: New test.
16464
251923f5
JJ
164652008-03-06 Jakub Jelinek <jakub@redhat.com>
16466
16467 * testsuite/libgomp.c/atomic-3.c: New test.
16468
f489fba1
FXC
164692008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16470
16471 PR fortran/33197
251923f5 16472 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
16473 .F08 file suffixes.
16474
a1b25e49
PG
164752008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
16476
16477 PR libgomp/33131
16478 * configure.ac: Add ACX_HEADER_STRING.
16479 * env.c: Include strings.h.
16480 * aclocal.m4: Regenerate.
16481 * config.h.in: Regenerate.
16482 * configure: Regenerate.
16483 * Makefile.in: Regenerate.
16484 * testsuite/Makefile.in: Regenerate.
16485
6837b3b8
JJ
164862008-02-15 Jakub Jelinek <jakub@redhat.com>
16487
ac84c062
JJ
16488 PR middle-end/35196
16489 * testsuite/libgomp.c/pr35196.c: New test.
16490
6837b3b8
JJ
16491 PR middle-end/35130
16492 * testsuite/libgomp.fortran/pr35130.f90: New test.
16493 * testsuite/libgomp.c/pr35130.c: New test.
16494
c256730c
JJ
164952008-01-25 Jakub Jelinek <jakub@redhat.com>
16496
16497 PR middle-end/33880
16498 * testsuite/libgomp.c/pr33880.c: New test.
16499 * testsuite/libgomp.fortran/pr33880.f90: New test.
16500
c8e95542 165012008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
16502
16503 * configure: Regenerate.
16504
0f3e711e
JJ
165052008-01-08 Jakub Jelinek <jakub@redhat.com>
16506
16507 * configure.ac: Move futex checking into ../config/futex.m4.
16508 * configure: Rebuilt.
16509 * aclocal.m4: Rebuilt.
16510 * Makefile.in: Rebuilt.
16511
16512 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
16513 2007-10-15 ../config/tls.m4 change.
16514
5259c813
JJ
165152007-12-19 Jakub Jelinek <jakub@redhat.com>
16516
16517 PR c++/34513
16518 * testsuite/libgomp.c/pr34513.c: New test.
16519 * testsuite/libgomp.c++/pr34513.C: New test.
16520
ae8d8879
JH
165212007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
16522
16523 PR target/32765
16524 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
16525
2b4cf991
JJ
165262007-12-04 Jakub Jelinek <jakub@redhat.com>
16527
16528 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
16529
d2dda7fe
JJ
165302007-12-03 Jakub Jelinek <jakub@redhat.com>
16531
16532 * testsuite/libgomp.c/private-1.c: New test.
16533
d683ec81
PB
165342007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
16535 Paolo Bonzini <bonzini@gnu.org>
16536
16537 * Makefile.am: Use space as vpath separator. Use 'vpath %'
16538 instead of 'VPATH ='.
16539 * Makefile.in: Regenerate.
16540
a7415017
MK
165412007-11-23 Matthias Klose <doko@ubuntu.com>
16542
16543 * configure.ac: Adjust makeinfo version check.
16544 * configure: Regenerate.
16545
78e47463
JJ
165462007-11-10 Jakub Jelinek <jakub@redhat.com>
16547
16548 PR fortran/34020
16549 * testsuite/libgomp.fortran/pr34020.f90: New test.
16550
239371f9
JJ
165512007-11-06 Jakub Jelinek <jakub@redhat.com>
16552
16553 PR c++/33894
16554 * testsuite/libgomp.c++/atomic-1.C: New test.
16555
98a5fa94
JJ
165562007-10-25 Jakub Jelinek <jakub@redhat.com>
16557
16558 PR libgomp/33275
16559 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
16560 Make x and y integers rather than (implicit) reals. Add private (j)
16561 clause to the last omp parallel.
16562
3afcaaf4
MR
165632007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
16564
16565 * configure: Regenerate following changes to ../config/tls.m4.
16566
bd69daef
JJ
165672007-09-28 Jakub Jelinek <jakub@redhat.com>
16568
16569 * testsuite/libgomp.fortran/stack.f90: New test.
16570
1d0bd356
DS
165712007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
16572
16573 * config/mingw32/proc.c: New file.
16574
b3172cab
UB
165752007-09-05 Uros Bizjak <ubizjak@gmail.com>
16576
16577 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
16578 (main): Use __get_cpuid to get i386 target fetaures.
16579 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
16580 (main): Use __get_cpuid to get x86_64 target fetaures.
16581
6da17392
JH
165822007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
16583
16584 PR target/32765
16585 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
16586 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
16587
e1c82219
JJ
165882007-07-12 Jakub Jelinek <jakub@redhat.com>
16589
16590 PR fortran/32550
16591 * testsuite/libgomp.fortran/pr32550.f90: New test.
16592 * testsuite/libgomp.fortran/crayptr2.f90: New test.
16593
12a27363
L
165942007-07-05 H.J. Lu <hongjiu.lu@intel.com>
16595
16596 * aclocal.m4: Regenerated.
16597
5349080d
TB
165982007-07-05 Tobias Burnus <burnus@net-b.de>
16599
16600 PR fortran/32359
16601 * testsuite/libgomp.fortran/pr32359.f90: New.
16602
4f9c450c
JJ
166032007-07-02 Jakub Jelinek <jakub@redhat.com>
16604
16605 PR libgomp/32468
16606 * sections.c (GOMP_parallel_sections_start): Only decrease
16607 number of threads to COUNT if dyn_var is true.
16608 * testsuite/libgomp.c/pr32468.c: New test.
16609
28c67ed7
RO
166102007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16611
16612 PR libgomp/26308
16613 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
16614
64964499
JJ
166152007-06-21 Jakub Jelinek <jakub@redhat.com>
16616
16617 PR middle-end/32362
16618 * testsuite/libgomp.c/pr32362-1.c: New test.
16619 * testsuite/libgomp.c/pr32362-2.c: New test.
16620 * testsuite/libgomp.c/pr32362-3.c: New test.
16621
46d8fbd1
JJ
166222007-06-07 Jakub Jelinek <jakub@redhat.com>
16623
16624 * team.c (gomp_team_start): Fix setting up thread_attr
16625 stack size.
16626
82a6cadf
PB
166272007-06-02 Paolo Bonzini <bonzini@gnu.org>
16628
16629 * configure: Regenerate.
16630
1cf3d07d
SE
166312007-05-23 Steve Ellcey <sje@cup.hp.com>
16632
16633 * Makefile.in: Regenerate.
16634 * configure: Regenerate.
16635 * aclocal.m4: Regenerate.
16636 * testsuite/Makefile.in: Regenerate.
16637
12aac30b
JJ
166382007-05-04 Jakub Jelinek <jakub@redhat.com>
16639
16640 * config/linux/proc.c: New file.
16641
f1028b02
JJ
16642 PR libgomp/28482
16643 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
16644
06785a48
DF
166452007-04-19 Daniel Franke <franke.daniel@gmail.com>
16646
16647 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
16648
b3b08ba0
MK
166492007-04-16 Matthias Klose <doko@debian.org>
16650
16651 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
16652 flags if not building with -m64.
16653 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
16654 flag for i?86-*-* targets, if current target matches -m64.
16655
6b2c5ce0
SE
166562007-04-14 Steve Ellcey <sje@cup.hp.com>
16657
16658 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
16659 * Makefile.in: Regenerate.
16660
dd56fe7c
JDA
166612007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16662
16663 PR testsuite/31369
16664 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
16665 ld_library_path.
16666 * testsuite/libgomp.fortran/fortran.exp: Likewise.
16667
a0884cf0
JJ
166682007-04-04 Jakub Jelinek <jakub@redhat.com>
16669
16670 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
16671 decls.
16672 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
16673 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
16674 (parse_affinity): New function.
16675 (initialize_env): Call it and gomp_init_affinity.
16676 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
16677 create new pthread_attr_t and call gomp_init_thread_affinity
16678 on it for each thread before passing the attribute to pthread_create.
16679 * config/linux/affinity.c: New file.
16680 * config/posix/affinity.c: New file.
16681 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
16682 * configure: Rebuilt.
16683 * config.h.in: Rebuilt.
16684 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
16685 * Makefile.in: Rebuilt.
16686
1850744b
AT
166872007-03-23 Andreas Tobler <a.tobler@schweiz.org>
16688
16689 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
16690 *-*-darwin*.
16691 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
16692 and use it if found.
16693
516f1ed8
UB
166942007-03-18 Uros Bizjak <ubizjak@gmail.com>
16695
16696 * testsuite/config/default.exp: New file.
16697 * testsuite/lib/libgomp.exp: New file.
16698 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
16699 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
16700 load_lib *, load_gcc_lib *): Move to libgomp.exp.
16701 (libgomp_load): Remove.
16702 * testsuite/lib/libgomp.exp (libgomp_init): Compute
16703 always_ld_library_path, not ld_library_path. Set additional_flags
16704 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
16705 (target_compile): Do not call libgomp_init. Append lang_library_path
16706 and lang_link_flags to options.
16707 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
16708 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
16709 here.
16710 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
16711 always_ld_library_path. Set LD_LIBRARY_PATH here.
16712 * testsuite/libgomp.fortran/fortran.exp: Ditto.
16713 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
16714 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
16715 CX8 flag.
16716 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
16717 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
16718 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
16719 * testsuite/libgomp.c/pr29947-1.c: Ditto.
16720 * testsuite/libgomp.c/atomic-10.c: Ditto.
16721
2ada56f5
JJ
167222007-03-21 Jakub Jelinek <jakub@redhat.com>
16723
16724 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
16725 dg-final cleanup-modules line.
16726 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
16727 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
16728 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
16729 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
16730 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
16731 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
16732 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
16733
f210f1cd
AS
167342007-03-18 Andreas Schwab <schwab@suse.de>
16735
16736 * acinclude.m4: Adjust regular expression for ld version
16737 extraction.
16738 * configure: Regenerate.
16739
c4dc950d
BM
167402007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
16741
16742 * Makefile.am: Add install-pdf target as copied from
16743 automake v1.10 rules.
16744 * Makefile.in: Regenerate
16745
e02a048f
JJ
167462007-02-07 Jakub Jelinek <jakub@redhat.com>
16747
78e075d4
JJ
16748 PR libgomp/28486
16749 * configure: Regenerate.
16750
e02a048f
JJ
16751 PR c++/30703
16752 * testsuite/libgomp.c++/pr30703.C: New test.
16753
60def7ed
JJ
167542007-02-02 Jakub Jelinek <jakub@redhat.com>
16755
16756 Revert:
16757 2006-07-05 Eric Christopher <echristo@apple.com>
16758 * configure.ac: Depend addition of -pthread on host OS.
16759 * configure: Regenerate.
16760
f1b0882e
RW
167612007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16762
16763 * libgomp.texi: Fix spacing after abbreviations.
16764
748b9d7c
DF
167652007-01-31 Daniel Franke <franke.daniel@gmail.com>
16766
16767 PR libgomp/30546
16768 * configure.ac: Add check for makeinfo
16769 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 16770 if an appropriate version of makeinfo is found.
748b9d7c
DF
16771 * aclocal.m4: Regenerated.
16772 * configure: Regenerated.
16773 * Makefile.in: Regenerated.
16774 * testsuite/Makefile.in: Regenerated.
16775
14734fc7
DF
167762007-01-29 Daniel Franke <franke.daniel@gmail.com>
16777
16778 PR libgomp/30540
16779 * libgomp.texi: More about implementation-dependent settings.
16780
7befd5d2
TB
167812007-01-26 Tobias Burnus <burnus@net-b.de>
16782
16783 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16784
4288fea2
JJ
167852007-01-24 Jakub Jelinek <jakub@redhat.com>
16786
16787 PR middle-end/30494
16788 * testsuite/libgomp.c/pr30494.c: New test.
16789
627ab4b8
TT
167902007-01-15 Tom Tromey <tromey@redhat.com>
16791
16792 * configure: Rebuilt.
16793 * configure.ac: Fixed comment.
16794
7c2b7f45
DF
167952007-01-14 Daniel Franke <franke.daniel@gmail.com>
16796
16797 * libgomp.texi: Document implementation specific default values of
16798 environment variables.
16799
3721b9e1
DF
168002006-12-21 Daniel Franke <franke.daniel@gmail.com>
16801
16802 PR libgomp/28209
16803 * libgomp.texi: New file.
16804 * configure.ac: Add --enable-generated-files-in-srcdir option.
16805 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
16806 files to srcdir.
16807 * Makefile.in: Regenerated.
16808 * config.h.in: Regenerated.
16809 * testsuite/Makefile.in: Regenerated.
16810 * NOTES: Removed.
16811
62bd6216
DF
168122006-12-04 Daniel Franke <franke.daniel@gmail.com>
16813
16814 PR libgomp/29949
16815 * env.c (omp_set_num_threads): Set illegal thread count to 1.
16816
aad741f4
EB
168172006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
16818
16819 * configure: Regenerate.
16820
22568cc6
JJ
168212006-12-04 Jakub Jelinek <jakub@redhat.com>
16822
16823 PR libgomp/29947
16824 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
16825 start if there shouldn't be any loop iterations.
16826 (gomp_loop_ordered_static_start): Remove start == end test.
16827 * testsuite/libgomp.c/pr29947-1.c: New test.
16828 * testsuite/libgomp.c/pr29947-2.c: New test.
16829
a9690009
EB
168302006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
16831
16832 * configure.tgt: Force initial-exec TLS model on Linux only.
16833
597c25e6
DJ
168342006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
16835
16836 * configure: Regenerated.
16837
6acf0b38
UB
168382006-11-09 Uros Bizjak <ubizjak@gmail.com>
16839
16840 * env.c (parse_schedule): Reject out of range values.
16841 (parse_unsigned_long): Reject out of range, negative or zero values.
16842
a7a53ca5
JJ
168432006-10-29 Jakub Jelinek <jakub@redhat.com>
16844
16845 PR fortran/29629
16846 * testsuite/libgomp.fortran/pr29629.f90: New test.
16847
6d4d216a
EB
168482006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
16849
16850 PR libgomp/29494
16851 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
16852 * config/posix95: New directory.
16853 * config/posix95/omp-lock.h: New file.
16854 * config/posix95/lock.c: Likewise.
16855
5b043f08
GK
168562006-10-14 Geoffrey Keating <geoffk@apple.com>
16857
16858 * aclocal.m4: Regenerate.
16859 * configure: Regenerate.
16860
b50019f0
DS
168612006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16862
16863 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16864 '<' to '<='.
16865
8887708e
DS
168662006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16867
16868 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16869 test.
16870 * configure: Regenerate.
16871 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16872
9b9e4cd6
JJ
168732006-09-26 Jakub Jelinek <jakub@redhat.com>
16874
a70ad3bb
JJ
16875 PR middle-end/25261
16876 PR middle-end/28790
16877 * testsuite/libgomp.c/nestedfn-4.c: New test.
16878 * testsuite/libgomp.c/nestedfn-5.c: New test.
16879 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
16880
9b9e4cd6
JJ
16881 PR fortran/29097
16882 * testsuite/libgomp.fortran/condinc1.f: New test.
16883 * testsuite/libgomp.fortran/condinc2.f: New test.
16884 * testsuite/libgomp.fortran/condinc3.f90: New test.
16885 * testsuite/libgomp.fortran/condinc4.f90: New test.
16886 * testsuite/libgomp.fortran/condinc1.inc: New file.
16887
2fb31455
TT
168882006-09-18 Tom Tromey <tromey@redhat.com>
16889
16890 * configure: Rebuilt.
16891
c663e301
JM
168922006-09-13 Joseph S. Myers <joseph@codesourcery.com>
16893
16894 PR c/28768
16895 PR preprocessor/14634
16896 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16897 to AC_DEFINE.
16898 * configure: Regenerate.
16899
38371be9
SK
169002006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
16901
16902 * testsuite/libgomp.fortran/reduction3.f90: Change
16903 -2147483648 to -huge(i)-1 to avoid overflow.
16904 * testsuite/libgomp.fortran/reduction4.f90: Change
16905 Z'ffffffff' to not(0) to avoid overflow.
16906
571d5ac5
JM
169072006-08-26 Joseph S. Myers <joseph@codesourcery.com>
16908
16909 PR libgomp/25938
16910 * Makefile.am (libsubincludedir): New.
16911 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16912 * Makefile.in: Regenerate.
16913
89b3e3cd
JJ
169142006-08-17 Jakub Jelinek <jakub@redhat.com>
16915
16916 PR libgomp/28725
16917 * env.c: Include ctype.h.
16918 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
16919 leading and/or trailing whitespace and compare strings case
16920 insensitively.
16921
742fae05
JJ
169222006-07-16 Jakub Jelinek <jakub@redhat.com>
16923
16924 PR fortran/28390
16925 * testsuite/libgomp.fortran/pr28390.f: New test.
16926
a1daed2d
EC
169272006-07-05 Eric Christopher <echristo@apple.com>
16928
16929 * configure.ac: Depend addition of -pthread on host OS.
16930 * configure: Regenerate.
16931
5d7b5199
JJ
169322006-06-21 Jakub Jelinek <jakub@redhat.com>
16933
16934 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16935 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16936 defined.
16937
fe5568e9
JJ
169382006-06-20 Jakub Jelinek <jakub@redhat.com>
16939
16940 PR libgomp/26175
16941 PR libgomp/26477
16942 * configure.ac: If neither --enable-linux-futex nor
16943 --disable-linux-futex is passed, determine the default by checking
16944 for compiling and/or running against NPTL. With --enable-linux-futex,
16945 check if SYS_gettid and SYS_futex are defined.
16946 * configure: Rebuilt.
16947
c3b11a40
RH
169482006-06-14 Richard Henderson <rth@redhat.com>
16949
16950 PR libgomp/28008
16951 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16952 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16953
d0d1b24d
RH
169542006-06-09 Richard Henderson <rth@redhat.com>
16955
16956 * env.c (gomp_nthreads_var): Change to unsigned long.
16957 (gomp_run_sched_chunk): Likewise.
16958 (parse_unsigned_long): Rename from parse_num_threads and generalize.
16959 (initialize_env): Initialize gomp_thread_attr.
16960 * libgomp.h (gomp_nthreads_var): Update decl.
16961 (gomp_run_sched_chunk): Likewise.
16962 (gomp_thread_attr): Declare.
16963 * team.c (gomp_thread_attr): Export.
16964 (initialize_team): Don't initialize it.
16965
cd75853e
JJ
169662006-06-09 Jakub Jelinek <jakub@redhat.com>
16967
16968 PR fortran/27916
16969 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16970 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16971
33815e0c
FXC
169722006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16973
16974 * config/mingw32/time.c: New file.
16975 * configure.tgt: Use it.
16976
6667de0d
CD
169772006-05-23 Carlos O'Donell <carlos@codesourcery.com>
16978
16979 * Makefile.am: Add install-html target. Add install-html to .PHONY
16980 * Makefile.in: Regenerate.
16981
e962c46b
JDA
169822006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16983
16984 PR libgomp/27612
16985 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16986 * testsuite/libgomp.c/critical-1.c: Likewise.
16987 * testsuite/libgomp.c/loop-1.c: Likewise.
16988 * testsuite/libgomp.c/loop-2.c: Likewise.
16989 * testsuite/libgomp.c/single-1.c: Likewise.
16990 * testsuite/libgomp.c/ordered-1.c: Likewise.
16991 * testsuite/libgomp.c/ordered-2.c: Likewise.
16992
eeb1d9e0
JJ
169932006-05-15 Jakub Jelinek <jakub@redhat.com>
16994
16995 PR middle-end/27416
16996 * libgomp.fortran/pr27416-1.f90: New test.
16997
693d710f
JJ
169982006-05-03 Jakub Jelinek <jakub@redhat.com>
16999
17000 PR fortran/27395
17001 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
17002 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
17003
8ca5b2a2
JJ
170042006-05-02 Jakub Jelinek <jakub@redhat.com>
17005
17006 PR c++/26943
17007 * testsuite/libgomp.c/pr26943-1.c: New test.
17008 * testsuite/libgomp.c/pr26943-2.c: New test.
17009 * testsuite/libgomp.c/pr26943-3.c: New test.
17010 * testsuite/libgomp.c/pr26943-4.c: New test.
17011 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
17012 * testsuite/libgomp.c++/pr26943.C: New test.
17013
077b0dfb
JJ
170142006-05-02 Jakub Jelinek <jakub@redhat.com>
17015
17016 PR middle-end/27337
17017 * testsuite/libgomp.c++/pr27337.C: New test.
17018
91b6c26d
JJ
170192006-04-26 Jakub Jelinek <jakub@redhat.com>
17020
17021 PR c/26171
17022 * testsuite/libgomp.c/pr26171.c: New test.
17023
60e1758f
RH
170242006-04-25 Richard Henderson <rth@redhat.com>
17025
17026 PR libgomp/25865
17027 * configure.ac: Use GCC_CHECK_TLS.
17028 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
17029 * Makefile.in, aclocal.m4, configure: Regenerate.
17030
615baed7
MK
170312006-04-10 Matthias Klose <doko@debian.org>
17032
17033 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
17034 directory names containing underscores.
17035
fae2b46b
JJ
170362006-03-21 Jakub Jelinek <jakub@redhat.com>
17037
17038 PR c++/26691
17039 * testsuite/libgomp.c++/pr26691.C: New test.
17040
11a5f608
JJ
170412006-03-13 Jakub Jelinek <jakub@redhat.com>
17042
17043 * testsuite/libgomp.fortran/retval2.f90: New test.
17044
1799e5d5
RH
170452006-03-09 Diego Novillo <dnovillo@redhat.com>
17046
17047 * testsuite/libgomp.c++: New directory.
17048
d349482e
AT
170492006-02-25 Shantonu Sen <ssen@opendarwin.org>
17050
17051 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
17052 * config/posix/sem.c: Implement the above.
17053
170542006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
17055
17056 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
17057 define HAVE_BROKEN_POSIX_SEMAPHORES.
17058 * configure: Rebuilt.
17059 * config.h.in: Rebuilt.
17060
124452c9
FXC
170612006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
17062
17063 PR bootstrap/26161
17064 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
17065 for the other pthread check.
17066 * configure: Regenerate.
17067 * config.h.in: Regenerate.
17068
dd8d6dfe
JJ
170692006-02-15 Jakub Jelinek <jakub@redhat.com>
17070
17071 PR libgomp/25938
17072 PR libgomp/25984
17073 * Makefile.am (fincludedir): New variable.
17074 (nodist_include_HEADERS): Remove Fortran files.
17075 (nodist_finclude_HEADERS): New variable.
17076 * Makefile.in: Regenerated.
17077
6c7a4dfd
JJ
170782006-02-13 Jakub Jelinek <jakub@redhat.com>
17079
17080 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
17081 Remove tests for returning assumed character length arrays.
17082
5142e08b
RS
170832006-02-12 Roger Sayle <roger@eyesopen.com>
17084 John David Anglin <dave@hiauly1.hia.nrc.ca>
17085
17086 PR libgomp/25936
17087 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 17088
5821fba8
UW
170892006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
17090
17091 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
17092
cb2bbc67
EB
170932006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
17094
17095 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
17096 part of LD_LIBRARY_PATH manually.
17097
f05ee80c
L
170982006-02-03 H.J. Lu <hongjiu.lu@intel.com>
17099
17100 PR libgomp/25852
17101 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
17102 libgomp_init.
17103
03b8fe49
PB
171042005-01-25 Paolo Bonzini <bonzini@gnu.org>
17105
17106 PR libgomp/25884
f05ee80c
L
17107 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
17108 * configure.ac (PERL): Don't set.
17109 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
17110 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
17111 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
17112 * omp.h.in: Wrap the new configure substitutions with @ characters.
17113 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
17114 * aclocal.m4, configure, Makefile.in: Regenerate.
17115 * mkomp_h.pl: Delete.
03b8fe49 17116
18cbfd85
PB
171172005-01-24 Paolo Bonzini <bonzini@gnu.org>
17118
17119 PR libgomp/25259
17120 * configure.ac: Use GCC_HEADER_STDINT.
17121 * libgomp.h: Include gstdint.h.
17122 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
17123 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
17124
c41303c6
RH
171252006-01-24 Richard Henderson <rth@redhat.com>
17126
17127 PR libgomp/25942
17128 * configure.ac: Add AM_MAINTAINER_MODE.
17129 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
17130
149b9553
DN
171312006-01-24 Diego Novillo <dnovillo@redhat.com>
17132
17133 * Makefile.in: Regenerate.
17134 * testsuite/Makefile.in: Regenerate.
17135 * aclocal.m4: Regenerate.
17136
192a50ad
AT
171372006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
17138
17139 * config/posix/proc.c: Conditional include of sys/loadavg.h for
17140 Solaris.
17141 * configure.ac: Add check for loadavg.h.
17142 (link_gomp): Adjust comment.
17143 * configure: Regenerate.
17144 * config.h.in: Regenerate.
17145
a55b8e18
SE
171462006-01-21 Steve Ellcey <sje@cup.hp.com>
17147
17148 PR libgomp/25877
17149 * configure.ac: Remove check for alloca.h.
17150 * configure: Regenerate.
17151 * config.h.in: Regenerate.
17152 * libgomp.h: define gomp_alloca to be __builtin_alloca.
17153 * team.c: Remove use of alloca.h.
17154 Call gomp_alloca instead of alloca.
17155
692eeb34
SE
171562006-01-20 Steve Ellcey <sje@cup.hp.com>
17157
17158 PR libgomp/25877
17159 * team.c: Add include of alloca.h.
17160 * configure.ac: Add check for alloca.h.
17161 * configure: Regenerate.
17162 * config.h.in: Regenerate.
17163
953ff289
DN
171642006-01-17 Jakub Jelinek <jakub@redhat.com>
17165
17166 PR fortran/25219
17167 * testsuite/libgomp.fortran/pr25219.f90: New test.
17168
171692005-12-05 Uros Bizjak <uros@kss-loka.si>
17170
17171 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
17172 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
17173 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
17174 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
17175 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
17176 testsuite/libgomp.fortran/threadprivate1.f90,
17177 testsuite/libgomp.fortran/threadprivate2.f90,
17178 testsuite/libgomp.fortran/threadprivate3.f90,
17179 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
17180 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
17181 testsuite/libgomp.fortran/omp_parse3.f90: Change required
17182 effective-target to TLS runtime.
17183
17184 * testsuite/libgomp.fortran/pr25162.f: Require
17185 effective-target TLS runtime.
17186
171872005-12-01 Jakub Jelinek <jakub@redhat.com>
17188
17189 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
17190 * testsuite/libgomp.c/nestedfn-3.c: New test.
17191
171922005-11-30 Jakub Jelinek <jakub@redhat.com>
17193
17194 PR fortran/25162
17195 * testsuite/libgomp.fortran/pr25162.f: New test.
17196
171972005-11-28 Jakub Jelinek <jakub@redhat.com>
17198
17199 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
17200 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
17201
172022005-11-25 Jakub Jelinek <jakub@redhat.com>
17203
17204 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
17205 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
17206 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
17207 single.c, team.c, work.c, config/linux/alpha/futex.h,
17208 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
17209 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
17210 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
17211 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
17212 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
17213 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
17214 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
17215 FSF address.
17216
172172005-11-18 Jakub Jelinek <jakub@redhat.com>
17218
17219 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
17220 to nodist_noinst_HEADERS.
17221 * Makefile.in: Rebuilt.
17222
17223 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
17224 add integer count field.
17225 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
17226 omp_nest_lock_t type change.
17227 (omp_init_nest_lock): Likewise. Initialize count to 0.
17228 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
17229 Increment count.
17230 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
17231 Decrement count.
17232 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
17233 Increment count if successful and return the new nesting level.
17234 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
17235 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
17236 * testsuite/libgomp.c/lib-1.c: New test.
17237 * testsuite/libgomp.fortran/lib1.f90: New test.
17238 * testsuite/libgomp.fortran/lib2.f: New test.
17239 * testsuite/libgomp.fortran/lib3.f: New test.
17240
172412005-11-17 Richard Henderson <rth@redhat.com>
17242
17243 PR 24845
17244 * Makefile.am (nodist_toolexeclib_HEADERS): New.
17245 * configure.ac (link_gomp): New. Substitute it.
17246 (AC_CONFIG_FILES): Add libgomp.spec.
17247 * libgomp.spec.in: New file.
17248 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
17249 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
17250
172512005-11-18 Jakub Jelinek <jakub@redhat.com>
17252
17253 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
17254 reduction(-:var) behaving the same as reduction(+:var).
17255 * testsuite/libgomp.c/reduction-4.c: New test.
17256
172572005-11-15 Uros Bizjak <uros@kss-loka.si>
17258
17259 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
17260 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
17261 testsuite/libgomp.c/copyin-3.c,
17262 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
17263 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
17264 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
17265 testsuite/libgomp.c++/pr24455.C,
17266 testsuite/libgomp.fortran/threadprivate1.f90,
17267 testsuite/libgomp.fortran/threadprivate2.f90,
17268 testsuite/libgomp.fortran/threadprivate3.f90,
17269 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
17270 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
17271 testsuite/libgomp.fortran/omp_parse3.f90: Require
17272 effective-target TLS.
17273
172742005-11-14 Diego Novillo <dnovillo@redhat.com>
17275
17276 * HEADER: Remove.
17277
172782005-11-13 Jakub Jelinek <jakub@redhat.com>
17279
17280 PR libgomp/24797
17281 * team.c (initialize_team): Pass NULL rather than free as
17282 pthread_key_create destructor. Initialize thread specific data
17283 pointer in initial thread to a static local variable rather than
17284 malloced memory.
17285
172862005-11-11 Uros Bizjak <uros@kss-loka.si>
17287
17288 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
17289 its location to ld_library_path.
17290
172912005-11-10 Diego Novillo <dnovillo@redhat.com>
17292
17293 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
17294
172952005-11-10 Diego Novillo <dnovillo@redhat.com>
17296
17297 * testsuite/libgomp.c: Rename from libgomp.dg.
17298
172992005-11-09 Diego Novillo <dnovillo@redhat.com>
17300
17301 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
17302 threadprivate variable 'i'.
17303
173042005-11-09 Jakub Jelinek <jakub@redhat.com>
17305
17306 * config/linux/s390/futex.h: New file.
17307 * configure.tgt: Use it.
17308
17309 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
17310 before the parallel.
17311
173122005-11-08 Jakub Jelinek <jakub@redhat.com>
17313
17314 PR c++/24734
17315 * testsuite/libgomp.c++/master-1.C: New test.
17316
173172005-11-07 Jakub Jelinek <jakub@redhat.com>
17318
17319 * testsuite/libgomp.dg/copyin-3.c: New test.
17320
173212005-11-07 Jakub Jelinek <jakub@redhat.com>
17322
17323 * testsuite/libgomp.fortran/retval1.f90: New test.
17324 * testsuite/libgomp.fortran/vla7.f90: New test.
17325
173262005-11-06 Jakub Jelinek <jakub@redhat.com>
17327
17328 * testsuite/libgomp.fortran/vla2.f90: New test.
17329 * testsuite/libgomp.fortran/vla3.f90: New test.
17330 * testsuite/libgomp.fortran/vla4.f90: New test.
17331 * testsuite/libgomp.fortran/vla5.f90: New test.
17332 * testsuite/libgomp.fortran/vla6.f90: New test.
17333
173342005-11-01 Jakub Jelinek <jakub@redhat.com>
17335
17336 * config/linux/sparc/futex.h: New file.
17337 * configure.tgt: Use it.
17338 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
17339
17340 * critical.c: Include stdlib.h.
17341 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
17342 ignoring return value.
17343 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
17344 LIBGOMP_CHECK_SYNC_BUILTINS check.
17345 * configure: Rebuilt.
17346
173472005-10-31 Jakub Jelinek <jakub@redhat.com>
17348
17349 * testsuite/libgomp.fortran/vla1.f90: New test.
17350
173512005-10-31 Richard Henderson <rth@redhat.com>
17352
17353 * testsuite/libgomp.fortran/character2.f90: Fix race condition
17354 setting 's' in different threads.
17355
173562005-10-31 Jakub Jelinek <jakub@redhat.com>
17357
17358 * libgomp.h (attribute_hidden, ialias): Define.
17359 * config/posix/proc.c (omp_get_num_procs): Add ialias.
17360 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
17361 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
17362 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
17363 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
17364 omp_test_lock, omp_test_nest_lock): Likewise.
17365 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
17366 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
17367 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
17368 omp_test_lock, omp_test_nest_lock): Likewise.
17369 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
17370 omp_get_dynamic, omp_get_nested): Likewise.
17371 * parallel.c (omp_get_num_threads, omp_get_max_threads,
17372 omp_get_thread_num, omp_in_parallel): Likewise.
17373 * fortran.c (ialias_redirect): Define.
17374 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
17375 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
17376 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
17377 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
17378 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
17379 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
17380 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
17381 omp_get_wtime): Add ialias_redirect.
17382
173832005-10-30 Jakub Jelinek <jakub@redhat.com>
17384
17385 * fortran.c: Include stdlib.h.
17386
173872005-10-29 Jakub Jelinek <jakub@redhat.com>
17388
17389 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
17390 * Makefile.in: Regenerated.
17391
173922005-10-28 Jakub Jelinek <jakub@redhat.com>
17393
17394 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
17395 * libgomp_f.h.in (omp_check_defines): New function.
17396 * env.c: Include libgomp_f.h.
17397 (initialize_env): Call omp_check_defines.
17398
17399 * testsuite/libgomp.dg/copyin-2.c: New test.
17400 * testsuite/libgomp.c++/copyin-2.C: New test.
17401 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
17402
17403 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
17404 * testsuite/libgomp.fortran/sharing2.f90: New test.
17405
17406 * testsuite/libgomp.dg/copyin-1.c: New test.
17407 * testsuite/libgomp.c++/copyin-1.C: New test.
17408
174092005-10-26 Jakub Jelinek <jakub@redhat.com>
17410
17411 * testsuite/libgomp.fortran/crayptr1.f90: New test.
17412
17413 * testsuite/libgomp.fortran/workshare1.f90: New test.
17414
17415 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
17416 only test.
17417 * libgomp.fortran/sharing1.f90: New test.
17418
174192005-10-24 Jakub Jelinek <jakub@redhat.com>
17420
17421 PR c++/24502
17422 * testsuite/libgomp.c++/loop-7.C: New test.
17423
17424 * testsuite/libgomp.dg/nestedfn-2.c: New test.
17425
17426 * testsuite/libgomp.dg/nestedfn-1.c: New test.
17427 * testsuite/libgomp.fortran/reduction6.f90: New test.
17428 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
17429
174302005-10-23 Richard Henderson <rth@redhat.com>
17431
17432 * testsuite/libgomp.c++/ctor-1.C: New.
17433 * testsuite/libgomp.c++/ctor-2.C: New.
17434 * testsuite/libgomp.c++/ctor-3.C: New.
17435 * testsuite/libgomp.c++/ctor-4.C: New.
17436 * testsuite/libgomp.c++/ctor-5.C: New.
17437 * testsuite/libgomp.c++/ctor-6.C: New.
17438 * testsuite/libgomp.c++/ctor-7.C: New.
17439 * testsuite/libgomp.c++/ctor-8.C: New.
17440 * testsuite/libgomp.c++/ctor-9.C: New.
17441
174422005-10-21 Diego Novillo <dnovillo@redhat.com>
17443
17444 PR 24455
17445 * testsuite/libgomp.c++/pr24455-1.C: New test.
17446 * testsuite/libgomp.c++/pr24455.C: New test.
17447 * testsuite/libgomp.dg/pr24455-1.c: New test.
17448 * testsuite/libgomp.dg/pr24455.c: New test.
17449
174502005-10-20 Richard Henderson <rth@redhat.com>
17451
17452 * testsuite/libgomp.c++/loop-6.C: New.
17453 * testsuite/libgomp.dg/loop-3.c: New.
17454
174552005-10-20 Jakub Jelinek <jakub@redhat.com>
17456
17457 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
17458 explicitly private.
17459 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
17460 explicitly shared.
17461
174622005-10-19 Diego Novillo <dnovillo@redhat.com>
17463
17464 * testsuite/libgomp.fortran/jacobi.f: New test.
17465
174662005-10-19 Richard Henderson <rth@redhat.com>
17467
17468 * configure.tgt (i?86-linux): Default to with_arch instead of
17469 CFLAGS. Add -mtune to match target_cpu.
17470 (x86_64-linux): Tune to i686.
17471
17472 * fortran.c (omp_test_nest_lock_): Fix typo.
17473
174742005-10-19 Jakub Jelinek <jakub@redhat.com>
17475
17476 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17477 gomp_ordered_sync): Do nothing if team->nthreads == 1.
17478 * testsuite/libgomp.dg/ordered-3.c: New test.
17479
17480 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
17481 Remove volatile keyword.
17482
17483 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
17484 in COMMON block to avoid warnings on 64-bit targets.
17485
174862005-10-18 Diego Novillo <dnovillo@redhat.com>
17487
17488 * testsuite/libgomp.dg/shared-3.c: New test.
17489
174902005-10-18 Jakub Jelinek <jakub@redhat.com>
17491
17492 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
17493 * testsuite/libgomp.fortran/reduction5.f90: New test.
17494
174952005-10-18 Jakub Jelinek <jakub@redhat.com>
17496
17497 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
17498 dg-options.
17499 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
17500 flush loop now that __sync_synchronize has proper memory barrier.
17501 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
17502 Add -ffixed-form to dg-options.
17503
175042005-10-17 Diego Novillo <dnovillo@redhat.com>
17505
17506 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
17507 from subdirectories.
17508 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
17509 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
17510 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
17511 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
17512 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
17513 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
17514 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
17515 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
17516 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
17517 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
17518 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
17519 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
17520 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
17521 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
17522 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
17523 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
17524 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
17525 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
17526 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
17527 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
17528 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
17529 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
17530 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
17531 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
17532 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
17533
175342005-10-17 Jakub Jelinek <jakub@redhat.com>
17535
17536 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
17537 lang_library_path exists. Use find instead of glob to gather tests.
17538 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
17539
175402005-10-17 Diego Novillo <dnovillo@redhat.com>
17541
17542 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
17543 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
17544 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
17545 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
17546 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
17547 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
17548 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
17549 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
17550 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
17551 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
17552 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
17553 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
17554 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
17555
175562005-10-15 Jakub Jelinek <jakub@redhat.com>
17557
17558 * testsuite/libgomp.dg/vla-1.c: New test.
17559
17560 * testsuite/libgomp.fortran/reference2.f90: New test.
17561
17562 * testsuite/libgomp.fortran/character2.f90: Remove explicit
17563 declaration of omp_get_thread_num.
17564 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
17565 use omp_lib.
17566
17567 * testsuite/libgomp.fortran/reduction1.f90: New test.
17568 * testsuite/libgomp.fortran/reduction2.f90: New test.
17569 * testsuite/libgomp.fortran/reduction3.f90: New test.
17570 * testsuite/libgomp.fortran/reduction4.f90: New test.
17571
175722005-10-13 Richard Henderson <rth@redhat.com>
17573
17574 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
17575 * Makefile.in: Regenerate.
17576 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
17577 * libgomp.h: Include bar.h.
17578 (struct gomp_barrier): Remove.
17579 (struct gomp_team): Add barrier. Replace master_barrier with
17580 master_release. Replace threads with ordered_release.
17581 (struct gomp_thread): Replace barrier with release.
17582 * ordered.c (gomp_ordered_first): Update for ordered_release change.
17583 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
17584 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
17585 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
17586 (GOMP_single_copy_end): Likewise.
17587 * team.c (gomp_threads_dock): New.
17588 (gomp_barrier_init, gomp_barrier_destroy): Remove.
17589 (gomp_thread_start): Use gomp_barrier_wait.
17590 (new_team, free_team): Update for gomp_team changes.
17591 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
17592 (gomp_team_end): Use gomp_barrier_wait.
17593 (initialize_team): Update for gomp_thread changes.
17594 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
17595 (gomp_work_share_end_nowait): Use atomic ops when available.
17596 * config/linux/bar.c, config/linux/bar.h: New files.
17597 * config/posix/bar.c, config/posix/bar.h: New files.
17598
175992005-10-13 Jakub Jelinek <jakub@redhat.com>
17600
17601 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
17602 * testsuite/libgomp.dg/single-2.c: New test.
17603
17604 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
17605 lang_link_flags): Unset, so that they aren't inherited from previously
17606 sourced *.exp.
17607
17608 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
17609
176102005-10-12 Richard Henderson <rth@redhat.com>
17611
17612 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
17613 (libgomp_init): Use lang_test_file, lang_library_path, and
17614 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
17615
17616 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
17617 (lang_test_file, lang_link_flags): New.
17618 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
17619
17620 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
17621 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
17622 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
17623 testsuite/libgomp.c++/parallel-1.C,
17624 testsuite/libgomp.c++/reduction-1.C,
17625 testsuite/libgomp.c++/reduction-2.C,
17626 testsuite/libgomp.c++/reduction-3.C,
17627 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
17628 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
17629 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
17630 New files, largely cribbed from the C testsuite.
17631
176322005-10-12 Jakub Jelinek <jakub@redhat.com>
17633
17634 * testsuite/libgomp.fortran/character1.f90: New test.
17635 * testsuite/libgomp.fortran/character2.f90: New test.
17636
17637 * testsuite/libgomp.dg/nested-1.c: New test.
17638 * testsuite/libgomp.dg/nested-2.c: New test.
17639 * testsuite/libgomp.fortran/do1.f90: New test.
17640 * testsuite/libgomp.fortran/do2.f90: New test.
17641
17642 * testsuite/libgomp.fortran/reference1.f90: New test.
17643
176442005-10-11 Jakub Jelinek <jakub@redhat.com>
17645
17646 * testsuite/libgomp.dg/reduction-1.c: New test.
17647 * testsuite/libgomp.dg/reduction-2.c: New test.
17648 * testsuite/libgomp.dg/reduction-3.c: New test.
17649
176502005-10-10 Jakub Jelinek <jakub@redhat.com>
17651
17652 * testsuite/libgomp.dg/atomic-1.c: New test.
17653 * testsuite/libgomp.dg/atomic-2.c: New test.
17654
176552005-10-09 Richard Henderson <rth@redhat.com>
17656
17657 * critical.c (atomic_lock): New.
17658 (initialize_critical): Initialize it.
17659 (GOMP_atomic_start, GOMP_atomic_end): New.
17660 * libgomp.map: Export them.
17661 * libgomp_g.h: Declare them.
17662
17663 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
17664
176652005-10-02 Richard Henderson <rth@redhat.com>
17666
17667 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
17668 to XCFLAGS instead of CFLAGS.
17669
176702005-09-30 Richard Henderson <rth@redhat.com>
17671
17672 * configure.ac: Determine whether -pthread or -lpthread is needed.
17673 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 17674 * Makefile.in, configure: Rebuild.
953ff289
DN
17675
176762005-09-28 Richard Henderson <rth@redhat.com>
17677
17678 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
17679 * testsuite/libgomp.dg/omp-single-3.c: New test.
17680
176812005-09-28 Diego Novillo <dnovillo@redhat.com>
17682
17683 * testsuite/libgomp.dg/omp-single-2.c: New test.
17684 * testsuite/libgomp.dg/shared-2.c: Fix return code.
17685
176862005-09-27 Richard Henderson <rth@redhat.com>
17687
17688 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
17689 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
17690
176912005-09-27 Jakub Jelinek <jakub@redhat.com>
17692
17693 * testsuite/libgomp.dg/omp-loop03.c: New test.
17694
176952005-09-27 Diego Novillo <dnovillo@redhat.com>
17696
17697 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
17698
176992005-09-27 Diego Novillo <dnovillo@redhat.com>
17700
17701 * testsuite/libgomp.dg/omp-single-1.c: New test.
17702 * testsuite/libgomp.dg/shared-1.c: Return 0.
17703 Add prototype for abort.
17704 * testsuite/libgomp.dg/shared-2.c: Likewise.
17705
177062005-09-26 Jakub Jelinek <jakub@redhat.com>
17707
17708 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
17709 constructs.
17710
177112005-09-26 Diego Novillo <dnovillo@redhat.com>
17712
17713 * testsuite/libgomp.dg/shared-1.c: New test.
17714 * testsuite/libgomp.dg/shared-2.c: New test.
17715
177162005-09-24 Richard Henderson <rth@redhat.com>
17717
17718 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
17719
177202005-09-24 Richard Henderson <rth@redhat.com>
17721
17722 * iter.c (gomp_iter_static_next): Round up when computing number
17723 of iterations. Don't bother distributing a remainder equally.
17724
17725 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
17726 Don't call srand. Zero b before testing.
17727 (main): New.
17728
177292005-09-24 Jakub Jelinek <jakub@redhat.com>
17730
17731 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
17732 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
17733
177342005-09-23 Jakub Jelinek <jakub@redhat.com>
17735
17736 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
17737 without !$omp end do, followed immediately by subroutine end.
17738
177392005-09-23 Diego Novillo <dnovillo@redhat.com>
17740
17741 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
17742
177432005-09-22 Richard Henderson <rth@redhat.com>
17744
17745 * critical.c (GOMP_critical_name_start): Change argument to void**.
17746 Reuse the pointer space if the mutex fits.
17747 (GOMP_critical_name_end): Likewise.
17748 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
17749 * libgomp_g.h (GOMP_critical_name_start): Update decl.
17750 (GOMP_critical_name_end): Likewise.
17751 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
17752 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
17753
177542005-09-20 Richard Henderson <rth@redhat.com>
17755
17756 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
17757 (create_lock_lock): New.
17758 (initialize_critical): Initialize it.
17759 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
17760 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
17761
177622005-09-20 Diego Novillo <dnovillo@redhat.com>
17763
17764 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17765
177662005-09-20 Diego Novillo <dnovillo@redhat.com>
17767
17768 * testsuite/libgomp.dg/omp-loop01.c: New test.
17769 * testsuite/libgomp.dg/omp-loop02.c: New test.
17770
177712005-09-20 Jakub Jelinek <jakub@redhat.com>
17772
17773 * configure.ac (AC_PROG_FC): Add.
17774 (USE_FORTRAN): New automake conditional.
17775 * configure: Rebuilt.
17776 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
17777 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
17778 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
17779 Add rules to build them.
17780 * Makefile.in: Rebuilt.
17781 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
17782 OMP_NEST_LOCK_KIND.
17783 * libgomp.map: Add Fortran wrappers.
17784 * libgomp_f.h.in: New file.
17785 * omp_lib.h.in: New file.
17786 * omp_lib.f90.in: New file.
17787 * fortran.c: New file.
17788 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
17789 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
17790 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
17791 libgfortran has been built.
17792 * testsuite/libgomp.fortran/fortran.exp: New file.
17793 * testsuite/libgomp.fortran/omp_cond1.f: New test.
17794 * testsuite/libgomp.fortran/omp_cond2.f: New test.
17795 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
17796 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
17797 * testsuite/libgomp.fortran/omp_hello.f: New test.
17798 * testsuite/libgomp.fortran/omp_orphan.f: New test.
17799 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
17800 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
17801 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
17802 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
17803 * testsuite/libgomp.fortran/omp_reduction.f: New test.
17804 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
17805 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
17806
178072005-08-30 Richard Henderson <rth@redhat.com>
17808
17809 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
17810 function for when aliases are not usable.
17811 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
17812 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17813 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
17814 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
17815 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
17816 GOMP_loop_ordered_guided_next): Likewise.
17817 * ordered.c (GOMP_ordered_start): Likewise.
17818
178192005-08-01 Diego Novillo <dnovillo@redhat.com>
17820
17821 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
17822 * testsuite/libgomp.dg/omp_hello.c: Fix return code
17823 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
17824 * testsuite/libgomp.dg/omp_orphan.c: Likewise
17825 * testsuite/libgomp.dg/omp_reduction.c: Likewise
17826 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
17827 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
17828 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
17829 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
17830
178312005-07-07 Eric Christopher <echristo@redhat.com>
17832 Diego Novillo <dnovillo@redhat.com>
17833
17834 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17835 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
17836 up code.
17837 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
17838 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
17839 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
17840 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
17841 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
17842 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
17843 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
17844
178452005-06-13 Diego Novillo <dnovillo@redhat.com>
17846
17847 * TOPLEVEL.patch: Remove.
17848
178492005-05-16 Richard Henderson <rth@redhat.com>
17850
17851 * configure.ac: Test for clock_gettime.
17852 * config.h.in, configure: Rebuild.
17853 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
17854 (omp_get_wtime): Use clock_gettime if available.
17855 (omp_get_wtick): Use clock_getres if available.
17856
178572005-05-11 Richard Henderson <rth@redhat.com>
17858
17859 * config/linux/ia64/futex.h: New file.
17860 * configure.tgt: Use it.
17861
17862 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17863
178642005-05-07 Richard Henderson <rth@redhat.com>
17865
17866 * config/linux/powerpc/futex.h: New file.
17867 * configure.tgt: Use it.
17868
17869 * config/linux/i486/futex.h: Merge ...
17870 * config/linux/x86_64/futex.h: ... into ...
17871 * config/linux/x86/futex.h: ... here.
17872 * configure.tgt: Update to match.
17873
178742005-05-06 Richard Henderson <rth@redhat.com>
17875
17876 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
17877 * config/linux/i486/futex.h: Likewise.
17878 * config/linux/x86_64/futex.h: Likewise.
17879
17880 * config/linux/lock.c: New file.
17881 * config/linux/omp-lock.h: New file.
17882
17883 * critical.c, env.h: Don't include omp.h
17884 * config/posix/lock.c: Include libgomp.h instead of omp.h.
17885 * config/posix/time.c: Likewise.
17886 * config/posix/omp-lock.h: New file.
17887 * libgomp.h: Include omp-lock.h and omp.h.
17888 * Makefile.am (nodist_include_HEADERS): New.
17889 (omp.h): New rule.
17890 * configure.ac (PERL): New.
17891 * mkomp_h.pl: New file.
17892 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17893 with templates.
17894 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17895
17896 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17897 build directory. Re-add -march=i486 hack.
17898
17899 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17900 (libgomp_link_flags): Remove.
17901 (libgomp_initialized): Remove.
17902 (libgomp_init): Don't protect from reinitialization. Copy code
17903 from libstdc++ for getting the multilib set correctly.
17904
179052005-05-05 Richard Henderson <rth@redhat.com>
17906
17907 * config/linux/alpha/futex.h: New file.
17908 * configure.tgt (alpha*-*-linux*): Use it.
17909
17910 * config/posix/mutex.c: New file.
17911 * config/posix/sem.c: Use libgomp.h.
17912
17913 * configure.tgt (x86_64-linux): Also test CC for -m32.
17914 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17915
a1daed2d 17916 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
17917 after $gccpath.
17918
17919 * Makefile.am (SUBDIRS): New.
17920 (libgomp_la_LDFLAGS): Add -lpthread.
17921 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17922 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17923
17924 * libgomp_g.h: New file.
17925 * libgomp.h: Split out all public declarations to libgomp_g.h.
17926 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17927 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17928 * config/linux/sem.h: Likewise.
17929 * config/posix/sem.h: Likewise.
17930
17931 * Makefile.am (AM_LDFLAGS): New.
17932 (libgomp_version_script): Split out from ...
17933 (libgomp_la_LDFLAGS): ... here.
17934 (libgomp_version_info): New.
17935 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17936 (LIBGOMP_ENABLE): New.
17937 (LIBGOMP_CHECK_LINKER_FEATURES): New.
17938 (LIBGOMP_ENABLE_SYMVERS): New.
17939 * configure.ac (AC_INIT): Version 1.0.
17940 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17941 (enable-linux-futex): Likewise. Rename from enable-futex.
17942 (libtool_VERSION): New.
17943 (LIBGOMP_ENABLE_SYMVERS): Use it.
17944 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17945 * Makefile.in, aclocal.m4, configure: Rebuild.
17946
17947 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17948 (gomp_mutex_unlock_slow): Fix typo.
17949 * config/linux/sem.c: Similarly.
17950 (gomp_sem_post_slow): Fix typo.
17951 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17952 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17953 [__PIC__] (sys_futex0): Don't use tmp output in asm.
17954
17955 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17956 (libgomp_la_LDFLAGS): Add top_srcdir to path.
17957 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17958 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
17959 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17960 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17961 LDFLAGS. Pull enable_futex check to top-level.
17962 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
17963 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17964
17965 First attempt at real configury.
17966 * Makefile, config.h: Remove file.
17967 * Makefile.am, Makefile.in: New file.
17968 * acinclude.m4 aclocal.m4: New file.
17969 * configure.ac, configure.tgt, configure: New file.
17970
17971 * config/posix/lock.c: Rename from sys-lock.c.
17972 * config/posix/mutex.h: Rename from sys-mutex.h.
17973 * config/posix/sem.c: Rename from sys-sem.c.
17974 * config/posix/sem.h: Rename from sys-sem.h.
17975 * config/posix/proc.c: Rename from sys-proc.c.
17976 * config/posix/time.c: Rename from sys-proc.c.
17977
17978 * config/linux/mutex.c: New file.
17979 * config/linux/mutex.h: New file.
17980 * config/linux/sem.c: New file.
17981 * config/linux/sem.h: New file.
17982 * config/linux/i486/futex.h: New file.
17983 * config/linux/x86_64/futex.h: New file.
17984
179852005-05-04 Richard Henderson <rth@redhat.com>
17986
17987 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17988 * libgomp.h: Declare them.
17989 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17990 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17991
179922005-05-04 Richard Henderson <rth@redhat.com>
17993
17994 * libgomp-1 code drop
17995
179962005-05-04 Richard Henderson <rth@redhat.com>
17997
17998 * iter.c (gomp_iter_static_next): Return tri-state on 0.
17999 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
18000 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
18001 (gomp_iter_static_next): Update.
18002 (gomp_ordered_static_next): Update.
18003 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
18004 (gomp_loop_ordered_static_start): Likewise. Exit early for a
18005 totally empty range.
18006 (gomp_loop_ordered_static_next): Refine test for calling
18007 gomp_ordered_static_next.
18008 * testsuite/ordered-1.c: Add case for more threads than iterations.
18009
18010 * iter.c (gomp_iter_runtime_next_locked): Remove.
18011 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 18012 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
18013 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
18014 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
18015 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
18016 gomp_loop_ordered_guided_next): Downcase name, make static, add
18017 an external alias with the old name.
18018 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
18019 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
18020 switch and call one of the above static functions.
18021 * libgomp.h: Update.
18022
18023 * work.c (gomp_work_share_start): Lock the mutex for !first too.
18024 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
18025 GOMP_loop_guided_start, GOMP_loop_runtime_start,
18026 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
18027 GOMP_loop_ordered_guided_start): Update to match.
18028 * sections.c (GOMP_sections_start): Likewise.
18029 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
18030
18031 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
18032 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
18033 Use bounds check instead of modulus.
18034 (gomp_ordered_sync): Split out of GOMP_ordered_start.
18035 (gomp_ordered_last): Don't sync with ordered_owner here.
18036 (gomp_ordered_next): Likewise.
18037 (gomp_ordered_static_loop_next): Likewise.
18038 * loop.c, libgomp.h: Update to match.
18039
18040 * libgomp.h (GOMP_barrier): Declare.
18041
18042 * testsuite/barrier-1.c: New file.
18043 * testsuite/critical-1.c: New file.
18044 * testsuite/ordered-2.c: New file.
18045 * testsuite/ordered-1.c: New file.
18046 * testsuite/sections-1.c: New file.
18047 * testsuite/single-1.c: New file.
18048 * testsuite/Makefile (TESTS): Add them.
18049
180502005-05-04 Richard Henderson <rth@redhat.com>
18051
18052 * libgomp.h (struct gomp_work_share): Add ordered_owner.
18053 * loop.c (GOMP_loop_static_start): If not the startup thread,
18054 acquire the mutex to wait for initialization complete.
18055 (GOMP_loop_ordered_static_start): Likewise.
18056 (GOMP_loop_ordered_runtime_start): Likewise.
18057 (GOMP_loop_ordered_static_first): Remove.
18058 (GOMP_loop_ordered_dynamic_first): Remove.
18059 (GOMP_loop_ordered_guided_first): Remove.
18060 (GOMP_loop_ordered_runtime_first): Remove.
18061 * ordered.c (gomp_ordered_loop_first): Post to own release when
18062 we're the first thread.
18063 (gomp_ordered_loop_last): Wait on release if not owner.
18064 (gomp_ordered_loop_next): Likewise.
18065 (gomp_ordered_static_loop_init): New.
18066 (gomp_ordered_static_loop_next): Use ordered_owner.
18067 (GOMP_ordered_start): Likewise.
18068 * work.c (gomp_new_work_share): Initialize ordered_owner.
18069
180702005-05-03 Richard Henderson <rth@redhat.com>
18071
18072 * Makefile (OPT): New.
18073 (CFLAGS): Use it.
18074
18075 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
18076 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
18077 * libgomp.h, libgomp.map, NOTES: Update to match.
18078
18079 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
18080 Add initialized and thr members.
18081 (gomp_thread_start): Pause when initially spawned to wait for
18082 the whole team to be created.
18083 (gomp_team_start): Release team members at the end.
18084
18085 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
18086 (f_foo_1): Use GOMP_loop_end.
18087 (f_foo_2): Use GOMP_loop_end_nowait.
18088
18089 * testsuite/loop-2.c: New file.
18090 * testsuite/Makefile (TESTS): Add it.
18091
180922005-05-03 Richard Henderson <rth@redhat.com>
18093
18094 * iter.c (gomp_iter_static_next): Fix overflow check typo.
18095 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
18096 * team.c (new_team): Initialize oldest_live_gen to 1 if no
18097 initial work_share.
18098
18099 * testsuite/Makefile: New file.
18100 * testsuite/loop-1.c: New file.
18101
181022005-05-03 Richard Henderson <rth@redhat.com>
18103
18104 Initial implementation and checkin.
21fa2a29 18105\f
877e3c2a 18106Copyright (C) 2005-2022 Free Software Foundation, Inc.
21fa2a29
JJ
18107
18108Copying and distribution of this file, with or without modification,
18109are permitted in any medium without royalty provided the copyright
18110notice and this notice are preserved.