]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2022-10-12 Jakub Jelinek <jakub@redhat.com>
2
3 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
4 in deprecation bullet.
5
6 2022-10-12 Jakub Jelinek <jakub@redhat.com>
7
8 * omp.h.in (omp_in_explicit_task): Declare.
9 * omp_lib.h.in (omp_in_explicit_task): Likewise.
10 * omp_lib.f90.in (omp_in_explicit_task): New interface.
11 * libgomp.map (OMP_5.2): New symbol version, export
12 omp_in_explicit_task and omp_in_explicit_task_.
13 * task.c (omp_in_explicit_task): New function.
14 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
15 (omp_in_explicit_task_): New function.
16 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
17 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
18 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
19 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
20
21 2022-10-12 Jakub Jelinek <jakub@redhat.com>
22
23 * task.c (gomp_create_artificial_team): Fix up handling of invocations
24 from within explicit task.
25 * target.c (GOMP_target_ext): Likewise.
26 * testsuite/libgomp.c/task-7.c: New test.
27 * testsuite/libgomp.c/task-8.c: New test.
28 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
29 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
30
31 2022-10-12 Martin Liska <mliska@suse.cz>
32
33 * configure: Regenerate.
34
35 2022-10-11 Olivier Hainque <hainque@adacore.com>
36 Olivier Hainque <hainque@adacore.com>
37
38 * configure: Regenerate.
39
40 2022-10-05 Tobias Burnus <tobias@codesourcery.com>
41
42 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
43
44 2022-10-04 Jakub Jelinek <jakub@redhat.com>
45
46 * libgomp.texi (Support begin/end declare target syntax in C/C++):
47 Mark as implemented.
48
49 2022-09-30 Tobias Burnus <tobias@codesourcery.com>
50
51 PR fortran/105318
52 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
53
54 2022-09-28 Tobias Burnus <tobias@codesourcery.com>
55
56 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
57 for C/C++. Remove duplicated 'begin declare target' entry.
58
59 2022-09-24 Jakub Jelinek <jakub@redhat.com>
60
61 PR c/106981
62 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
63
64 2022-09-14 Julian Brown <julian@codesourcery.com>
65
66 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
67 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
68 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
69 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
70 test to here, make "run" test.
71
72 2022-09-13 Jakub Jelinek <jakub@redhat.com>
73
74 PR libgomp/106906
75 * env.c (get_icv_member_addr): Cast false to void * before assigning
76 it to icv_addr[1], and comment the whole assignment out.
77
78 2022-09-13 Tobias Burnus <tobias@codesourcery.com>
79
80 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
81 (nvptx): ... here.
82
83 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
84
85 * libgomp.texi (Offload-Target Specifics: nvptx): Document
86 that reverse offload requires >= -march=sm_35.
87 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
88 with -misa=sm_35.
89 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
90 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
91 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
92 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
93 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
94
95 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
96
97 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
98 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
99
100 2022-09-12 Jakub Jelinek <jakub@redhat.com>
101
102 PR libgomp/106894
103 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
104 (main): Avoid tests for which corresponding non-_ALL suffixed variable
105 is in the environment, or for OMP_NUM_TEAMS on the device
106 OMP_NUM_TEAMS_DEV_?.
107
108 2022-09-10 Iain Sandoe <iain@sandoe.co.uk>
109
110 * env.c (initialize_env): Include libiberty environ.h.
111
112 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
113
114 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
115 function address table '$offload_func_table' if rev_fn_table
116 is not NULL.
117
118 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
119
120 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
121 .offload_func_table to populate rev_fn_table when requested.
122
123 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
124
125 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
126 'uint64_t **rev_fn_table' argument.
127 * oacc-host.c (host_load_image): Likewise.
128 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
129 currently unused.
130 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
131 * target.c (gomp_load_image_to_device): Update call but pass
132 NULL for now.
133
134 2022-09-09 Jakub Jelinek <jakub@redhat.com>
135
136 PR libgomp/106894
137 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
138 char * for dest[1] initialization from params[1]. Formatting fixes.
139
140 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
141
142 PR fortran/106670
143 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
144
145 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
146
147 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
148 section; move OpenMP Context Selectors from ...
149 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
150 'nvptx' sections.
151
152 2022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
153
154 * config/gcn/icv-device.c (omp_get_default_device): Return device-
155 specific ICV.
156 (omp_get_max_teams): Added for GCN devices.
157 (omp_set_num_teams): Likewise.
158 (ialias): Likewise.
159 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
160 specific ICV.
161 (omp_get_max_teams): Added for NVPTX devices.
162 (omp_set_num_teams): Likewise.
163 (ialias): Likewise.
164 * env.c (struct gomp_icv_list): New struct to store entries of initial
165 ICV values.
166 (struct gomp_offload_icv_list): New struct to store entries of device-
167 specific ICV values that are copied to the device and back.
168 (struct gomp_default_icv_values): New struct to store default values of
169 ICVs according to the OpenMP standard.
170 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
171 (print_env_var_error): Function that prints an error for invalid values
172 for ICVs.
173 (parse_unsigned_long_1): Removed getenv. Generalized.
174 (parse_unsigned_long): Likewise.
175 (parse_int_1): Likewise.
176 (parse_int): Likewise.
177 (parse_int_secure): Likewise.
178 (parse_unsigned_long_list): Likewise.
179 (parse_target_offload): Likewise.
180 (parse_bind_var): Likewise.
181 (parse_stacksize): Likewise.
182 (parse_boolean): Likewise.
183 (parse_wait_policy): Likewise.
184 (parse_allocator): Likewise.
185 (omp_display_env): Extended to output different variants of environment
186 variables.
187 (print_schedule): New helper function for omp_display_env which prints
188 the values of run_sched_var.
189 (print_proc_bind): New helper function for omp_display_env which prints
190 the values of proc_bind_var.
191 (enum gomp_parse_type): Collection of types used for parsing environment
192 variables.
193 (ENTRY): Preprocess string lengths of environment variables.
194 (OMP_VAR_CNT): Preprocess table size.
195 (OMP_HOST_VAR_CNT): Likewise.
196 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
197 number.
198 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
199 (gomp_set_icv_flag): Sets a flag for a particular ICV.
200 (print_device_specific_icvs): New helper function for omp_display_env to
201 print device specific ICV values.
202 (get_device_num): New helper function for parse_device_specific.
203 Extracts the device number from an environment variable name.
204 (get_icv_member_addr): Gets the memory address for a particular member
205 of an ICV struct.
206 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
207 (initialize_icvs): New function to initialize a gomp_initial_icvs
208 struct.
209 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
210 (startswith): Checks if a string starts with a given prefix.
211 (initialize_env): Extended to parse the new syntax of environment
212 variables.
213 * icv-device.c (omp_get_max_teams): Added.
214 (ialias): Likewise.
215 (omp_set_num_teams): Likewise.
216 * icv.c (omp_set_num_teams): Moved to icv-device.c.
217 (omp_get_max_teams): Likewise.
218 (ialias): Likewise.
219 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
220 (GOMP_ADDITIONAL_ICVS): New target-side struct that
221 holds the designated ICVs of the target device.
222 * libgomp.h (enum gomp_icvs): Collection of ICVs.
223 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
224 no suffix.
225 (enum gomp_env_suffix): Collection of possible suffixes of environment
226 variables.
227 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
228 initial values.
229 (struct gomp_default_icv):New struct to hold ICVs for which we need
230 to store initial values.
231 (struct gomp_icv_list): Definition of a linked list that is used for
232 storing ICVs for the devices and also for _DEV, _ALL, and without
233 suffix.
234 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
235 a device.
236 (struct gomp_offload_icv_list): Definition of a linked list that holds
237 device-specific ICVs that are copied to devices.
238 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
239 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
240 * libgomp.texi: Updated.
241 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
242 further ICVs from the offload image.
243 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
244 * target.c (gomp_get_offload_icv_item): Get a list item of
245 gomp_offload_icv_list.
246 (get_gomp_offload_icvs): New. Returns the ICV values
247 depending on the device num and the variable hierarchy.
248 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
249 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
250 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
251 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
252 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
253 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
254 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
255
256 2022-09-08 Jakub Jelinek <jakub@redhat.com>
257
258 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
259 fully supported.
260 * testsuite/libgomp.c/doacross-4.c: New test.
261 * testsuite/libgomp.c/doacross-5.c: New test.
262 * testsuite/libgomp.c/doacross-6.c: New test.
263 * testsuite/libgomp.c/doacross-7.c: New test.
264
265 2022-09-05 Tobias Burnus <tobias@codesourcery.com>
266
267 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
268
269 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
270
271 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
272 refer to 'requires'.
273 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
274 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
275 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
276 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
277
278 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
279
280 PR middle-end/106548
281 * testsuite/libgomp.c/linear-2.c: New test.
282
283 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
284
285 * splay-tree.h: Fix splay_* macro unsetting if
286 splay_tree_prefix is defined.
287
288 2022-07-29 Tobias Burnus <tobias@codesourcery.com>
289
290 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
291
292 2022-07-29 Jakub Jelinek <jakub@redhat.com>
293
294 PR middle-end/106449
295 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
296
297 2022-07-12 Tobias Burnus <tobias@codesourcery.com>
298
299 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
300
301 2022-07-12 Thomas Schwinge <thomas@codesourcery.com>
302
303 PR middle-end/101551
304 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
305 'offloading_enabled' diagnostics issue.
306
307 2022-07-11 Thomas Schwinge <thomas@codesourcery.com>
308
309 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
310 '_Pragma' diagnostics verification.
311
312 2022-07-10 Lewis Hyatt <lhyatt@gmail.com>
313
314 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
315 improved warning locations.
316 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
317
318 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
319
320 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
321 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
322 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
323 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
324 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
325
326 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
327
328 * target.c (GOMP_offload_register, GOMP_offload_unregister):
329 Denote as legacy entry points.
330 * testsuite/lib/libgomp.exp
331 (check_effective_target_offload_target_any): New proc.
332 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
333 'offload_target_any'.
334 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
335 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
336 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
337
338 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
339
340 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
341 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
342
343 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
344
345 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
346
347 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
348
349 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
350 'data'.
351 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
352
353 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
354 Jakub Jelinek <jakub@redhat.com>
355
356 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
357
358 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
359 Chung-Lin Tang <cltang@codesourcery.com>
360 Thomas Schwinge <thomas@codesourcery.com>
361
362 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
363 omp_requires_mask arg.
364 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
365 return -1 when device available but omp_requires_mask != 0.
366 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
367 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
368 Update call.
369 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
370 goacc_attach_host_thread_to_device, acc_get_num_devices,
371 acc_set_device_num, get_property_any): Likewise.
372 * target.c (omp_requires_mask): New global var.
373 (gomp_requires_to_name): New.
374 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
375 (gomp_target_init): Handle omp_requires_mask.
376 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
377 (OpenMP 5.1): Add a missed item.
378 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
379 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
380 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
381 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
382 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
383 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
384 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
385 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
386 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
387 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
388 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
389 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
390 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
391 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
392 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
393 * testsuite/libgomp.fortran/requires-1.f90: New test.
394
395 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
396
397 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
398 with fromto as implemented.
399
400 2022-06-28 Martin Liska <mliska@suse.cz>
401
402 * acinclude.m4: Fix typo in mold linker detection.
403 * Makefile.in: Regenerate.
404 * configure: Regenerate.
405
406 2022-06-21 Jakub Jelinek <jakub@redhat.com>
407 Paul Iannetta <piannetta@kalrayinc.com>
408
409 PR libgomp/106045
410 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
411
412 2022-06-17 Martin Liska <mliska@suse.cz>
413
414 * libgomp.texi: Add table header for new features of
415 OpenMP 5.2.
416
417 2022-06-15 Jakub Jelinek <jakub@redhat.com>
418
419 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
420 q to ddress of an automatic variable. Use -5 instead of -1 in
421 omp_get_mapped_ptr call. Add test with omp_initial_device.
422 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
423 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
424 Renumber stop arguments afterwards.
425
426 2022-06-13 Jakub Jelinek <jakub@redhat.com>
427
428 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
429 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
430 parameters.
431 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
432 * target.c (resolve_device): Add remapped argument, handle
433 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
434 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
435 if remapped, otherwise treat omp_initial_device that way. For
436 omp_invalid_device, always emit gomp_fatal, even when
437 OMP_TARGET_OFFLOAD isn't mandatory.
438 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
439 GOMP_target_update, GOMP_target_update_ext,
440 GOMP_target_enter_exit_data): Pass true as remapped argument to
441 resolve_device.
442 (omp_target_alloc, omp_target_free, omp_target_is_present,
443 omp_target_memcpy_check, omp_target_associate_ptr,
444 omp_target_disassociate_ptr, omp_get_mapped_ptr,
445 omp_target_is_accessible): Pass false as remapped argument to
446 resolve_device. Treat omp_initial_device the same as
447 gomp_get_num_devices (). Don't bypass resolve_device calls if
448 device_num is negative.
449 (omp_pause_resource): Treat omp_initial_device the same as
450 gomp_get_num_devices (). Call resolve_device.
451 * icv-device.c (omp_set_default_device): Always set to device_num
452 even when it is negative.
453 * libgomp.texi: Document that Conforming device numbers,
454 omp_initial_device and omp_invalid_device is implemented.
455 * testsuite/libgomp.c/target-41.c (main): Add test with
456 omp_initial_device.
457 * testsuite/libgomp.c/target-45.c: New test.
458 * testsuite/libgomp.c/target-46.c: New test.
459 * testsuite/libgomp.c/target-47.c: New test.
460 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
461 test with omp_initial_device. Use -5 instead of -1 for negative value
462 test.
463 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
464 Likewise. Reorder stop numbers.
465
466 2022-06-10 Jakub Jelinek <jakub@redhat.com>
467
468 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
469 rather than "libmemkind.so".
470
471 2022-06-10 Thomas Schwinge <thomas@codesourcery.com>
472
473 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
474 * plugin/configfrag.ac (--with-cuda-driver)
475 (--with-cuda-driver-include, --with-cuda-driver-lib)
476 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
477 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
478 Remove.
479 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
480 (cuda_driver_lib): Remove.
481 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
482 * Makefile.in: Regenerate.
483 * configure: Likewise.
484 * testsuite/Makefile.in: Likewise.
485
486 2022-06-09 Jakub Jelinek <jakub@redhat.com>
487
488 * config/linux/allocator.c: Fix up #include directive.
489
490 2022-06-09 Jakub Jelinek <jakub@redhat.com>
491
492 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
493 (enum gomp_memkind_kind): New type.
494 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
495 is defined.
496 (struct gomp_memkind_data): New type.
497 (memkind_data, memkind_data_once): New variables.
498 (gomp_init_memkind, gomp_get_memkind): New functions.
499 (omp_init_allocator): Initialize data.memkind, don't fail for
500 omp_high_bw_mem_space if libmemkind supports it.
501 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
502 memkind support of LIBGOMP_USE_MEMKIND is defined.
503 * config/linux/allocator.c: New file.
504
505 2022-06-03 Tobias Burnus <tobias@codesourcery.com>
506
507 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
508 * testsuite/libgomp.fortran/scope-2.f90: New test.
509
510 2022-06-02 David Malcolm <dmalcolm@redhat.com>
511
512 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
513
514 2022-05-31 Jakub Jelinek <jakub@redhat.com>
515
516 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
517 scope construct with allocate clause.
518 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
519 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
520
521 2022-05-28 Tobias Burnus <tobias@codesourcery.com>
522
523 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
524 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
525 explicit 'to' and 'enter' clause.
526 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
527
528 2022-05-28 Jakub Jelinek <jakub@redhat.com>
529
530 PR libgomp/105745
531 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
532 defined(HAVE__ALIGNED_MALLOC) case.
533 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
534 handling as last option before fallback instead of first.
535 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
536 _aligned_free.
537
538 2022-05-27 Jakub Jelinek <jakub@redhat.com>
539
540 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
541 clauses to enter.
542 * testsuite/libgomp.c/target-41.c: Likewise.
543
544 2022-05-27 Tobias Burnus <tobias@codesourcery.com>
545
546 * libgomp.texi (Other new OpenMP 5.1 features): Add
547 'begin declare target'.
548 (Other new OpenMP 5.2 features): New.
549
550 2022-05-25 Jakub Jelinek <jakub@redhat.com>
551
552 * task.c (gomp_task_run_post_handle_dependers): If empty_task
553 is the last task taskwait depend depends on, wake it up.
554 Similarly if it is the last child of a taskgroup, use atomic
555 store instead of decrement and awak taskgroup wait if any.
556 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
557
558 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
559
560 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
561 EF_AMDGPU_MACH_AMDGCN_GFX90a.
562 (gcn_gfx90a_s): New.
563 (isa_hsa_name): Support gfx90a.
564 (isa_code): Likewise.
565
566 2022-05-24 Tobias Burnus <tobias@codesourcery.com>
567
568 PR c/105378
569 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
570 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
571
572 2022-05-24 Jakub Jelinek <jakub@redhat.com>
573
574 PR c/105378
575 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
576 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
577 * task.c (empty_task): New function.
578 (gomp_task_run_post_handle_depend_hash): Declare earlier.
579 (gomp_task_run_post_handle_depend): Declare.
580 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
581 for.
582 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
583 (GOMP_taskwait_depend_nowait): New function.
584 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
585
586 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
587
588 PR fortran/104949
589 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
590 Support attach for GOMP_MAP_FIRSTPRIVATE.
591 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
592 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
593 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
594
595 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
596
597 * libgomp.map: Added omp_target_memcpy_async and
598 omp_target_memcpy_rect_async.
599 * libgomp.texi: Both functions are now supported.
600 * omp.h.in: Added omp_target_memcpy_async and
601 omp_target_memcpy_rect_async.
602 * omp_lib.f90.in: Added interfaces for both new functions.
603 * omp_lib.h.in: Likewise.
604 * target.c (ialias_redirect): Added for GOMP_task.
605 (omp_target_memcpy): Restructured into check and copy part.
606 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
607 omp_target_memcpy_async that checks requirements.
608 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
609 omp_target_memcpy_async that performs the memcpy.
610 (omp_target_memcpy_async_helper): New helper function that is used in
611 omp_target_memcpy_async for the asynchronous task.
612 (omp_target_memcpy_async): Added.
613 (omp_target_memcpy_rect): Restructured into check and copy part.
614 (omp_target_memcpy_rect_check): New helper function for
615 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
616 requirements.
617 (omp_target_memcpy_rect_copy): New helper function for
618 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
619 the memcpy.
620 (omp_target_memcpy_rect_async_helper): New helper function that is used
621 in omp_target_memcpy_rect_async for the asynchronous task.
622 (omp_target_memcpy_rect_async): Added.
623 * task.c (ialias): Added for GOMP_task.
624 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
625 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
626 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
627 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
628 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
629 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
630 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
631 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
632
633 2022-05-18 Tobias Burnus <tobias@codesourcery.com>
634
635 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
636 (OpenMP Context Selectors): Add missing comma.
637 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
638 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
639 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
640 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
641
642 2022-05-17 Jakub Jelinek <jakub@redhat.com>
643
644 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
645 comment for omp_display_env feature.
646
647 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
648
649 * libgomp.texi (Offload-Target Specifics): New chapter; add section
650 to document OpenMP context selectors.
651
652 2022-05-17 Jakub Jelinek <jakub@redhat.com>
653
654 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
655 from bool to unsigned char.
656 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
657 Ignore dependencies where
658 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
659 rather than just task->depend[i].is_in && ent->is_in. Remember
660 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
661 conditional.
662 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
663 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
664 rather than just elem.is_in && ent->is_in.
665 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
666 inoutset depend-kind.
667 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
668 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
669 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
670
671 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
672
673 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
674
675 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
676
677 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
678 * testsuite/libgomp.fortran/depend-5.f90: New test.
679 * testsuite/libgomp.fortran/depend-6.f90: New test.
680 * testsuite/libgomp.fortran/depend-7.f90: New test.
681
682 2022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
683
684 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
685 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
686 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
687
688 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
689
690 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
691
692 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
693
694 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
695
696 2022-05-13 Thomas Schwinge <thomas@codesourcery.com>
697
698 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
699 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
700 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
701 append '$(PLUGIN_NVPTX_LDFLAGS)'.
702 * Makefile.in: Regenerate.
703
704 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
705
706 * Makefile.am (libgomp_la_LIBADD): Initialize.
707 * plugin/configfrag.ac (DL_LIBS): New.
708 (PLUGIN_GCN_LIBS): Remove.
709 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
710 * plugin/Makefrag.am (libgomp_la_LIBADD)
711 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
712 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
713 * Makefile.in: Regenerate.
714 * config.h.in: Likewise.
715 * configure: Likewise.
716 * testsuite/Makefile.in: Likewise.
717
718 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
719
720 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
721 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
722 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
723 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
724 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
725 'PLUGIN_NVPTX_LINK_LIBCUDA'.
726 * Makefile.in: Regenerate.
727 * config.h.in: Likewise.
728 * configure: Likewise.
729
730 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
731
732 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
733 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
734 * Makefile.in: Regenerate.
735 * config.h.in: Likewise.
736 * configure: Likewise.
737 * testsuite/Makefile.in: Likewise.
738
739 2022-05-12 Jakub Jelinek <jakub@redhat.com>
740
741 * libgomp.h (struct gomp_task): Add depend_all_memory member.
742 * task.c (gomp_init_task): Initialize depend_all_memory.
743 (gomp_task_handle_depend): Handle omp_all_memory.
744 (gomp_task_run_post_handle_depend_hash): Clear
745 parent->depend_all_memory if equal to current task.
746 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
747 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
748 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
749 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
750
751 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
752
753 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
754 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
755 * Makefile.in: Regenerate.
756 * configure: Likewise.
757 * testsuite/Makefile.in: Likewise.
758
759 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
760
761 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
762 consider 'PLUGIN_GCN_CPPFLAGS'.
763 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
764 'PLUGIN_GCN_LDFLAGS'.
765 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
766 Remove.
767 * Makefile.in: Regenerate.
768 * configure: Likewise.
769 * testsuite/Makefile.in: Likewise.
770
771 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
772
773 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
774 (HSA_RUNTIME_LDFLAGS): Remove.
775 * configure: Regenerate.
776
777 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
778
779 * testsuite/lib/libgomp.exp (libgomp_init): Don't
780 'append always_ld_library_path ":$hsa_runtime_lib"'.
781 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
782
783 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
784
785 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
786 multi-device testing.
787
788 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
789
790 * libgomp.map: Added omp_target_is_accessible.
791 * libgomp.texi: Tagged omp_target_is_accessible as supported.
792 * omp.h.in: Added omp_target_is_accessible.
793 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
794 * omp_lib.h.in: Likewise.
795 * target.c (omp_target_is_accessible): Added implementation of
796 omp_target_is_accessible.
797 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
798 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
799
800 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
801
802 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
803
804 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
805
806 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
807
808 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
809
810 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
811
812 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
813
814 * libgomp.map: Added omp_get_mapped_ptr.
815 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
816 * omp.h.in: Added omp_get_mapped_ptr.
817 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
818 * omp_lib.h.in: Likewise.
819 * target.c (omp_get_mapped_ptr): Added implementation of
820 omp_get_mapped_ptr.
821 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
822 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
823 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
824 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
825 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
826 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
827 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
828 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
829
830 2022-04-28 Thomas Schwinge <thomas@codesourcery.com>
831
832 PR fortran/104717
833 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
834 privatization scanning. For GCN offloading compilation, raise
835 '-mgang-private-size'.
836
837 2022-04-26 Jakub Jelinek <jakub@redhat.com>
838
839 PR libgomp/105358
840 * work.c (gomp_init_work_share): Don't mask of adjustment for
841 dynamic long long realignment if struct gomp_work_share has smaller
842 alignof than long long.
843 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
844 struct gomp_work_share has smaller alignof than long long or if
845 sizeof (struct gomp_work_share) is smaller than
846 INLINE_ORDERED_TEAM_IDS_OFF.
847 * loop_ull.c (GOMP_loop_ull_start): Likewise.
848 * sections.c (GOMP_sections2_start): Likewise.
849
850 2022-04-25 Jakub Jelinek <jakub@redhat.com>
851 Thomas Schwinge <thomas@codesourcery.com>
852
853 PR fortran/104717
854 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
855
856 2022-04-13 Jakub Jelinek <jakub@redhat.com>
857
858 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
859
860 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
861
862 * plugin/cuda/cuda.h: Remove file.
863 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
864 "cuda/cuda.h" instead of <cuda.h>.
865 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
866 'PLUGIN_NVPTX_CPPFLAGS'.
867 * configure: Regenerate.
868
869 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
870
871 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
872
873 2022-04-04 Tom de Vries <tdevries@suse.de>
874
875 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
876 on_device_arch_nvptx instead of offload_target_nvptx.
877 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
878
879 2022-04-01 Tom de Vries <tdevries@suse.de>
880
881 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
882 and use REC_DEPTH.
883 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
884
885 2022-04-01 Tom de Vries <tdevries@suse.de>
886
887 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
888 num_workers check.
889
890 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
891 Lulu Cheng <chenglulu@loongson.cn>
892
893 * configure.tgt: Add LoongArch triplet.
894
895 2022-03-28 Tom de Vries <tdevries@suse.de>
896
897 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
898 instead of /libexec/.
899 * configure: Regenerate.
900
901 2022-03-25 Tom de Vries <tdevries@suse.de>
902
903 PR libgomp/105042
904 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
905 execution time.
906 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
907 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
908
909 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
910
911 PR middle-end/104285
912 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
913 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
914 * testsuite/libgomp.c++/target-same-name-2.C: New test.
915 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
916 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
917 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
918
919 2022-03-22 Tom de Vries <tdevries@suse.de>
920
921 PR target/104916
922 PR target/104783
923 * testsuite/libgomp.c/pr104783-2.c: New test.
924
925 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
926
927 PR fortran/103039
928 * testsuite/libgomp.fortran/associate4.f90: New test.
929
930 2022-03-18 Tom de Vries <tdevries@suse.de>
931
932 PR target/104952
933 * testsuite/libgomp.c/pr104952-1.c: New test.
934 * testsuite/libgomp.c/pr104952-2.c: New test.
935
936 2022-03-18 Jakub Jelinek <jakub@redhat.com>
937
938 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
939 variable next to pl variable.
940
941 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
942
943 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
944 Enhance.
945 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
946 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
947
948 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
949
950 PR middle-end/90115
951 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
952 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
953
954 2022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
955
956 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
957 omp_set_max_active_levels.
958 * testsuite/libgomp.fortran/icv-8.f90: New test.
959
960 2022-03-16 Thomas Schwinge <thomas@codesourcery.com>
961
962 PR testsuite/102841
963 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
964
965 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
966
967 * libgomp.texi: Fix typo.
968
969 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
970
971 PR middle-end/100280
972 PR middle-end/104892
973 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
974 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
975 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
976 Likewise.
977 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
978 Likewise.
979 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
980 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
981 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
982 Likewise.
983
984 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
985
986 PR middle-end/104892
987 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
988 to PR104892.
989 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
990 enable '--param=openacc-kernels=decompose' and adjust.
991 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
992 Likewise.
993 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
994 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
995 Likewise.
996
997 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
998
999 PR middle-end/90115
1000 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
1001 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
1002 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1003 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
1004
1005 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
1006
1007 PR middle-end/100280
1008 PR middle-end/104086
1009 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1010 Merge this...
1011 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1012 ..., and this...
1013 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
1014 this, and adjust.
1015 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1016 Extend.
1017
1018 2022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
1019
1020 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
1021 trait. Test last index in w and v array. Remove redundant
1022 assignment to V(1). Move alignment checks at the end of
1023 parallel region.
1024
1025 2022-03-10 Tom de Vries <tdevries@suse.de>
1026
1027 * testsuite/libgomp.c/pr104783.c: New test.
1028
1029 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
1030
1031 PR middle-end/90115
1032 PR middle-end/102330
1033 PR middle-end/104774
1034 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1035 Enhance.
1036 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1037 Adjust.
1038 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1039 Likewise.
1040 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1041 Likewise.
1042 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1043 Likewise.
1044 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1045 Likewise.
1046 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1047 Likewise.
1048 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1049 Likewise.
1050 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1051 Likewise.
1052 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1053 Likewise.
1054 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1055 Likewise.
1056 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1057 Likewise.
1058 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1059 Likewise.
1060 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1061 Likewise.
1062 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1063 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1064 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1065
1066 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
1067
1068 PR middle-end/90115
1069 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
1070 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
1071 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
1072 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
1073
1074 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1075
1076 PR testsuite/104791
1077 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
1078 expected diagnostics.
1079
1080 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1081
1082 PR middle-end/104784
1083 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1084 Test with '--param=openacc-kernels=decompose'.
1085 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1086 Likewise.
1087 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1088 Likewise.
1089 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1090 Likewise.
1091 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1092 Likewise.
1093 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1094 Likewise.
1095 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1096 Likewise.
1097 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1098 Likewise.
1099 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1100 Likewise.
1101 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1102 Likewise.
1103 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1104 Likewise.
1105 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1106 Likewise.
1107 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1108 Likewise.
1109 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1110 Likewise.
1111 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1112 Likewise.
1113 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1114 Likewise.
1115 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1116 Likewise.
1117 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1118 Likewise.
1119 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1120 Likewise.
1121 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1122 Likewise.
1123 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1124 Likewise.
1125 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1126 Likewise.
1127 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1128 Likewise.
1129 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1130 Likewise.
1131 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1132 Likewise.
1133 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1134 Likewise.
1135 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1136 Likewise.
1137 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1138 Likewise.
1139 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1140 Likewise.
1141 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1142 Likewise.
1143 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1144 Likewise.
1145 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1146 Likewise.
1147 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1148 Likewise.
1149
1150 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1151
1152 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1153 Test '-fopt-info-omp-all'.
1154 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1155 Likewise.
1156 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1157 Likewise.
1158 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1159 Likewise.
1160 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1161 Likewise.
1162 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1163 Likewise.
1164 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1165 Likewise.
1166 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1167 Likewise.
1168 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1169 Likewise.
1170 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1171 Likewise.
1172 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1173 Likewise.
1174 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1175 Likewise.
1176 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1177 Likewise.
1178 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1179 Likewise.
1180 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1181 Likewise.
1182 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1183 Likewise.
1184 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1185 Likewise.
1186 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1187 Likewise.
1188 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1189 Likewise.
1190 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1191 Likewise.
1192 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1193 Likewise.
1194 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1195 Likewise.
1196 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1197 Likewise.
1198 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1199 Likewise.
1200 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1201 Likewise.
1202 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1203 Likewise.
1204 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1205 Likewise.
1206 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1207 Likewise.
1208 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1209 Likewise.
1210 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1211 Likewise.
1212 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1213 Likewise.
1214 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1215 Likewise.
1216 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1217 Likewise.
1218
1219 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1220
1221 PR middle-end/100280
1222 PR middle-end/104132
1223 PR middle-end/104133
1224 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1225 Extend.
1226
1227 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1228
1229 PR middle-end/100280
1230 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
1231 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1232 Likewise.
1233
1234 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1235
1236 PR middle-end/100280
1237 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
1238 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1239 Likewise.
1240
1241 2022-02-28 Tom de Vries <tdevries@suse.de>
1242
1243 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
1244 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
1245 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
1246 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
1247 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
1248 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
1249
1250 2022-02-24 Tom de Vries <tdevries@suse.de>
1251
1252 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
1253 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
1254 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
1255 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
1256 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
1257 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
1258 * testsuite/libgomp.c/declare-variant-3.h: New header file.
1259
1260 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
1261
1262 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
1263 gang-redundant execution.
1264
1265 2022-02-22 Tom de Vries <tdevries@suse.de>
1266
1267 PR target/99555
1268 * config/nvptx/bar.c (generation_to_barrier): New function, copied
1269 from config/rtems/bar.c.
1270 (futex_wait, futex_wake): New function.
1271 (do_spin, do_wait): New function, copied from config/linux/wait.h.
1272 (gomp_barrier_wait_end, gomp_barrier_wait_last)
1273 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
1274 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
1275 and replace with include of config/linux/bar.c.
1276 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
1277 (gomp_barrier_init): Init new fields.
1278 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
1279 workarounds.
1280 * testsuite/libgomp.c/pr99555-1.c: Same.
1281 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
1282
1283 2022-02-22 Tom de Vries <tdevries@suse.de>
1284
1285 PR testsuite/104146
1286 * testsuite/libgomp.c++/pr96390.C: Add additional-option
1287 -foffload=-Wa,--verify for nvptx.
1288 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
1289
1290 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
1291
1292 * testsuite/libgomp.fortran/depend-4.f90: New test.
1293
1294 2022-02-10 Tobias Burnus <tobias@codesourcery.com>
1295
1296 PR c++/102204
1297 * testsuite/libgomp.c++/target-virtual-1.C: New test.
1298
1299 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
1300
1301 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
1302 * target.c (copy_firstprivate_data): Copy only if host address is not
1303 NULL.
1304 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
1305 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
1306 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
1307 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
1308 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
1309 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
1310 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
1311 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
1312 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
1313 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
1314
1315 2022-02-08 Jakub Jelinek <jakub@redhat.com>
1316
1317 PR libgomp/104385
1318 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
1319 clear task->parent.
1320 * testsuite/libgomp.c/pr104385.c: New test.
1321
1322 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
1323
1324 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
1325 STOP of previous commit.
1326
1327 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
1328
1329 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
1330 from is_64bit_aligned_.
1331 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
1332 and use it, more implicit none, remove unused argument.
1333
1334 2022-02-03 David Seifert <soap@gentoo.org>
1335 Jakub Jelinek <jakub@redhat.com>
1336
1337 * configure.ac: Support --disable-werror.
1338 * configure: Regenerate.
1339
1340 2022-02-01 Tom de Vries <tdevries@suse.de>
1341
1342 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
1343 PR83812 workaround.
1344 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
1345 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
1346
1347 2022-02-01 Tom de Vries <tdevries@suse.de>
1348
1349 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
1350 num_workers for nvidia accelerator to fix libgomp error 'insufficient
1351 resources'.
1352 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1353 Same.
1354 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
1355
1356 2022-02-01 Tom de Vries <tdevries@suse.de>
1357
1358 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
1359 recursion depth.
1360 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
1361
1362 2022-01-31 Martin Liska <mliska@suse.cz>
1363
1364 * acinclude.m4: Detect *_ld_is_mold and use it.
1365 * configure: Regenerate.
1366
1367 2022-01-27 Tobias Burnus <tobias@codesourcery.com>
1368
1369 * libgomp.texi (OpenMP 5.0): Update implementation status.
1370
1371 2022-01-21 Thomas Schwinge <thomas@codesourcery.com>
1372
1373 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
1374 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
1375 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1376 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1377 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1378 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1379 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1380 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1381 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1382 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1383 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1384 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1385 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
1386 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1387 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1388
1389 2022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
1390
1391 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
1392 "static") to make the device num available in the offload image.
1393
1394 2022-01-19 Martin Liska <mliska@suse.cz>
1395 Thomas Schwinge <thomas@codesourcery.com>
1396
1397 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
1398 patterns.
1399 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
1400 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1401 Likewise.
1402 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
1403 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1404 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1405 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
1406 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1407 Likewise.
1408 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
1409 Likewise.
1410 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
1411 Likewise.
1412 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
1413 Likewise.
1414 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
1415 Likewise.
1416 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
1417 Likewise.
1418 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
1419 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1420 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1421
1422 2022-01-18 Martin Liska <mliska@suse.cz>
1423
1424 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
1425 in dg-warning.
1426 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
1427 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1428 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
1429 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1430 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1431 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
1432 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
1433 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
1434 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
1435 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
1436 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
1437 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
1438 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
1439 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1440 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1441
1442 2022-01-17 Thomas Schwinge <thomas@codesourcery.com>
1443
1444 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
1445 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
1446 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
1447
1448 2022-01-17 Julian Brown <julian@codesourcery.com>
1449 Thomas Schwinge <thomas@codesourcery.com>
1450
1451 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
1452 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
1453 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
1454
1455 2022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1456 Andrew Stubbs <ams@codesourcery.com>
1457
1458 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
1459 the number of teams and threads if necessary.
1460 (gcn_exec): Automatically set the number of gangs and workers if
1461 necessary.
1462
1463 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
1464
1465 * testsuite/libgomp.fortran/allocate-1.c: New test.
1466 * testsuite/libgomp.fortran/allocate-1.f90: New test.
1467 * libgomp.texi: Remove string that says that allocate clause
1468 support is for C/C++ only.
1469
1470 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1471
1472 * testsuite/libgomp.c-c++-common/on_device_arch.h
1473 (any_device_arch, any_device_arch_intel_mic): New.
1474 * testsuite/lib/libgomp.exp
1475 (check_effective_target_offload_device_any_intel_mic): New.
1476 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
1477 * testsuite/libgomp.fortran/target10.f90: Likewise.
1478
1479 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1480
1481 PR tree-optimization/102192
1482 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
1483 '-Wuninitialized' diagnostics.
1484
1485 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1486
1487 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
1488 current '-Wuninitialized' diagnostics.
1489 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
1490 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
1491 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
1492 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
1493 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1494 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
1495 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
1496 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1497 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1498 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1499 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
1500 Likewise.
1501
1502 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1503
1504 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
1505 for 'offload_device_intel_mic'.
1506
1507 2022-01-13 Julian Brown <julian@codesourcery.com>
1508 Thomas Schwinge <thomas@codesourcery.com>
1509
1510 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
1511 offloading execution XFAIL.
1512
1513 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1514
1515 PR middle-end/100280
1516 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1517 Update.
1518 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
1519 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1520 Likewise.
1521
1522 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1523
1524 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1525 Enhance.
1526 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1527 Likewise.
1528 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
1529 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
1530 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
1531 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
1532 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1533 Likewise.
1534 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1535 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1536 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1537 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1538
1539 2022-01-04 Tobias Burnus <tobias@codesourcery.com>
1540
1541 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
1542 * testsuite/libgomp.fortran/target10.f90: Likewise.
1543
1544 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
1545
1546 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
1547 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
1548 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
1549
1550 2022-01-03 Jakub Jelinek <jakub@redhat.com>
1551
1552 * libgomp.texi: Bump @copying's copyright year.
1553
1554 2021-12-13 Tobias Burnus <tobias@codesourcery.com>
1555
1556 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
1557 * testsuite/libgomp.fortran/atomic-19.f90: New test.
1558
1559 2021-12-10 Andrew Stubbs <ams@codesourcery.com>
1560
1561 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
1562 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
1563 table, not individual symbols.
1564
1565 2021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
1566
1567 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
1568 "target offload_device_nonshared_as"
1569 * testsuite/libgomp.c++/target-this-3.C: Likewise.
1570 * testsuite/libgomp.c++/target-this-4.C: Likewise.
1571
1572 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
1573
1574 * target.c (gomp_map_vars_existing): Make sure attached pointer is
1575 not overwritten during cross-host/device copying.
1576 (gomp_update): Likewise.
1577 (gomp_exit_data): Likewise.
1578 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
1579 * testsuite/libgomp.c++/target-12.C: Likewise.
1580 * testsuite/libgomp.c++/target-15.C: Likewise.
1581 * testsuite/libgomp.c++/target-16.C: Likewise.
1582 * testsuite/libgomp.c++/target-17.C: Likewise.
1583 * testsuite/libgomp.c++/target-21.C: Likewise.
1584 * testsuite/libgomp.c++/target-23.C: Likewise.
1585 * testsuite/libgomp.c/target-23.c: Likewise.
1586 * testsuite/libgomp.c/target-29.c: Likewise.
1587 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
1588
1589 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
1590
1591 PR middle-end/92120
1592 * libgomp.h (gomp_attach_pointer): Add bool parameter.
1593 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
1594 (goacc_enter_data_internal): Likewise.
1595 * target.c (gomp_map_vars_existing): Update assert condition to
1596 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
1597 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
1598 parameter, add support for mapping a pointer with NULL target.
1599 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
1600 parameter, add support for attaching a pointer with NULL target.
1601 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
1602 gomp_attach_pointer, add handling for
1603 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
1604 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
1605 * testsuite/libgomp.c++/target-23.C: New testcase.
1606 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
1607 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
1608 * testsuite/libgomp.c++/target-this-1.C: New testcase.
1609 * testsuite/libgomp.c++/target-this-2.C: New testcase.
1610 * testsuite/libgomp.c++/target-this-3.C: New testcase.
1611 * testsuite/libgomp.c++/target-this-4.C: New testcase.
1612 * testsuite/libgomp.c++/target-this-5.C: New testcase.
1613
1614 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
1615
1616 * libgomp.texi (OpenMP 5.1): Update status.
1617
1618 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
1619
1620 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
1621
1622 2021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
1623
1624 PR fortran/90030
1625 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
1626 * testsuite/libgomp.fortran/pr90030.f90: New test.
1627
1628 2021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1629 Thomas Schwinge <thomas@codesourcery.com>
1630
1631 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
1632 temporary skip.
1633
1634 2021-11-30 Cesar Philippidis <cesar@codesourcery.com>
1635 Thomas Schwinge <thomas@codesourcery.com>
1636
1637 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
1638 skip.
1639
1640 2021-11-29 Richard Biener <rguenther@suse.de>
1641
1642 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
1643 return.
1644
1645 2021-11-24 Jakub Jelinek <jakub@redhat.com>
1646
1647 PR middle-end/103384
1648 * testsuite/libgomp.c/declare-variant-2.c: New test.
1649
1650 2021-11-18 David Edelsohn <dje.gcc@gmail.com>
1651
1652 * alloc.c (gomp_aligned_alloc): Fix typo.
1653
1654 2021-11-18 Jakub Jelinek <jakub@redhat.com>
1655
1656 PR libgomp/102838
1657 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
1658 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
1659 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
1660 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1661 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
1662 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
1663 gomp_aligned_alloc instead of team_malloc.
1664
1665 2021-11-18 Jakub Jelinek <jakub@redhat.com>
1666
1667 PR libgomp/102838
1668 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
1669 memalign over posix_memalign over aligned_alloc over fallback
1670 with malloc instead of aligned_alloc over _aligned_alloc over
1671 posix_memalign over memalign over fallback with malloc. For
1672 aligned_alloc, round up size up to multiple of al.
1673
1674 2021-11-16 Jakub Jelinek <jakub@redhat.com>
1675
1676 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
1677 construct as implemented.
1678
1679 2021-11-15 Tobias Burnus <tobias@codesourcery.com>
1680
1681 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1682
1683 2021-11-15 Jakub Jelinek <jakub@redhat.com>
1684
1685 * task.c (gomp_create_target_task): Copy args array as well.
1686 * target.c (gomp_target_fallback): Add args argument.
1687 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
1688 (GOMP_target): Adjust gomp_target_fallback caller.
1689 (GOMP_target_ext): Likewise.
1690 (gomp_target_task_fn): Likewise.
1691 * config/nvptx/team.c (gomp_nvptx_main): Set
1692 gomp_global_icv.thread_limit_var.
1693 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
1694
1695 2021-11-15 Jakub Jelinek <jakub@redhat.com>
1696
1697 * config/nvptx/team.c (__gomp_team_num): Define as
1698 __attribute__((shared)) var.
1699 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
1700 * config/nvptx/target.c (__gomp_team_num): Declare as
1701 extern __attribute__((shared)) var.
1702 (GOMP_teams4): Use __gomp_team_num as the team number instead of
1703 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
1704 is bigger than num_blocks, use num_teams_lower teams and arrange for
1705 bumping of __gomp_team_num if !first and returning false once we run
1706 out of teams.
1707 * config/nvptx/teams.c (__gomp_team_num): Declare as
1708 extern __attribute__((shared)) var.
1709 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
1710
1711 2021-11-15 Jakub Jelinek <jakub@redhat.com>
1712
1713 * testsuite/libgomp.c/teams-5.c: New test.
1714
1715 2021-11-12 Jakub Jelinek <jakub@redhat.com>
1716
1717 PR target/103201
1718 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1719 to ...
1720 * config/gcn/teams.c: ... here. New file.
1721
1722 2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
1723
1724 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
1725 implicit map handling to allow a "superset" existing map as valid case.
1726 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
1727 (get_implicit): New function to extract implicit status.
1728 (gomp_map_fields_existing): Adjust arguments in calls to
1729 gomp_map_vars_existing, and add uses of get_implicit.
1730 (gomp_map_vars_internal): Likewise.
1731 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
1732
1733 2021-11-12 Jakub Jelinek <jakub@redhat.com>
1734
1735 * libgomp_g.h (GOMP_teams4): Declare.
1736 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
1737 * target.c (GOMP_teams4): New function.
1738 * config/nvptx/target.c (GOMP_teams): Remove.
1739 (GOMP_teams4): New function.
1740 * config/gcn/target.c (GOMP_teams): Remove.
1741 (GOMP_teams4): New function.
1742 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
1743 teams instead of <= 2.
1744 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
1745
1746 2021-11-11 Tobias Burnus <tobias@codesourcery.com>
1747
1748 * testsuite/libgomp.fortran/teams-1.f90: New test.
1749
1750 2021-11-11 Jakub Jelinek <jakub@redhat.com>
1751
1752 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
1753 * team.c (struct gomp_thread_start_data): Likewise.
1754 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
1755 (gomp_team_start): Initialize start_data->num_teams and
1756 start_data->team_num. Update nthr->num_teams and nthr->team_num.
1757 * teams.c (gomp_num_teams, gomp_team_num): Remove.
1758 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
1759 instead of gomp_num_teams and gomp_team_num.
1760 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
1761 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
1762 * testsuite/libgomp.c/teams-4.c: New test.
1763
1764 2021-11-11 Jakub Jelinek <jakub@redhat.com>
1765
1766 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
1767
1768 2021-11-09 Thomas Schwinge <thomas@codesourcery.com>
1769
1770 * env.c (parse_gomp_openacc_dim): Restore parsing.
1771
1772 2021-10-30 Tobias Burnus <tobias@codesourcery.com>
1773
1774 PR middle-end/102972
1775 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
1776 parallel construct.
1777 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
1778 * testsuite/libgomp.c/target-3.c: Likewise.
1779 * testsuite/libgomp.c/target-5.c: Likewise.
1780 * testsuite/libgomp.c/target-6.c: Likewise.
1781 * testsuite/libgomp.c/target-teams-1.c: Likewise.
1782 * testsuite/libgomp.c/teams-1.c: Likewise.
1783 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1784 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
1785 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1786 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
1787 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
1788 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
1789 * testsuite/libgomp.fortran/teams1.f90: Likewise.
1790
1791 2021-10-29 Aldy Hernandez <aldyh@redhat.com>
1792
1793 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1794 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1795
1796 2021-10-27 Jakub Jelinek <jakub@redhat.com>
1797
1798 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1799 aren't implemented for Fortran yet.
1800
1801 2021-10-27 Jakub Jelinek <jakub@redhat.com>
1802
1803 * testsuite/libgomp.c/loop-26.c: New test.
1804 * testsuite/libgomp.c/loop-27.c: New test.
1805
1806 2021-10-25 Tobias Burnus <tobias@codesourcery.com>
1807
1808 PR testsuite/102910
1809 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1810 instead of #include <alloca.h> + alloca.
1811
1812 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
1813
1814 * libgomp.texi (Support of strictly structured blocks in Fortran):
1815 Adjust to 'Y'.
1816 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1817
1818 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
1819
1820 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1821 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1822
1823 2021-10-20 Jakub Jelinek <jakub@redhat.com>
1824
1825 PR libgomp/102838
1826 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1827 (struct gomp_work_share): Only use aligned(64) attribute if
1828 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1829 add padding before lock to ensure lock is at offset 64 bytes
1830 into the structure.
1831 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1832 New poor man's static assertions.
1833 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1834 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1835
1836 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
1837 Richard Biener <rguenther@suse.de>
1838
1839 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1840
1841 2021-10-18 Jakub Jelinek <jakub@redhat.com>
1842
1843 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1844 && gomp_places_list_len < count after nfirst <= nlast loop condition.
1845
1846 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
1847
1848 PR fortran/102086
1849 PR fortran/92189
1850 PR fortran/92621
1851 PR fortran/101308
1852 PR fortran/101309
1853 PR fortran/101635
1854 PR fortran/92482
1855 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1856
1857 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1858
1859 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1860 type from char [50] to const char *.
1861 (places_array): Add a testcase for simplified syntax place followed
1862 by length or length and stride.
1863
1864 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1865
1866 * env.c (parse_one_place): Handle non-negative-number the same
1867 as { non-negative-number }. Reject even !number:1 and
1868 !number:1:stride or !place:1 or !place:1:stride instead of just
1869 length other than 1.
1870 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1871 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1872 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1873 as implemented.
1874 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1875 simplified syntax.
1876
1877 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1878
1879 * env.c (parse_schedule): For strtoul or strtoull calls which don't
1880 clearly reject return value 0 as invalid handle the case where end
1881 pointer is the same as first argument as invalid.
1882 (parse_unsigned_long_1): Likewise.
1883 (parse_one_place): Likewise.
1884 (parse_places_var): Likewise.
1885 (parse_stacksize): Likewise.
1886 (parse_spincount): Likewise.
1887 (parse_affinity): Likewise.
1888 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
1889 Make code valid C89.
1890 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1891 For strtoul calls which don't clearly reject return value 0 as
1892 invalid handle the case where end pointer is the same as first
1893 argument as invalid.
1894 (gomp_affinity_init_level_1): Likewise.
1895 (gomp_affinity_init_numa_domains): Likewise.
1896 * config/rtems/proc.c (parse_thread_pools): Likewise.
1897
1898 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1899
1900 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1901 after creating count places clean up and return immediately.
1902 * testsuite/libgomp.c/places-6.c: New test.
1903 * testsuite/libgomp.c/places-7.c: New test.
1904 * testsuite/libgomp.c/places-8.c: New test.
1905 * testsuite/libgomp.c/places-9.c: New test.
1906 * testsuite/libgomp.c/places-10.c: New test.
1907
1908 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1909
1910 * env.c (parse_places_var): Handle numa_domains as level 5.
1911 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1912 function.
1913 (gomp_affinity_init_level): Use it instead of
1914 gomp_affinity_init_level_1 for level == 5.
1915 * testsuite/libgomp.c/places-5.c: New test.
1916
1917 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1918
1919 * env.c (parse_places_var): Handle ll_caches as level 4.
1920 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1921 function.
1922 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
1923 last level cache.
1924 (gomp_affinity_init_level): Likewise.
1925 * testsuite/libgomp.c/places-1.c: New test.
1926 * testsuite/libgomp.c/places-2.c: New test.
1927 * testsuite/libgomp.c/places-3.c: New test.
1928 * testsuite/libgomp.c/places-4.c: New test.
1929
1930 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1931
1932 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
1933 directive.
1934
1935 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1936
1937 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1938
1939 2021-10-12 Julian Brown <julian@codesourcery.com>
1940
1941 * target.c (gomp_copy_host2dev): Release device lock on cbuf
1942 error path.
1943
1944 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
1945
1946 * testsuite/libgomp.fortran/icv-3.f90: New.
1947 * testsuite/libgomp.fortran/icv-4.f90: New.
1948
1949 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1950
1951 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
1952 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
1953 OMP_TEAMS_THREAD_LIMIT): Document.
1954
1955 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1956
1957 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1958 to avoid makeinfo warnings.
1959
1960 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1961
1962 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
1963 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
1964
1965 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1966
1967 PR libgomp/102628
1968 PR libgomp/102668
1969 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
1970 allocation sizes from 420 to 320 and from 768 to 568.
1971 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1972 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
1973 for cr from 16 to 4.
1974
1975 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1976
1977 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
1978 * testsuite/libgomp.c/scan-12.c: Likewise.
1979 * testsuite/libgomp.c/scan-13.c: Likewise.
1980 * testsuite/libgomp.c/scan-14.c: Likewise.
1981 * testsuite/libgomp.c/scan-15.c: Likewise.
1982 * testsuite/libgomp.c/scan-16.c: Likewise.
1983 * testsuite/libgomp.c/scan-17.c: Likewise.
1984 * testsuite/libgomp.c/scan-18.c: Likewise.
1985 * testsuite/libgomp.c/scan-19.c: Likewise.
1986 * testsuite/libgomp.c/scan-20.c: Likewise.
1987 * testsuite/libgomp.c/scan-21.c: Likewise.
1988 * testsuite/libgomp.c/scan-22.c: Likewise.
1989 * testsuite/libgomp.c++/scan-9.C: Likewise.
1990 * testsuite/libgomp.c++/scan-10.C: Likewise.
1991 * testsuite/libgomp.c++/scan-11.C: Likewise.
1992 * testsuite/libgomp.c++/scan-12.C: Likewise.
1993 * testsuite/libgomp.c++/scan-13.C: Likewise.
1994 * testsuite/libgomp.c++/scan-14.C: Likewise.
1995 * testsuite/libgomp.c++/scan-15.C: Likewise.
1996 * testsuite/libgomp.c++/scan-16.C: Likewise.
1997
1998 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
1999
2000 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
2001
2002 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
2003
2004 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
2005 omp_atv_serialized.
2006 * omp.h.in: Add deprecated flag for omp_atv_sequential.
2007 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
2008 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
2009 * testsuite/libgomp.fortran/alloc-12.f90: New test.
2010
2011 2021-10-11 Jakub Jelinek <jakub@redhat.com>
2012
2013 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
2014 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
2015 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
2016 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
2017 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
2018 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
2019 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
2020 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
2021 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
2022 omp_set_teams_thread_limit{,_,_8_}.
2023 * icv.c (omp_set_num_teams, omp_get_max_teams,
2024 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
2025 functions.
2026 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
2027 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
2028 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
2029 vars.
2030 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
2031 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
2032 is not specified, use gomp_nteams_var.
2033 * fortran.c (omp_set_num_teams, omp_get_max_teams,
2034 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
2035 ialias_redirect.
2036 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
2037 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
2038 omp_get_teams_thread_limit_): New functions.
2039
2040 2021-10-09 liuhongt <hongtao.liu@intel.com>
2041
2042 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
2043 * testsuite/libgomp.c++/scan-11.C: Ditto.
2044 * testsuite/libgomp.c++/scan-12.C: Ditto.
2045 * testsuite/libgomp.c++/scan-13.C: Ditto.
2046 * testsuite/libgomp.c++/scan-14.C: Ditto.
2047 * testsuite/libgomp.c++/scan-15.C: Ditto.
2048 * testsuite/libgomp.c++/scan-16.C: Ditto.
2049 * testsuite/libgomp.c++/scan-9.C: Ditto.
2050 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
2051 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
2052 * testsuite/libgomp.c/scan-11.c: Ditto.
2053 * testsuite/libgomp.c/scan-12.c: Ditto.
2054 * testsuite/libgomp.c/scan-13.c: Ditto.
2055 * testsuite/libgomp.c/scan-14.c: Ditto.
2056 * testsuite/libgomp.c/scan-15.c: Ditto.
2057 * testsuite/libgomp.c/scan-16.c: Ditto.
2058 * testsuite/libgomp.c/scan-17.c: Ditto.
2059 * testsuite/libgomp.c/scan-18.c: Ditto.
2060 * testsuite/libgomp.c/scan-19.c: Ditto.
2061 * testsuite/libgomp.c/scan-20.c: Ditto.
2062 * testsuite/libgomp.c/scan-21.c: Ditto.
2063 * testsuite/libgomp.c/scan-22.c: Ditto.
2064
2065 2021-10-09 Jakub Jelinek <jakub@redhat.com>
2066
2067 * libgomp.texi (OpenMP 5.1): Mention implemented support for
2068 structured block sequences in C/C++. Mention support for
2069 unconstrained/reproducible modifiers on order clause.
2070 Mention partial (C/C++ only) support of extentensions to atomics
2071 construct. Mention partial (C/C++ on clause only) support of
2072 align/allocator modifiers on allocate clause.
2073
2074 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
2075
2076 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
2077 based on libgomp.c-c++-common/order-reproducible-1.c.
2078 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
2079 * testsuite/libgomp.fortran/my-usleep.c: New test.
2080
2081 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
2082
2083 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
2084 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
2085 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
2086 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
2087 based on libgomp.c-c++-common/alloc-9.c.
2088
2089 2021-10-01 Jakub Jelinek <jakub@redhat.com>
2090
2091 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
2092 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
2093
2094 2021-10-01 Jakub Jelinek <jakub@redhat.com>
2095
2096 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
2097 ialias_redirect.
2098 * env.c (handle_omp_display_env): Use ialias_call.
2099 * icv-device.c: Move ialias right below each function.
2100 (omp_get_device_num): Use ialias_call.
2101 * fortran.c (omp_fulfill_event): Add ialias_redirect.
2102 * icv.c (omp_get_active_level): Add ialias_redirect.
2103
2104 2021-10-01 Jakub Jelinek <jakub@redhat.com>
2105
2106 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
2107 __alloc_align__ (1) attribute.
2108 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
2109
2110 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
2111
2112 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
2113 for -fintrinsic-modules-path= warning of the C compiler.
2114 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
2115 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
2116
2117 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
2118
2119 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
2120 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
2121 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
2122 omp_realloc): Add.
2123 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
2124 omp_realloc): Add.
2125 * testsuite/libgomp.fortran/alloc-10.f90: New test.
2126 * testsuite/libgomp.fortran/alloc-6.f90: New test.
2127 * testsuite/libgomp.fortran/alloc-7.c: New test.
2128 * testsuite/libgomp.fortran/alloc-7.f90: New test.
2129 * testsuite/libgomp.fortran/alloc-8.f90: New test.
2130 * testsuite/libgomp.fortran/alloc-9.f90: New test.
2131
2132 2021-09-30 Jakub Jelinek <jakub@redhat.com>
2133
2134 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
2135 omp_realloc): New prototypes.
2136 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
2137 attribute.
2138 * allocator.c: Include string.h.
2139 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
2140 variable and use it instead of alignment so that when retrying the old
2141 alignment is used again. Don't retry if new alignment is the same
2142 as old alignment, unless allocator had pool size.
2143 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
2144 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
2145 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
2146 omp_aligned_calloc and omp_realloc.
2147 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
2148 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
2149 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
2150 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
2151 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
2152 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
2153
2154 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
2155
2156 PR libgomp/96661
2157 * configure.ac: Only check for int-type = 2*size_t support when
2158 building with Fortran support.
2159 * configure: Regenerate.
2160
2161 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
2162
2163 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
2164 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2165
2166 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
2167
2168 * team.c: Initialize start_data.
2169 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
2170 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
2171
2172 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
2173
2174 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
2175 dg-message back to dg-note.
2176
2177 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
2178
2179 PR fortran/94070
2180 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
2181 expected dg-note output.
2182
2183 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
2184
2185 PR fortran/55534
2186 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
2187 r12-3722 by removing -Wno-missing-include-dirs.
2188 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
2189
2190 2021-09-22 Jakub Jelinek <jakub@redhat.com>
2191
2192 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
2193 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
2194
2195 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
2196
2197 PR fortran/55534
2198 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
2199 to ALWAYS_CFLAGS.
2200 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2201
2202 2021-09-18 Jakub Jelinek <jakub@redhat.com>
2203
2204 * testsuite/libgomp.c++/default-1.C: New test.
2205 * testsuite/libgomp.c-c++-common/default-1.c: New test.
2206 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
2207 to default clause in C and C++" as implemented.
2208
2209 2021-09-17 Julian Brown <julian@codesourcery.com>
2210
2211 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
2212
2213 2021-09-17 Julian Brown <julian@codesourcery.com>
2214
2215 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
2216
2217 2021-09-17 Jakub Jelinek <jakub@redhat.com>
2218
2219 * libgomp.texi (OpenMP 5.1): Spelling fix,
2220 declare variante -> declare variant.
2221
2222 2021-09-17 Jakub Jelinek <jakub@redhat.com>
2223
2224 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
2225 Use /* */ comments instead of //.
2226 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
2227 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
2228 * testsuite/libgomp.c++/atomic-16.C: New test.
2229 * testsuite/libgomp.c++/atomic-17.C: New test.
2230
2231 2021-09-10 Jakub Jelinek <jakub@redhat.com>
2232
2233 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
2234 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
2235 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
2236
2237 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
2238
2239 * libgomp.texi (OpenMP Implementation Status): Extend
2240 OpenMP 5.0 section.
2241 (OpenACC Profiling Interface): Fix typo.
2242
2243 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
2244
2245 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
2246 not to 4.5; link to new section.
2247 (OpenMP Implementation Status): New.
2248
2249 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
2250
2251 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
2252
2253 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
2254
2255 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
2256 dg-output.
2257 * testsuite/libgomp.fortran/error-1.f90: Likewise.
2258
2259 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
2260 Jakub Jelinek <jakub@redhat.com>
2261
2262 * testsuite/libgomp.c/address-space-1.c: New file.
2263
2264 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
2265
2266 * testsuite/lib/libgomp.exp
2267 (check_effective_target_offload_target_intelmic): Remove 'proc'.
2268 (check_effective_target_offload_device_intel_mic): New 'proc'.
2269 * testsuite/libgomp.c-c++-common/on_device_arch.h
2270 (device_arch_intel_mic, on_device_arch_intel_mic): New.
2271 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
2272 'dg-xfail-run-if'.
2273 * testsuite/libgomp.fortran/target10.f90: Likewise.
2274
2275 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
2276
2277 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
2278 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
2279 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
2280 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
2281
2282 2021-08-23 Jakub Jelinek <jakub@redhat.com>
2283
2284 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
2285 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
2286 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
2287
2288 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
2289
2290 * config/nvptx/error.c (fwrite, exit): Override, too.
2291 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
2292 of offloading testing.
2293 * testsuite/libgomp.fortran/error-1.f90: Likewise.
2294
2295 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
2296
2297 * testsuite/libgomp.fortran/error-1.f90: New test.
2298
2299 2021-08-20 Jakub Jelinek <jakub@redhat.com>
2300
2301 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
2302 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
2303 * error.c (GOMP_warning, GOMP_error): New functions.
2304 * testsuite/libgomp.c-c++-common/error-1.c: New test.
2305
2306 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
2307
2308 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
2309 omp_target_free. omp_target_is_present, omp_target_memcpy,
2310 omp_target_memcpy_rect, omp_target_associate_ptr,
2311 omp_target_disassociate_ptr): Add interface.
2312 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
2313 omp_target_free. omp_target_is_present, omp_target_memcpy,
2314 omp_target_memcpy_rect, omp_target_associate_ptr,
2315 omp_target_disassociate_ptr): Add interface.
2316 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
2317 interface block for omp_alloc + omp_free.
2318 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
2319 * testsuite/libgomp.fortran/refcount-1.f90: New test.
2320 * testsuite/libgomp.fortran/target-12.f90: New test.
2321
2322 2021-08-18 Jakub Jelinek <jakub@redhat.com>
2323
2324 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
2325
2326 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
2327
2328 * testsuite/libgomp.fortran/scope-1.f90: New test.
2329 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
2330
2331 2021-08-17 Jakub Jelinek <jakub@redhat.com>
2332
2333 * Makefile.am (libgomp_la_SOURCES): Add scope.c
2334 * Makefile.in: Regenerated.
2335 * libgomp_g.h (GOMP_scope_start): Declare.
2336 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
2337 * scope.c: New file.
2338 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
2339 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
2340
2341 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
2342
2343 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
2344 '?:' issues.
2345
2346 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
2347
2348 * testsuite/libgomp.fortran/masked-1.f90: New test.
2349
2350 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
2351
2352 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
2353
2354 2021-08-12 Jakub Jelinek <jakub@redhat.com>
2355
2356 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
2357
2358 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
2359
2360 * env.c (parse_bind_var): Accept 'primary' as alias for
2361 'master'.
2362 (omp_display_env): Add TODO comment to
2363 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
2364 * libgomp.texi: Change 'master thread' to 'primary thread'
2365 in line with OpenMP 5.1.
2366 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
2367 omp_proc_bind_master is an alias of it.
2368 (OMP_PROC_BIND): Mention 'PRIMARY'.
2369 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
2370 (omp_proc_bind_primary): Add.
2371 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
2372 * omp_lib.f90.in (omp_proc_bind_primary): Add.
2373 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
2374 * omp_lib.h.in (omp_proc_bind_primary): Add.
2375 * testsuite/libgomp.c/affinity-1.c: Check that
2376 'primary' works and is identical to 'master'.
2377
2378 2021-08-09 Julian Brown <julian@codesourcery.com>
2379 Kwok Cheung Yeung <kcy@codesourcery.com>
2380 Thomas Schwinge <thomas@codesourcery.com>
2381
2382 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
2383 16.
2384 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
2385 [acc_device_radeon]: Update.
2386 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
2387 [ACC_DEVICE_TYPE_radeon]: Likewise.
2388 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2389 [acc_device_radeon]: Likewise.
2390 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
2391 [ACC_DEVICE_TYPE_radeon]: Likewise.
2392 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
2393 'openacc_radeon_accel_selected' and '-O0'.
2394 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2395
2396 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
2397
2398 * icv-device.c (omp_get_device_num): New API function, host side.
2399 * fortran.c (omp_get_device_num_): New interface function.
2400 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
2401 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
2402 omp_get_device_num_.
2403 * libgomp.texi (omp_get_device_num): Add documentation for new API
2404 function.
2405 * omp.h.in (omp_get_device_num): Add declaration.
2406 * omp_lib.f90.in (omp_get_device_num): Likewise.
2407 * omp_lib.h.in (omp_get_device_num): Likewise.
2408 * target.c (gomp_load_image_to_device): If additional entry for device
2409 number exists at end of returned entries from 'load_image_func' hook,
2410 copy the assigned device number over to the device variable.
2411 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
2412 (omp_get_device_num): New API function, device side.
2413 * plugin/plugin-gcn.c ("symcat.h"): Add include.
2414 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
2415 at end of returned 'target_table' entries.
2416 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
2417 (omp_get_device_num): New API function, device side.
2418 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
2419 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
2420 at end of returned 'target_table' entries.
2421 * testsuite/lib/libgomp.exp
2422 (check_effective_target_offload_target_intelmic): New function for
2423 testing for intelmic offloading.
2424 * testsuite/libgomp.c-c++-common/target-45.c: New test.
2425 * testsuite/libgomp.fortran/target10.f90: New test.
2426
2427 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
2428 Ulrich Drepper <drepper@redhat.com>
2429
2430 * fortran.c (omp_display_env_, omp_display_env_8_): Only
2431 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
2432
2433 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
2434 Julian Brown <julian@codesourcery.com>
2435 Kwok Cheung Yeung <kcy@codesourcery.com>
2436
2437 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
2438 's%oaccdevlow%oaccloops%g'.
2439 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
2440 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
2441 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
2442 Likewise.
2443 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
2444 Likewise.
2445 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
2446 Likewise.
2447 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
2448 Likewise.
2449 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
2450 Likewise.
2451 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
2452 Likewise.
2453 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
2454 Likewise.
2455 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
2456 Likewise.
2457 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
2458
2459 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
2460
2461 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
2462 threader.
2463 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
2464
2465 2021-07-27 Ulrich Drepper <drepper@gmail.com>
2466
2467 * env.c (wait_policy, stacksize): New static variables,
2468 move out of handle_omp_display_env.
2469 (omp_display_env): New function. The meat of the old
2470 handle_omp_display_env function.
2471 (handle_omp_display_env): Change to not take parameters
2472 and instead use the global variables. Only perform
2473 parsing, defer to omp_display_env for the implementation.
2474 (initialize_env): Remove local variables wait_policy and
2475 stacksize. Don't pass parameters to handle_omp_display_env.
2476 * fortran.c: Add ialias_redirect for omp_display_env.
2477 (omp_display_env_, omp_display_env_8_): New functions.
2478 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
2479 omp_display_env_, and omp_display_env_8_.
2480 * omp.h.in: Declare omp_display_env.
2481 * omp_lib.f90.in: Likewise.
2482 * omp_lib.h.in: Likewise.
2483
2484 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2485 Julian Brown <julian@codesourcery.com>
2486
2487 * target.c (gomp_coalesce_buf_add): Update comment.
2488 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
2489 'aq && cbuf'.
2490 (gomp_map_vars_internal): Only 'if (!aq)', do
2491 'gomp_coalesce_buf_add'.
2492 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
2493 XFAIL.
2494
2495 2021-07-27 Julian Brown <julian@codesourcery.com>
2496 Thomas Schwinge <thomas@codesourcery.com>
2497
2498 * libgomp.h (gomp_copy_host2dev): Update prototype.
2499 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
2500 argument to gomp_copy_host2dev (false).
2501 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
2502 (copy_data): Don't free src.
2503 (queue_push_copy): Remove free_src handling.
2504 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
2505 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
2506 snapshotting.
2507 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
2508 queue_push_copy.
2509 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
2510 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
2511 data when true, and set up deferred freeing of temporary buffer.
2512 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
2513 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
2514 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
2515 calls to gomp_copy_host2dev with appropriate ephemeral argument.
2516 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
2517 XFAIL.
2518
2519 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2520 Tom de Vries <tom@codesourcery.com>
2521
2522 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
2523 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
2524
2525 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2526
2527 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
2528 sequencing of 'async' data copying vs. profiling events.
2529 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
2530 Likewise.
2531
2532 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2533 Julian Brown <julian@codesourcery.com>
2534
2535 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
2536 'async'/'wait' issue.
2537 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
2538 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
2539 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
2540
2541 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
2542 Joseph Myers <joseph@codesourcery.com>
2543 Cesar Philippidis <cesar@codesourcery.com>
2544
2545 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
2546 file.
2547 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
2548 Likewise.
2549 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
2550 Likewise.
2551 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
2552
2553 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
2554
2555 PR target/101484
2556 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
2557 '-Wno-error=array-bounds'.
2558 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
2559 * libgomp.h [__AMDGCN__]: Likewise.
2560
2561 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
2562
2563 PR target/101484
2564 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
2565 * libgomp.h [__AMDGCN__]: Likewise.
2566
2567 2021-07-13 Jakub Jelinek <jakub@redhat.com>
2568 Florian Weimer <fweimer@redhat.com>
2569
2570 * config/linux/sem.h: Don't include limits.h.
2571 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
2572 * config/linux/affinity.c: Include limits.h.
2573
2574 2021-07-01 Jakub Jelinek <jakub@redhat.com>
2575
2576 PR middle-end/94366
2577 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
2578
2579 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
2580
2581 PR other/67300
2582 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
2583 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
2584 avoid disabling other offload targets.
2585 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
2586 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2587 * testsuite/libgomp.c/target-44.c: Likewise.
2588
2589 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
2590
2591 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
2592 target has shared memory and disable some scalar pointer/allocatable
2593 checks if not as firstprivate does not work.
2594
2595 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
2596
2597 PR testsuite/101114
2598 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
2599 Add "target offload_device_nonshared_as" condition for enabling test.
2600
2601 2021-06-24 Jakub Jelinek <jakub@redhat.com>
2602
2603 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
2604 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
2605 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
2606 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
2607
2608 2021-06-23 Jakub Jelinek <jakub@redhat.com>
2609
2610 PR middle-end/101167
2611 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
2612
2613 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
2614
2615 * hashtab.h (htab_clear): New function with initialization code
2616 factored out from...
2617 (htab_create): ...here, adjust to use htab_clear function.
2618 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
2619 special refcount values, add comments.
2620 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
2621 (REFCOUNT_LINK): Likewise.
2622 (REFCOUNT_STRUCTELEM): New special refcount range for structure
2623 element siblings.
2624 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
2625 sibling maps.
2626 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
2627 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
2628 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
2629 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
2630 (struct splay_tree_key_s): Add structelem_refcount and
2631 structelem_refcount_ptr fields into a union with dynamic_refcount.
2632 Add comments.
2633 (gomp_map_vars): Delete declaration.
2634 (gomp_map_vars_async): Likewise.
2635 (gomp_unmap_vars): Likewise.
2636 (gomp_unmap_vars_async): Likewise.
2637 (goacc_map_vars): New declaration.
2638 (goacc_unmap_vars): Likewise.
2639 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
2640 (goacc_enter_datum): Likewise.
2641 (goacc_enter_data_internal): Likewise.
2642 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
2643 and goacc_unmap_vars.
2644 (GOACC_data_start): Adjust to use goacc_map_vars.
2645 (GOACC_data_end): Adjust to use goacc_unmap_vars.
2646 * target.c (hash_entry_type): New typedef.
2647 (htab_alloc): New function hook for hashtab.h.
2648 (htab_free): Likewise.
2649 (htab_hash): Likewise.
2650 (htab_eq): Likewise.
2651 (hashtab.h): Add file include.
2652 (gomp_increment_refcount): New function.
2653 (gomp_decrement_refcount): Likewise.
2654 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
2655 gomp_increment_refcount.
2656 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
2657 to gomp_map_vars_existing.
2658 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
2659 variable to guard OpenMP specific paths, adjust calls to
2660 gomp_map_vars_existing, add structure element sibling splay_tree_key
2661 sequence creation code, adjust Fortran map case to avoid increment
2662 under OpenMP.
2663 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
2664 local refcount_set if caller passed in NULL, adjust call to
2665 gomp_map_vars_internal.
2666 (gomp_map_vars_async): Adjust and rename into...
2667 (goacc_map_vars): ...this new function, adjust call to
2668 gomp_map_vars_internal.
2669 (gomp_remove_splay_tree_key): New function with code factored out from
2670 gomp_remove_var_internal.
2671 (gomp_remove_var_internal): Add code to handle removing multiple
2672 splay_tree_key sequence for structure elements, adjust code to use
2673 gomp_remove_splay_tree_key for splay-tree key removal.
2674 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
2675 gomp_decrement_refcount.
2676 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
2677 local refcount_set if caller passed in NULL, adjust call to
2678 gomp_unmap_vars_internal.
2679 (gomp_unmap_vars_async): Adjust and rename into...
2680 (goacc_unmap_vars): ...this new function, adjust call to
2681 gomp_unmap_vars_internal.
2682 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
2683 gomp_unmap_vars.
2684 (GOMP_target_ext): Likewise.
2685 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
2686 (GOMP_target_data): Likewise.
2687 (GOMP_target_data_ext): Likewise.
2688 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
2689 (gomp_exit_data): Add refcount_set parameter, adjust to use
2690 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
2691 after main loop.
2692 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
2693 gomp_map_vars and gomp_exit_data.
2694 (gomp_target_task_fn): Likewise.
2695 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
2696 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
2697 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
2698 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
2699 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
2700 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
2701
2702 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
2703
2704 PR fortran/92568
2705 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2706
2707 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
2708 Thomas Schwinge <thomas@codesourcery.com>
2709
2710 * libgomp.map (GOACC_2.0.2): New symbol version.
2711 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
2712 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
2713
2714 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2715 Andrew Stubbs <ams@codesourcery.com>
2716
2717 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
2718 extracted from...
2719 (GOACC_enter_exit_data): ... here.
2720 (GOACC_declare): Use it.
2721
2722 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2723
2724 * oacc-parallel.c (GOACC_declare): Move...
2725 * oacc-mem.c: ... here.
2726 * libgomp_g.h: Adjust.
2727
2728 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
2729 Thomas Schwinge <thomas@codesourcery.com>
2730
2731 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2732 handling.
2733
2734 2021-06-10 Jakub Jelinek <jakub@redhat.com>
2735
2736 PR tree-optimization/100981
2737 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2738 dsdotr and dsdoti to 0.
2739
2740 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
2741
2742 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2743 if atomic compare-and-swap is supported on 'int'.
2744
2745 2021-06-09 Richard Biener <rguenther@suse.de>
2746
2747 PR tree-optimization/100981
2748 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2749
2750 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2751
2752 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2753 unconditionally.
2754 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2755 Update.
2756 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2757 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2758
2759 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2760
2761 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
2762 '-DACC_MEM_SHARED=0'.
2763 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2764 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2765 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2766 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2767 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2768 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2769 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2770 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2771 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2772 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2773 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2774 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2775 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2776 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2777 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
2778 'acc_device_radeon' testing.
2779 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2780 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2781 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2782 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
2783 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2784 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2785 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2786 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2787 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2788 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2789 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
2790 for non-'openacc_nvidia_accel_selected'.
2791 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2792 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
2793 all implement this checking".
2794 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2795 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2796 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2797 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2798 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2799
2800 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2801
2802 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2803 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2804
2805 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2806
2807 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2808 for 'acc_device_radeon'.
2809
2810 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2811
2812 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2813 for non-'acc_device_nvidia'.
2814
2815 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2816
2817 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2818 'acc_device_radeon' testing.
2819 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2820 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2821 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2822
2823 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2824
2825 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2826 require 'openacc_nvidia_accel_selected'. Fix up for
2827 'ACC_DEVICE_TYPE_radeon'.
2828
2829 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2830
2831 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2832 'openacc_nvidia_accel_selected'.
2833 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2834
2835 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2836
2837 * testsuite/lib/libgomp.exp
2838 (check_effective_target_openacc_radeon_accel_selected):
2839 Streamline.
2840
2841 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2842
2843 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2844 PR80547 workaround.
2845
2846 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2847
2848 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2849 <acc_device_nvidia>: Update comment.
2850
2851 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
2852
2853 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2854
2855 2021-05-27 Jakub Jelinek <jakub@redhat.com>
2856
2857 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2858 check_effective_target_openacc_cublas,
2859 check_effective_target_openacc_cudart): New.
2860 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2861 target openacc_cublas.
2862 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2863 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2864 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2865 target openacc_cuda.
2866 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2867 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2868 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2869 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2870 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2871 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2872 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2873 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2874 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2875 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2876 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2877 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2878 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2879 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2880 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2881 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2882 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2883 targets openacc_cublas and openacc_cudart.
2884 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2885 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2886 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2887 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2888 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2889 Require effective target openacc_cudart.
2890 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2891 for effective target openacc_cuda and add && defined USE_CUDA_H to
2892 preprocessor conditionals. Guard -lcuda also on openacc_cuda
2893 effective target.
2894
2895 2021-05-26 Jakub Jelinek <jakub@redhat.com>
2896
2897 PR libgomp/100573
2898 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2899 GOMP_target_end_data, GOMP_target_update_ext,
2900 GOMP_target_enter_exit_data): New dummy entrypoints.
2901 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2902 GOMP_target_end_data, GOMP_target_update_ext,
2903 GOMP_target_enter_exit_data): Likewise.
2904 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2905 OMPFROM, OMPTO): Define.
2906 (main): Remove #pragma omp target teams around all the tests.
2907 * testsuite/libgomp.c-c++-common/target-41.c: New test.
2908 * testsuite/libgomp.c-c++-common/target-42.c: New test.
2909
2910 2021-05-25 Jakub Jelinek <jakub@redhat.com>
2911
2912 PR middle-end/99928
2913 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2914
2915 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
2916
2917 PR fortran/86470
2918 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2919 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2920 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2921
2922 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
2923
2924 PR testsuite/90115
2925 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2926 uninteresting/varying diagnostics.
2927
2928 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2929
2930 PR middle-end/90115
2931 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2932 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2933
2934 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2935
2936 PR middle-end/90115
2937 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
2938 file.
2939 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2940 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
2941 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2942 Likewise.
2943 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2944 Likewise.
2945 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2946 Likewise.
2947 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2948 Likewise.
2949 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2950 Likewise.
2951 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2952 Likewise.
2953 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2954 Likewise.
2955 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2956 Likewise.
2957 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2958 Likewise.
2959 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2960 Likewise.
2961 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2962 Likewise.
2963 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2964 Likewise.
2965 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2966 Likewise.
2967 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2968 Likewise.
2969 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2970 Likewise.
2971 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2972 Likewise.
2973 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2974 Likewise.
2975 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2976 Likewise.
2977 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2978 Likewise.
2979 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2980 Likewise.
2981 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2982 Likewise.
2983 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2984 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2985 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2986 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
2987 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2988 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2989 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2990 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2991 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2992 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2993 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2994 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2995 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2996 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2997 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2998 Likewise.
2999 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
3000 Likewise.
3001 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
3002 Likewise.
3003 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3004 Likewise.
3005 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
3006 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
3007 Likewise.
3008 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3009 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3010 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3011 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3012 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
3013 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3014 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3015 Likewise.
3016 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3017 Likewise.
3018 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3019 Likewise.
3020 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3021 Likewise.
3022 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3023 Likewise.
3024 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3025 Likewise.
3026 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3027 Likewise.
3028 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3029 Likewise.
3030 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3031 Likewise.
3032 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3033 Likewise.
3034 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3035 Likewise.
3036 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3037 Likewise.
3038 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3039 Likewise.
3040 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
3041 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3042 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
3043 Likewise.
3044 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
3045 Likewise.
3046 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3047 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3048 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3049
3050 2021-05-21 Julian Brown <julian@codesourcery.com>
3051 Chung-Lin Tang <cltang@codesourcery.com>
3052 Thomas Schwinge <thomas@codesourcery.com>
3053
3054 PR middle-end/90115
3055 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
3056 test.
3057 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
3058 Likewise.
3059 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
3060 Likewise.
3061
3062 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
3063
3064 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
3065 for nvptx offloading.
3066
3067 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
3068
3069 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
3070
3071 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
3072
3073 PR target/83812
3074 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
3075
3076 2021-05-19 Julian Brown <julian@codesourcery.com>
3077
3078 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
3079
3080 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
3081
3082 * testsuite/lib/libgomp.exp
3083 (check_effective_target_offload_target_nvptx): Don't shadow global
3084 'offload_targets' variable.
3085
3086 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
3087
3088 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
3089 '-latomic' to nvptx offloading compilation.
3090 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
3091
3092 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
3093
3094 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
3095 offloading compilation.
3096
3097 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
3098
3099 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
3100 if new tasks generated.
3101 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
3102
3103 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
3104
3105 * testsuite/libgomp.fortran/parallel-master.f90: New test.
3106
3107 2021-05-13 Martin Liska <mliska@suse.cz>
3108
3109 PR testsuite/100569
3110 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
3111 * testsuite/libgomp.c/pr46032-2.c: Likewise.
3112 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
3113 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
3114
3115 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
3116
3117 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
3118 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
3119
3120 2021-05-11 Jakub Jelinek <jakub@redhat.com>
3121
3122 PR middle-end/100471
3123 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
3124 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
3125 reduction pointer.
3126 * testsuite/libgomp.c/task-reduction-4.c: New test.
3127
3128 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
3129 Tom de Vries <tdevries@suse.de>
3130
3131 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
3132 complex/floating-point || + && reduction with 'omp target'.
3133 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
3134
3135 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
3136
3137 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
3138 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
3139 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
3140 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
3141
3142 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
3143
3144 PR testsuite/100397
3145 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
3146 declaration to scope of non-'depend'-guarded assignment to avoid races.
3147
3148 2021-05-03 Tom de Vries <tdevries@suse.de>
3149
3150 PR target/100321
3151 * testsuite/libgomp.c/target-44.c: New test.
3152
3153 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
3154
3155 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
3156
3157 2021-04-29 Tom de Vries <tdevries@suse.de>
3158
3159 * testsuite/libgomp.c/pr81778.c: New test.
3160
3161 2021-04-29 Tom de Vries <tdevries@suse.de>
3162
3163 PR target/100232
3164 * testsuite/libgomp.c/target-43.c: New file.
3165
3166 2021-04-28 Jakub Jelinek <jakub@redhat.com>
3167 Tobias Burnus <tobias@codesourcery.com>
3168
3169 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
3170 * target.c (gomp_load_plugin_for_device): If set and if a plugin
3171 can't be dlopened, silently assume it has no devices.
3172 * Makefile.in: Regenerate.
3173 * config.h.in: Regenerate.
3174 * configure: Regenerate.
3175
3176 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
3177
3178 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
3179 Use [Ww]arning in dg-bogus as FE diagnostic and default
3180 diagnostic differ and the result depends on ENABLE_OFFLOAD.
3181 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3182 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3183 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3184
3185 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
3186
3187 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
3188 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
3189 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3190 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3191 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3192
3193 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
3194 Nathan Sidwell <nathan@codesourcery.com>
3195 Tom de Vries <vries@codesourcery.com>
3196 Julian Brown <julian@codesourcery.com>
3197 Kwok Cheung Yeung <kcy@codesourcery.com>
3198
3199 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
3200 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
3201 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3202 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3203 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3204 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3205 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
3206 Likewise.
3207 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
3208 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3209 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3210 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
3211 Likewise.
3212 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3213 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3214 Likewise.
3215 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3216 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3217 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3218 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3219 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
3220 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
3221 Likewise.
3222 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
3223 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3224 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3225 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3226 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3227 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3228 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3229 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3230 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3231 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3232 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3233
3234 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
3235
3236 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
3237 compile with '-w'.
3238 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3239 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
3240 Likewise.
3241 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3242 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
3243 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3244 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3245 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3246 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3247 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3248
3249 2021-04-22 Richard Biener <rguenther@suse.de>
3250
3251 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
3252 only on nvptx-none.
3253
3254 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
3255
3256 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
3257 omp_depend_kind instead of defining it as 16.
3258
3259 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
3260
3261 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
3262 New, based on check_effective_target_offload_target_nvptx.
3263 (check_effective_target_offload_target_nvptx): Call it.
3264 (check_effective_target_offload_target_amdgcn): New.
3265 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
3266 Require target offload_target_nvptx || offload_target_amdgcn.
3267 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
3268 * testsuite/libgomp.c/pr86416-1.c: Likewise.
3269 * testsuite/libgomp.c/pr86416-2.c: Likewise.
3270
3271 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
3272
3273 * testsuite/libgomp.fortran/depobj-1.f90: New test.
3274
3275 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
3276
3277 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3278 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
3279 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3280 Likewise.
3281 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3282 Likewise.
3283 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3284
3285 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
3286
3287 PR target/99555
3288 * testsuite/lib/libgomp.exp
3289 (check_effective_target_offload_device_nvptx): New.
3290 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
3291 resolved, make sure that we exit quickly, with error status,
3292 XFAILed.
3293 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
3294 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
3295
3296 2021-04-14 Jakub Jelinek <jakub@redhat.com>
3297
3298 PR testsuite/100071
3299 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
3300 cp = omp_alloc with cp, p arguments instead of cq, q and call
3301 c_f_pointer after last cq = omp_alloc with cq, q.
3302
3303 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
3304
3305 PR middle-end/98088
3306 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
3307 for loop with GT/GE condition.
3308 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
3309
3310 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
3311
3312 PR middle-end/84991
3313 PR middle-end/84992
3314 PR middle-end/90779
3315 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
3316
3317 2021-04-09 Jakub Jelinek <jakub@redhat.com>
3318
3319 PR libgomp/99984
3320 * team.c (gomp_thread_start): Call pthread_setspecific for
3321 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
3322 has been initialized to avoid false positive warning.
3323
3324 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
3325
3326 PR target/99555
3327 * testsuite/lib/on_device_arch.c: Move to ...
3328 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
3329 * testsuite/libgomp.fortran/on_device_arch.c: New file;
3330 #include on_device_arch.h.
3331 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
3332 on_device_arch.h instead of using dg-additional-source.
3333 * testsuite/libgomp.c/pr99555-1.c: Likewise.
3334 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
3335 on_device_arch.c without relative paths.
3336
3337 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
3338
3339 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
3340 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
3341 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
3342 * config.h.in: Regenerate.
3343 * configure: Likewise.
3344
3345 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
3346
3347 PR target/99555
3348 * testsuite/lib/on_device_arch.c: New file.
3349 * testsuite/libgomp.c/pr99555-1.c: Likewise.
3350 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
3351 skip for nvptx offloading, with error status.
3352 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
3353
3354 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
3355
3356 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
3357 OpenACC 'serial' construct diagnostic for nvptx offloading.
3358
3359 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
3360
3361 PR c++/99509
3362 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
3363
3364 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
3365
3366 PR fortran/98858
3367 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
3368
3369 2021-03-04 Jakub Jelinek <jakub@redhat.com>
3370
3371 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
3372 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
3373 checking of -m32 or -mx32 options on the command line.
3374 * config.h.in: Regenerated.
3375 * configure: Regenerated.
3376
3377 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
3378
3379 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
3380 support from the target.
3381
3382 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
3383 Jakub Jelinek <jakub@redhat.com>
3384
3385 PR libgomp/98738
3386 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
3387 (struct gomp_task): Replace detach and completion_sem fields with
3388 union containing completion_sem and detach_team. Add deferred_p
3389 field.
3390 (struct gomp_team): Remove task_detach_queue.
3391 * task.c: Include assert.h.
3392 (gomp_init_task): Initialize deferred_p and completion_sem fields.
3393 Rearrange initialization order of fields.
3394 (task_fulfilled_p): Delete.
3395 (GOMP_task): Use address of task as the event handle. Remove
3396 initialization of detach field. Initialize deferred_p field.
3397 Use automatic local for completion_sem. Initialize detach_team field
3398 for deferred tasks.
3399 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
3400 Set kind of suspended detach task to GOMP_TASK_DETACHED and
3401 decrement task_running_count. Move finish_cancelled block out of
3402 else branch. Relocate call to gomp_team_barrier_done.
3403 (GOMP_taskwait): Handle tasks with completion events that have not
3404 been fulfilled.
3405 (GOMP_taskgroup_end): Likewise.
3406 (omp_fulfill_event): Use address of task as event handle. Post to
3407 completion_sem for undeferred tasks. Clear detach_team if task
3408 has not finished. For finished tasks, handle post-execution tasks,
3409 call gomp_team_barrier_wake if necessary, and free task.
3410 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
3411 (free_team): Remove free of task_detach_queue.
3412 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
3413 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
3414 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
3415 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
3416 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
3417 Change data-sharing of detach events on enclosing parallel to private.
3418 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
3419 taskwait directive.
3420 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
3421 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
3422 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
3423 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
3424 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
3425 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
3426 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
3427 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
3428 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
3429 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
3430 Change data-sharing of detach events on enclosing parallel to private.
3431 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
3432 taskwait directive.
3433 * testsuite/libgomp.fortran/task-detach-7.f90: New.
3434 * testsuite/libgomp.fortran/task-detach-8.f90: New.
3435 * testsuite/libgomp.fortran/task-detach-9.f90: New.
3436 * testsuite/libgomp.fortran/task-detach-10.f90: New.
3437 * testsuite/libgomp.fortran/task-detach-11.f90: New.
3438
3439 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
3440
3441 PR fortran/99171
3442 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
3443
3444 2021-02-17 Julian Brown <julian@codesourcery.com>
3445
3446 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
3447 expected errors.
3448
3449 2021-02-17 Julian Brown <julian@codesourcery.com>
3450
3451 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
3452 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
3453
3454 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
3455
3456 * config/linux/x86/futex.h (__futex_wait):
3457 Revert output type back to long.
3458 (__futex_wake): Ditto.
3459 (futex_wait): Update for revert.
3460 (futex_wake): Ditto.
3461
3462 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
3463
3464 * config/linux/x86/futex.h (__futex_wait): New static inline
3465 wrapper function. Correct output type to int and
3466 timeout type to void *.
3467 (__futex_wake): New static inline wrapper function.
3468 Correct output type to int.
3469 (futex_wait): Use __futex_wait.
3470 (futex_wake): Use __futex_wake.
3471
3472 2021-02-10 Julian Brown <julian@codesourcery.com>
3473
3474 PR fortran/98979
3475 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
3476 errors.
3477
3478 2021-02-04 Julian Brown <julian@codesourcery.com>
3479
3480 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
3481
3482 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
3483
3484 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3485 EF_AMDGPU_MACH_AMDGCN_GFX908.
3486 (gcn_gfx908_s): New constant string.
3487 (isa_hsa_name): Add gfx908.
3488 (isa_code): Add gfx908.
3489
3490 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
3491
3492 * libgomp.texi (omp_fulfill_event): New entry.
3493
3494 2021-01-20 Jakub Jelinek <jakub@redhat.com>
3495
3496 * task.c (GOMP_task): Rename priority argument to priority_arg,
3497 add priority automatic variable and modify that variable. Instead of
3498 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
3499 check flags for that bit.
3500
3501 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
3502
3503 PR fortran/98476
3504 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
3505
3506 2021-01-18 Andreas Schwab <schwab@suse.de>
3507
3508 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
3509
3510 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
3511
3512 * config/rtems/sem.h (gomp_sem_getcount): New function.
3513
3514 2021-01-18 Jakub Jelinek <jakub@redhat.com>
3515
3516 * config/linux/sem.h (gomp_sem_getcount): New function.
3517 * config/posix/sem.h (gomp_sem_getcount): New function.
3518 * config/posix/sem.c (gomp_sem_getcount): New function.
3519 * config/accel/sem.h (gomp_sem_getcount): New function.
3520 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
3521 (omp_fulfill_event): Likewise.
3522
3523 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
3524
3525 * fortran.c (omp_fulfill_event_): New.
3526 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
3527 (struct gomp_team): Add task_detach_queue and task_detach_count
3528 fields.
3529 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
3530 * libgomp_g.h (GOMP_task): Add extra argument.
3531 * omp.h.in (enum omp_event_handle_t): New.
3532 (omp_fulfill_event): New.
3533 * omp_lib.f90.in (omp_event_handle_kind): New.
3534 (omp_fulfill_event): New.
3535 * omp_lib.h.in (omp_event_handle_kind): New.
3536 (omp_fulfill_event): Declare.
3537 * priority_queue.c (priority_tree_find): New.
3538 (priority_list_find): New.
3539 (priority_queue_find): New.
3540 * priority_queue.h (priority_queue_predicate): New.
3541 (priority_queue_find): New.
3542 * task.c (gomp_init_task): Initialize detach field.
3543 (task_fulfilled_p): New.
3544 (GOMP_task): Add detach argument. Ignore detach argument if
3545 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
3546 field. Copy address of completion_sem into detach argument and
3547 into the start of the data record. Wait for detach event if task
3548 not deferred.
3549 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
3550 Remove completed tasks and requeue dependent tasks.
3551 (omp_fulfill_event): New.
3552 * team.c (gomp_new_team): Initialize task_detach_queue and
3553 task_detach_count fields.
3554 (free_team): Free task_detach_queue field.
3555 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
3556 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
3557 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
3558 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
3559 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
3560 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
3561 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
3562 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
3563 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
3564 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
3565 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
3566 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
3567
3568 2021-01-15 Jakub Jelinek <jakub@redhat.com>
3569
3570 PR target/70454
3571 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
3572 be added through preprocessor check on
3573 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
3574
3575 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
3576
3577 PR libgomp/65099
3578 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
3579 configurations.
3580 * configure: Regenerate.
3581 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
3582 check.
3583
3584 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
3585
3586 * configure: Re-generate.
3587
3588 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
3589
3590 * configure: Re-generate.
3591
3592 2021-01-05 Julian Brown <julian@codesourcery.com>
3593
3594 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
3595 (struct ptx_device): Add omp_stacks struct.
3596 (nvptx_open_device): Initialise cached-stacks housekeeping info.
3597 (nvptx_close_device): Free cached stacks block and mutex.
3598 (nvptx_stacks_free): New function.
3599 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
3600 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
3601 (nvptx_stacks_alloc): Rename to...
3602 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
3603 size or smaller is required.
3604 (nvptx_stacks_free): Remove.
3605 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
3606 during kernel execution.
3607
3608 2021-01-01 Jakub Jelinek <jakub@redhat.com>
3609
3610 * libgomp.texi: Bump @copying's copyright year.
3611
3612 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
3613
3614 * libgomp.texi (Top): Avoid bad "up" link.
3615
3616 2020-12-18 Jakub Jelinek <jakub@redhat.com>
3617
3618 * testsuite/libgomp.c/task-6.c: New test.
3619
3620 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
3621
3622 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
3623 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
3624
3625 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
3626
3627 * testsuite/libgomp.fortran/scan-1.f90: New test.
3628
3629 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
3630
3631 PR target/97865
3632 * configure: Regenerate.
3633
3634 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
3635
3636 * configure: Regenerate.
3637
3638 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
3639
3640 * testsuite/libgomp.oacc-c++/cache-1.C: New.
3641 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
3642
3643 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
3644
3645 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
3646 expected results.
3647
3648 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
3649
3650 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
3651 (reserved): Delete unused define.
3652
3653 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
3654
3655 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
3656 Tcl 8.5-specific behavior.
3657 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3658
3659 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
3660
3661 * env.c (gomp_global_icv): Remove nest_var field. Add
3662 max_active_levels_var field.
3663 (gomp_max_active_levels_var): Remove.
3664 (parse_boolean): Return true on success.
3665 (handle_omp_display_env): Express OMP_NESTED in terms of
3666 max_active_levels_var. Change format specifier for
3667 max_active_levels_var.
3668 (initialize_env): Set max_active_levels_var from
3669 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
3670 OMP_PROC_BIND.
3671 * icv.c (omp_set_nested): Express in terms of
3672 max_active_levels_var.
3673 (omp_get_nested): Likewise.
3674 (omp_set_max_active_levels): Use max_active_levels_var field instead
3675 of gomp_max_active_levels_var.
3676 (omp_get_max_active_levels): Likewise.
3677 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
3678 max_active_levels_var field.
3679 (gomp_supported_active_levels): Set to UCHAR_MAX.
3680 (gomp_max_active_levels_var): Delete.
3681 * libgomp.texi (omp_get_nested): Update documentation.
3682 (omp_set_nested): Likewise.
3683 (OMP_MAX_ACTIVE_LEVELS): Likewise.
3684 (OMP_NESTED): Likewise.
3685 (OMP_NUM_THREADS): Likewise.
3686 (OMP_PROC_BIND): Likewise.
3687 * parallel.c (gomp_resolve_num_threads): Replace reference
3688 to nest_var with max_active_levels_var. Use max_active_levels_var
3689 field instead of gomp_max_active_levels_var.
3690
3691 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
3692
3693 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3694 nvptx_usleep; use also for device={arch(gcn)}.
3695
3696 2020-11-14 Jakub Jelinek <jakub@redhat.com>
3697
3698 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
3699 (foo): Add tests for non-VLA private and firstprivate clauses on
3700 omp task.
3701 (bar): Likewise. Remove taking of address from private/firstprivate
3702 variables.
3703 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
3704 (foo): Add p, q, px and s arguments. Add tests for array reductions
3705 and for non-VLA private and firstprivate clauses on omp task.
3706 (bar): Removed.
3707 (main): Adjust foo caller. Don't call bar.
3708
3709 2020-11-13 Gergö Barany <gergo@codesourcery.com>
3710 Thomas Schwinge <thomas@codesourcery.com>
3711
3712 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3713 New.
3714 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3715 Likewise.
3716 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3717 Likewise.
3718 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3719 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3720
3721 2020-11-13 Gergö Barany <gergo@codesourcery.com>
3722 Thomas Schwinge <thomas@codesourcery.com>
3723
3724 PR fortran/94358
3725 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3726
3727 2020-11-13 Jakub Jelinek <jakub@redhat.com>
3728
3729 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3730 for array reductions.
3731 (main): Adjust foo callers.
3732
3733 2020-11-12 Jakub Jelinek <jakub@redhat.com>
3734
3735 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
3736 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
3737 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
3738 * allocator.c (omp_aligned_alloc): New for now static function,
3739 add alignment argument and handle it.
3740 (omp_alloc): Reimplement using omp_aligned_alloc.
3741 (GOMP_alloc, GOMP_free): New functions.
3742 (omp_free): Add ialias.
3743 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
3744 * testsuite/libgomp.c++/allocate-1.C: New test.
3745
3746 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
3747
3748 PR fortran/97782
3749 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3750
3751 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
3752
3753 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
3754 usable.
3755 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
3756 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
3757 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
3758 (goacc_enter_data_internal): Likewise.
3759 * target.c (gomp_map_vars_internal):
3760 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
3761 of gomp_attach_pointer for OpenMP cases.
3762 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
3763 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
3764 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
3765
3766 2020-11-05 Ulrich Drepper <drepper@redhat.com>
3767 Kwok Cheung Yeung <kcy@codesourcery.com>
3768
3769 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
3770 * Makefile.in: Regenerate.
3771 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
3772 pragmas to ignore -Wdeprecated-declarations warnings.
3773 * icv.c: Likewise.
3774 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
3775 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
3776 and omp_get_nested with __GOMP_DEPRECATED_5_0.
3777 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
3778 deprecated.
3779 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
3780 to test options.
3781 * testsuite/libgomp.c/affinity-1.c: Likewise.
3782 * testsuite/libgomp.c/affinity-2.c: Likewise.
3783 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
3784 * testsuite/libgomp.c/lib-1.c: Likewise.
3785 * testsuite/libgomp.c/nested-1.c: Likewise.
3786 * testsuite/libgomp.c/nested-2.c: Likewise.
3787 * testsuite/libgomp.c/nested-3.c: Likewise.
3788 * testsuite/libgomp.c/pr32362-1.c: Likewise.
3789 * testsuite/libgomp.c/pr32362-2.c: Likewise.
3790 * testsuite/libgomp.c/pr32362-3.c: Likewise.
3791 * testsuite/libgomp.c/pr35549.c: Likewise.
3792 * testsuite/libgomp.c/pr42942.c: Likewise.
3793 * testsuite/libgomp.c/pr61200.c: Likewise.
3794 * testsuite/libgomp.c/sort-1.c: Likewise.
3795 * testsuite/libgomp.c/target-5.c: Likewise.
3796 * testsuite/libgomp.c/target-6.c: Likewise.
3797 * testsuite/libgomp.c/teams-1.c: Likewise.
3798 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3799 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3800 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3801 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
3802 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3803 * testsuite/libgomp.fortran/lib2.f: Likewise.
3804 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3805 * testsuite/libgomp.fortran/teams1.f90: Likewise.
3806
3807 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3808
3809 PR target/85486
3810 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3811 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3812 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3813
3814 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3815
3816 PR testsuite/80219
3817 PR testsuite/85303
3818 * testsuite/lib/libgomp.exp (libgomp_init): Set
3819 'gcc_warning_prefix', 'gcc_error_prefix'.
3820
3821 2020-10-30 Jakub Jelinek <jakub@redhat.com>
3822
3823 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3824 even in field_tgt_clear initializer.
3825
3826 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3827
3828 * testsuite/libgomp.c/target-42.c: New test.
3829
3830 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3831 Tom de Vries <tdevries@suse.de>
3832
3833 PR testsuite/81690
3834 * testsuite/libgomp.c/usleep.h: New file.
3835 * testsuite/libgomp.c/target-32.c: Include usleep.h.
3836 (main): Use tgt_usleep instead of usleep.
3837 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3838 (main): Use tgt_usleep instead of usleep.
3839
3840 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3841
3842 PR lto/96680
3843 * testsuite/libgomp.c/declare-variant-1.c: New test.
3844
3845 2020-10-22 Jakub Jelinek <jakub@redhat.com>
3846
3847 * testsuite/libgomp.c/target-41.c: New test.
3848
3849 2020-10-22 Jakub Jelinek <jakub@redhat.com>
3850
3851 * icv.c (omp_get_initial_device): Remove including corresponding
3852 ialias.
3853 * icv-device.c (omp_get_initial_device): New function. Return
3854 gomp_get_num_devices (). Add ialias.
3855 * target.c (resolve_device): Don't fail with
3856 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3857 gomp_get_num_devices ().
3858 (omp_target_alloc, omp_target_free, omp_target_is_present,
3859 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3860 omp_target_disassociate_ptr, omp_pause_resource): Use
3861 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3862 first use in the functions, in uses dominated by the
3863 gomp_get_num_devices call use num_devices_openmp instead.
3864 * libgomp.texi (omp_get_initial_device): Document.
3865 * config/gcn/icv-device.c (omp_get_initial_device): New function.
3866 Add ialias.
3867 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3868 * testsuite/libgomp.c/target-40.c: New test.
3869
3870 2020-10-21 Jakub Jelinek <jakub@redhat.com>
3871
3872 * env.c (parse_target_offload): Change new_offload var type to int,
3873 preinitialize to -1, remove found var and test new_offload != -1
3874 instead of found.
3875
3876 2020-10-20 Jakub Jelinek <jakub@redhat.com>
3877
3878 * target.c (gomp_target_init): Inside of the function, use automatic
3879 variables corresponding to num_devices, num_devices_openmp and devices
3880 global variables and update the globals only at the end of the
3881 function.
3882
3883 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
3884
3885 * env.c (gomp_target_offload_var): New.
3886 (parse_target_offload): New.
3887 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3888 (initialize_env): Parse OMP_TARGET_OFFLOAD.
3889 * libgomp.h (gomp_target_offload_t): New.
3890 (gomp_target_offload_var): New.
3891 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3892 * target.c (resolve_device): Generate error if device not found and
3893 offloading is mandatory.
3894 (gomp_target_fallback): Generate error if offloading is mandatory.
3895 (GOMP_target): Add argument in call to gomp_target_fallback.
3896 (GOMP_target_ext): Likewise.
3897 (gomp_target_data_fallback): Generate error if offloading is mandatory.
3898 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3899 (GOMP_target_data_ext): Likewise.
3900 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3901 (gomp_target_init): Return early if offloading is disabled.
3902
3903 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
3904
3905 * libgomp.texi (omp_get_max_active_levels): Modify description.
3906 (omp_get_supported_active_levels): Make descriptions consistent.
3907
3908 2020-10-14 Jakub Jelinek <jakub@redhat.com>
3909
3910 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3911
3912 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
3913
3914 * env.c (gomp_max_active_levels_var): Initialize to
3915 gomp_supported_active_levels.
3916 (initialize_env): Limit gomp_max_active_levels_var to be at most
3917 equal to gomp_supported_active_levels.
3918 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3919 (omp_get_supported_active_levels_): New.
3920 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3921 to at most equal to gomp_supported_active_levels.
3922 (omp_get_supported_active_levels): New.
3923 * libgomp.h (gomp_supported_active_levels): New.
3924 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
3925 omp_get_supported_active_levels_.
3926 * libgomp.texi (omp_get_supported_active_levels): New.
3927 (omp_set_max_active_levels): Update. Add reference to
3928 omp_get_supported_active_levels.
3929 * omp.h.in (omp_get_supported_active_levels): New.
3930 * omp_lib.f90.in (omp_get_supported_active_levels): New.
3931 * omp_lib.h.in (omp_get_supported_active_levels): New.
3932 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
3933 against omp_get_supported_active_levels.
3934 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
3935
3936 2020-10-11 Clement Chigot <clement.chigot@atos.net>
3937
3938 * config/t-aix: Delete and recreate libgomp before creating
3939 FAT library.
3940
3941 2020-10-08 Tom de Vries <tdevries@suse.de>
3942
3943 PR libgomp/81802
3944 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3945 dimensions.
3946
3947 2020-10-06 Tom de Vries <tdevries@suse.de>
3948
3949 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3950
3951 2020-10-06 Tom de Vries <tdevries@suse.de>
3952
3953 PR middle-end/90861
3954 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3955
3956 2020-10-05 Tom de Vries <tdevries@suse.de>
3957
3958 PR fortran/95654
3959 * testsuite/libgomp.fortran/pr95654.f90: New test.
3960
3961 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
3962
3963 * Makefile.in: Regenerate with automake 1.15.1.
3964 * aclocal.m4: Likewise.
3965 * configure: Likewise.
3966 * testsuite/Makefile.in: Likewise.
3967
3968 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
3969
3970 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
3971 and amdgcn targets.
3972
3973 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
3974
3975 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
3976
3977 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
3978
3979 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
3980 total number of threads is one.
3981 (gomp_team_barrier_wake): Likewise.
3982 (gomp_team_barrier_wait_end): Likewise.
3983 (gomp_team_barrier_wait_cancel_end): Likewise.
3984 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
3985 (gomp_team_barrier_wake): Likewise.
3986 (gomp_team_barrier_wait_end): Likewise.
3987 (gomp_team_barrier_wait_cancel_end): Likewise.
3988 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
3989
3990 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
3991
3992 PR middle-end/96390
3993 * testsuite/libgomp.c++/pr96390.C: New test.
3994 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
3995
3996 2020-09-27 Clement Chigot <clement.chigot@atos.net>
3997
3998 * config/t-aix: Use $(AR) without -X32_64.
3999
4000 2020-09-25 Jakub Jelinek <jakub@redhat.com>
4001
4002 * testsuite/libgomp.c/loop-25.c: New test.
4003
4004 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
4005
4006 PR fortran/95654
4007 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
4008
4009 2020-09-22 Tom de Vries <tdevries@suse.de>
4010
4011 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
4012 fails.
4013
4014 2020-09-16 Nathan Sidwell <nathan@acm.org>
4015
4016 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
4017
4018 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
4019
4020 PR fortran/96668
4021 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
4022
4023 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
4024
4025 PR fortran/96668
4026 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
4027 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
4028 (gomp_map_vars_existing): Update call to it.
4029 (gomp_map_fields_existing): Likewise
4030 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
4031 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
4032 remapped.
4033 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
4034 GOMP_MAP_POINTER.
4035 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
4036 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
4037
4038 2020-09-14 Tom de Vries <tdevries@suse.de>
4039
4040 * config/nvptx/atomic.c: New file. Add
4041 __sync_val_compare_and_swap_16.
4042 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
4043 target offload_target_nvptx.
4044
4045 2020-09-08 Julian Brown <julian@codesourcery.com>
4046
4047 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
4048 iteration-ordering assumptions.
4049
4050 2020-09-08 Julian Brown <julian@codesourcery.com>
4051
4052 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
4053 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4054
4055 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
4056
4057 * plugin/plugin-nvptx.c (nvptx_free):
4058 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
4059 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
4060 comments.
4061
4062 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
4063
4064 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
4065
4066 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
4067
4068 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
4069
4070 2020-08-13 Jakub Jelinek <jakub@redhat.com>
4071
4072 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
4073 * testsuite/libgomp.c/loop-23.c (main): Likewise.
4074 * testsuite/libgomp.c/loop-24.c: New test.
4075
4076 2020-08-08 Jakub Jelinek <jakub@redhat.com>
4077 Tobias Burnus <tobias@codesourcery.com>
4078
4079 PR fortran/93553
4080 * testsuite/libgomp.fortran/pr93553.f90: New test.
4081
4082 2020-08-05 Jakub Jelinek <jakub@redhat.com>
4083
4084 * testsuite/libgomp.c/loop-22.c: New test.
4085 * testsuite/libgomp.c/loop-23.c: New test.
4086
4087 2020-08-05 Jakub Jelinek <jakub@redhat.com>
4088
4089 PR middle-end/96459
4090 * testsuite/libgomp.c/teams-3.c: New test.
4091 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
4092 if not defined yet.
4093 (N(test)): Use it before all N(f*) calls.
4094 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
4095 (main): Don't call all test_* functions from within
4096 #pragma omp teams reduction(|:err), call them directly.
4097
4098 2020-08-04 Tom de Vries <tdevries@suse.de>
4099
4100 PR target/96428
4101 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
4102 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
4103
4104 2020-08-03 Julian Brown <julian@codesourcery.com>
4105 Thomas Schwinge <thomas@codesourcery.com>
4106
4107 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
4108 shared-memory devices. Extend with further checking.
4109
4110 2020-08-03 Martin Jambor <mjambor@suse.cz>
4111
4112 * plugin/Makefrag.am: Remove configuration of HSA plugin.
4113 * aclocal.m4: Regenerated.
4114 * Makefile.in: Regenerated.
4115 * config.h.in: Regenerated.
4116 * configure: Regenerated.
4117 * plugin/configfrag.ac: Likewise.
4118 * plugin/hsa_ext_finalize.h: Removed.
4119 * plugin/plugin-hsa.c: Likewise.
4120 * testsuite/Makefile.in: Regenerated.
4121 * testsuite/lib/libgomp.exp
4122 (offload_target_to_openacc_device_type): Remove hsa case.
4123 (check_effective_target_hsa_offloading_selected_nocache): Removed
4124 (check_effective_target_hsa_offloading_selected): Likewise.
4125 (libgomp_init): Do not add -Wno-hsa to additional_flags.
4126 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
4127 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
4128 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
4129 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
4130 * testsuite/libgomp.hsa.c/c.exp: Likewise.
4131 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
4132 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
4133 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
4134 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
4135 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
4136 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
4137 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
4138 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
4139 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
4140 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
4141 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
4142 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
4143 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
4144 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
4145 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
4146 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
4147 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
4148 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4149 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4150
4151 2020-07-27 Julian Brown <julian@codesourcery.com>
4152 Thomas Schwinge <thomas@codesourcery.com>
4153
4154 * libgomp.h (struct target_var_desc): Rename do_detach field to
4155 is_attach.
4156 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
4157 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
4158 (goacc_enter_data_internal): Don't affect reference counts
4159 for attach mappings.
4160 (goacc_exit_data_internal): Don't affect reference counts for detach
4161 mappings.
4162 * target.c (gomp_map_vars_existing): Don't affect reference counts for
4163 attach mappings.
4164 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
4165 mark attach mappings.
4166 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
4167 reference count for attach mappings.
4168 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
4169 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
4170 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
4171 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
4172 test as shouldfail.
4173 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
4174 gracefully in no-finalize mode.
4175 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
4176
4177 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
4178
4179 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
4180 use.
4181 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4182 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4183
4184 2020-07-23 Julian Brown <julian@codesourcery.com>
4185 Thomas Schwinge <thomas@codesourcery.com>
4186
4187 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
4188 finalization for detach operation.
4189 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
4190 New test.
4191
4192 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
4193
4194 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
4195 * libgomp_f.h.in (omp_check_defines): Check whether
4196 sizeof of determined Fortran kind and C typedef match.
4197 * omp_lib.f90.in: Add omp_depened_kind.
4198 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
4199 * configure: Regenerate.
4200 * Makefile.in: Regenerate.
4201 * testsuite/Makefile.in: Regenerate.
4202
4203 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
4204
4205 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
4206 gcc/testsuite/c-c++-common/gomp/.
4207 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
4208 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
4209 from gcc/testsuite/gfortran.dg/gomp/.
4210 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
4211
4212 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
4213
4214 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
4215 * omp_lib.h.in: Likewise.
4216
4217 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
4218
4219 PR target/95620
4220 * testsuite/libgomp.c/pr95620.c: New test.
4221
4222 2020-07-16 Julian Brown <julian@codesourcery.com>
4223 Thomas Schwinge <thomas@codesourcery.com>
4224
4225 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
4226 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
4227
4228 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
4229
4230 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
4231 avoid conversion on 32bit systems from 32bit to 64bit due
4232 to -fdefault-integer-8.
4233
4234 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
4235
4236 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
4237 variables; add character(kind=4) tests; update TODO comment.
4238
4239 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
4240
4241 * allocator.c: Add ialias for omp_init_allocator and
4242 omp_destroy_allocator.
4243 * configure.ac: Set INTPTR_T_KIND.
4244 * configure: Regenerate.
4245 * Makefile.in: Regenerate.
4246 * testsuite/Makefile.in: Regenerate.
4247 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
4248 omp_set_default_allocator_, omp_get_default_allocator_): New
4249 functions and ialias_redirect.
4250 * icv.c: Add ialias for omp_set_default_allocator and
4251 omp_get_default_allocator.
4252 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
4253 omp_destroy_allocator_, omp_set_default_allocator_ and
4254 omp_get_default_allocator_.
4255 * omp_lib.f90.in: Add allocator traits parameters, declare
4256 allocator routines and add related kind parameters.
4257 * omp_lib.h.in: Likewise.
4258 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
4259 * testsuite/libgomp.fortran/alloc-1.F90: New test.
4260 * testsuite/libgomp.fortran/alloc-2.F90: New test.
4261 * testsuite/libgomp.fortran/alloc-3.F: New test.
4262 * testsuite/libgomp.fortran/alloc-4.f90: New test.
4263 * testsuite/libgomp.fortran/alloc-5.f90: New test.
4264
4265 2020-07-14 Tom de Vries <tom@codesourcery.com>
4266 Cesar Philippidis <cesar@codesourcery.com>
4267 Thomas Schwinge <thomas@codesourcery.com>
4268 Kwok Cheung Yeung <kcy@codesourcery.com>
4269
4270 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
4271 New variable.
4272 (acc_init_1): Set acc_init_thread to pthread_self (). Set
4273 acc_init_state to initializing at the start, and to initialized at the
4274 end.
4275 (self_initializing_p): New function.
4276 (acc_get_device_type): Return acc_device_none if called by thread that
4277 is currently executing acc_init_1.
4278 * libgomp.texi (acc_get_device_type): Update documentation.
4279 (Implementation Status and Implementation-Defined Behavior): Likewise.
4280 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
4281
4282 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
4283
4284 * config/t-aix: Set BITS from compiler cpp macro.
4285
4286 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
4287
4288 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
4289
4290 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
4291
4292 PR fortran/67311
4293 * testsuite/libgomp.fortran/target-map-1.f90: New test.
4294
4295 2020-07-14 Jakub Jelinek <jakub@redhat.com>
4296
4297 * testsuite/libgomp.c/loop-21.c: New test.
4298
4299 2020-07-13 Julian Brown <julian@codesourcery.com>
4300 Thomas Schwinge <thomas@codesourcery.com>
4301
4302 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
4303
4304 2020-07-10 Julian Brown <julian@codesourcery.com>
4305 Thomas Schwinge <thomas@codesourcery.com>
4306
4307 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
4308 dynamic_refcount.
4309 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4310 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
4311 dynamic_refcount.
4312 (acc_unmap_data): Update comment.
4313 (goacc_map_var_existing, goacc_enter_datum): Adjust for
4314 dynamic_refcount semantics.
4315 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
4316 Adjust for dynamic_refcount semantics.
4317 (goacc_enter_data_internal): Implement "present" case of dynamic
4318 memory-map handling here. Update "non-present" case for
4319 dynamic_refcount semantics.
4320 (goacc_exit_data_internal): Use goacc_exit_datum_1.
4321 * target.c (gomp_map_vars_internal): Remove
4322 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
4323 handling.
4324 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
4325 (gomp_load_image_to_device): Substitute dynamic_refcount for
4326 virtual_refcount.
4327 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
4328 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
4329 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
4330 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
4331 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
4332 trace output.
4333 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
4334 trace output.
4335 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
4336 test.
4337 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4338 Remove stale comment.
4339 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
4340 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
4341 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
4342 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
4343 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
4344 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
4345
4346 2020-07-10 Julian Brown <julian@codesourcery.com>
4347 Thomas Schwinge <thomas@codesourcery.com>
4348
4349 * oacc-mem.c (goacc_map_var_existing): New function.
4350 (goacc_enter_datum): Use above function.
4351 (goacc_exit_datum_1): New function.
4352 (goacc_exit_datum): Use above function.
4353
4354 2020-07-09 Julian Brown <julian@codesourcery.com>
4355 Thomas Schwinge <thomas@codesourcery.com>
4356
4357 PR middle-end/95270
4358 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
4359 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
4360
4361 2020-07-09 Julian Brown <julian@codesourcery.com>
4362
4363 * oacc-mem.c (find_group_last): Group data-movement clauses
4364 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
4365 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
4366
4367 2020-07-09 Jakub Jelinek <jakub@redhat.com>
4368
4369 * testsuite/libgomp.c/loop-19.c: New test.
4370 * testsuite/libgomp.c/loop-20.c: New test.
4371
4372 2020-07-09 Jakub Jelinek <jakub@redhat.com>
4373
4374 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
4375 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
4376 it. Remove __omp_alloctrait_value_max__.
4377 * allocator.c (omp_init_allocator): Handle omp_atv_default for
4378 omp_atk_alignment and omp_atk_pool_size.
4379
4380 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
4381
4382 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
4383 behavior for 'GOMP_MAP_FORCE_FROM'.
4384 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
4385
4386 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
4387
4388 * oacc-mem.c (goacc_exit_data_internal): Remove
4389 'GOMP_MAP_ALWAYS_FROM' handling.
4390
4391 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
4392
4393 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
4394 'scan-assembler' with 'scan-offload-rtl'.
4395 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
4396 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4397 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
4398 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
4399
4400 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
4401
4402 * target.c (gomp_map_vars_existing): Assert 'kind !=
4403 GOMP_MAP_ATTACH'.
4404 (gomp_map_vars_internal): Clean up.
4405
4406 2020-06-27 Jakub Jelinek <jakub@redhat.com>
4407
4408 * testsuite/libgomp.c/loop-17.c: New test.
4409 * testsuite/libgomp.c/loop-18.c: New test.
4410
4411 2020-06-26 Marek Polacek <polacek@redhat.com>
4412
4413 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
4414
4415 2020-06-23 Alexandre Oliva <oliva@adacore.com>
4416
4417 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
4418 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
4419
4420 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
4421
4422 * Makefile.am: Use -include.
4423 * Makefile.in: Regenerate.
4424
4425 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
4426
4427 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
4428 * Makefile.in: Regenerate
4429 * configure.ac (tmake_file): Substitute.
4430 * configure: Regenerate.
4431 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
4432 * config/t-aix: New file.
4433
4434 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
4435
4436 PR lto/94848
4437 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
4438 'dg-do run'.
4439
4440 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
4441
4442 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
4443 variant for HSA_RUNTIME_LIB name.
4444 (find_executable_symbol_1): Delete.
4445 (find_executable_symbol): Delete.
4446 (init_kernel_properties): Add ".kd" suffix to symbol names.
4447 (find_load_offset): Delete.
4448 (create_and_finalize_hsa_program): Remove relocation handling.
4449
4450 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
4451
4452 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
4453
4454 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
4455
4456 PR lto/94848
4457 PR middle-end/95551
4458 * testsuite/libgomp.fortran/target-var.f90: New test.
4459
4460 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
4461 Julian Brown <julian@codesourcery.com>
4462
4463 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
4464 special handling.
4465
4466 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
4467 Julian Brown <julian@codesourcery.com>
4468
4469 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
4470 Simplify.
4471
4472 2020-06-05 Julian Brown <julian@codesourcery.com>
4473
4474 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
4475 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
4476
4477 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4478
4479 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
4480 Evaluate 'copyfrom' individually for each entry.
4481 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
4482
4483 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4484
4485 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
4486 Evaluate 'finalize' individually for each entry.
4487 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
4488 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
4489 file.
4490
4491 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4492
4493 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
4494 usage.
4495 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
4496
4497 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4498 Julian Brown <julian@codesourcery.com>
4499
4500 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
4501 checking.
4502 (acc_unmap_data, goacc_exit_data_internal): Restore
4503 'is_tgt_unmapped' checking.
4504 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
4505 file.
4506 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
4507 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
4508 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
4509 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
4510 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
4511 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
4512
4513 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4514 Julian Brown <julian@codesourcery.com>
4515
4516 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
4517
4518 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4519
4520 PR libgomp/92854
4521 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
4522
4523 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4524
4525 PR libgomp/92854
4526 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
4527 more.
4528
4529 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4530 Julian Brown <julian@codesourcery.com>
4531
4532 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
4533 'gomp_map_vars'.
4534 (acc_map_data): Clean up accordingly.
4535
4536 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4537
4538 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
4539 of over-eager 'finalize' clause.
4540 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
4541 file.
4542 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
4543 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
4544 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
4545 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
4546 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
4547 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
4548 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
4549 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
4550
4551 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4552
4553 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
4554
4555 2020-06-04 Julian Brown <julian@codesourcery.com>
4556
4557 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
4558 error path.
4559 (goacc_detach_internal): Likewise.
4560
4561 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4562
4563 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
4564 the checkpoint.
4565 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4566 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4567 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4568 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4569 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4570
4571 2020-06-02 Jakub Jelinek <jakub@redhat.com>
4572
4573 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
4574 defined.
4575
4576 2020-05-30 Jakub Jelinek <jakub@redhat.com>
4577
4578 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
4579
4580 2020-05-30 Jakub Jelinek <jakub@redhat.com>
4581
4582 * allocator.c (omp_alloc): For size == 0, return NULL early.
4583
4584 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
4585
4586 PR bootstrap/95413
4587 * configure: Regenerated.
4588
4589 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
4590
4591 PR libfortran/95191
4592 * testsuite/libgomp.fortran/async_io_9.f90: New test.
4593
4594 2020-05-19 Jakub Jelinek <jakub@redhat.com>
4595
4596 * omp.h.in (omp_uintptr_t): New typedef.
4597 (__GOMP_UINTPTR_T_ENUM): Define.
4598 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
4599 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
4600 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
4601 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
4602 omp_get_default_allocator, omp_alloc, omp_free): Declare.
4603 * libgomp.h (struct gomp_team_state): Add def_allocator field.
4604 (gomp_def_allocator): Declare.
4605 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
4606 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
4607 omp_alloc and omp_free.
4608 * team.c (gomp_team_start): Copy over ts.def_allocator.
4609 * env.c (gomp_def_allocator): New variable.
4610 (parse_wait_policy): Adjust function comment.
4611 (parse_allocator): New function.
4612 (handle_omp_display_env): Print OMP_ALLOCATOR.
4613 (initialize_env): Call parse_allocator.
4614 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
4615 * allocator.c: New file.
4616 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
4617 functions.
4618 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
4619 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
4620 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
4621 * Makefile.in: Regenerated.
4622
4623 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
4624
4625 PR bootstrap/95147
4626 * configure: Regenerated.
4627
4628 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
4629
4630 PR libfortran/95119
4631 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
4632
4633 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
4634
4635 * configure: Regenerated.
4636
4637 2020-05-14 Jakub Jelinek <jakub@redhat.com>
4638
4639 * testsuite/libgomp.c-c++-common/target-40.c: New test.
4640
4641 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
4642
4643 PR fortran/94690
4644 * testsuite/libgomp.fortran/pr66199-3.f90: New.
4645 * testsuite/libgomp.fortran/pr66199-4.f90: New.
4646 * testsuite/libgomp.fortran/pr66199-5.f90: New.
4647 * testsuite/libgomp.fortran/pr66199-6.f90: New.
4648 * testsuite/libgomp.fortran/pr66199-7.f90: New.
4649 * testsuite/libgomp.fortran/pr66199-8.f90: New.
4650 * testsuite/libgomp.fortran/pr66199-9.f90: New.
4651
4652 2020-05-12 Jakub Jelinek <jakub@redhat.com>
4653
4654 * testsuite/libgomp.c/target-39.c: New test.
4655
4656 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
4657
4658 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
4659 * openacc.f90 (acc_device_current): Likewise.
4660 * openacc.h (acc_device_current): Likewise.
4661 * openacc_lib.h (acc_device_current): Likewise.
4662
4663 PR target/94282
4664 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
4665 'dg-allow-blank-lines-in-output'.
4666
4667 * oacc-init.c (get_openacc_name): Handle 'gcn'.
4668 * testsuite/lib/libgomp.exp
4669 (offload_target_to_openacc_device_type) [amdgcn*]: Return
4670 'radeon'. Adjust all users.
4671 (check_effective_target_openacc_amdgcn_accel_present): Rename
4672 to...
4673 (check_effective_target_openacc_radeon_accel_present): ... this.
4674 Adjust all users.
4675 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
4676 (check_effective_target_openacc_radeon_accel_selected): ... this.
4677 Adjust all users.
4678
4679 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
4680 'dg-do run'.
4681
4682 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
4683
4684 PR other/94629
4685
4686 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
4687 hsa_iterate_agents.
4688 (GOMP_OFFLOAD_init_device): Check return values from both calls to
4689 hsa_agent_iterate_regions.
4690
4691 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
4692
4693 PR middle-end/94635
4694 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4695 run'.
4696
4697 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
4698
4699 PR middle-end/94120
4700 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4701 test case.
4702
4703 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
4704
4705 PR middle-end/94635
4706 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4707
4708 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
4709
4710 PR libgomp/92843
4711 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4712 Rename to...
4713 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4714 ... this.
4715 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4716 Rename to...
4717 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4718 ... this.
4719 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4720 Rename to...
4721 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4722 ... this.
4723 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4724 Rename to...
4725 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4726 ... this.
4727 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4728 Rename to...
4729 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4730 ... this.
4731 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4732 Rename to...
4733 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4734 ... this.
4735 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4736 Rename to...
4737 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4738 ... this.
4739 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4740 Rename to...
4741 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4742 ... this.
4743 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4744 Rename to...
4745 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4746 ... this.
4747 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4748 Rename to...
4749 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4750 ... this.
4751 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4752 Rename to...
4753 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4754 ... this.
4755 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4756 Rename to...
4757 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4758 ... this.
4759 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4760 Rename to...
4761 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4762 ... this.
4763 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4764 Rename to...
4765 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4766 ... this.
4767 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4768 Rename to...
4769 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4770 ... this.
4771 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4772 Rename to...
4773 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4774 ... this.
4775
4776 2020-04-10 Julian Brown <julian@codesourcery.com>
4777 Thomas Schwinge <thomas@codesourcery.com>
4778
4779 PR libgomp/92843
4780 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4781 New file.
4782 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4783 Likewise.
4784 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4785 Likewise.
4786 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4787 Likewise.
4788 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4789 Likewise.
4790 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4791 Likewise.
4792 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4793 Likewise.
4794 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4795 Likewise.
4796 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4797 Likewise.
4798 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4799 Likewise.
4800 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4801 Likewise.
4802 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4803 Likewise.
4804 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4805 Likewise.
4806 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4807 Likewise.
4808 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4809 Likewise.
4810 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4811 Likewise.
4812
4813 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
4814
4815 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4816 run'.
4817
4818 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
4819
4820 PR middle-end/94120
4821 * libgomp.oacc-c++/declare-pr94120.C: New.
4822
4823 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
4824
4825 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4826 files.
4827 * configure: Regenerate.
4828 * testsuite/libgomp-site-extra.exp.in: New file.
4829 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4830 variable.
4831 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4832 variable.
4833 * testsuite/Makefile.in: Regenerate.
4834
4835 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
4836
4837 PR tree-optimization/89713
4838 PR c/94392
4839 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4840 'bar.sync'.
4841 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4842
4843 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
4844
4845 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4846 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4847
4848 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
4849
4850 PR libgomp/81689
4851 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4852
4853 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
4854
4855 PR libgomp/94251
4856 * target.c (gomp_load_image_to_device): Fix link
4857 variable handling.
4858
4859 2020-03-19 Jakub Jelinek <jakub@redhat.com>
4860
4861 PR c++/93931
4862 * testsuite/libgomp.c++/pr93931.C: New test.
4863
4864 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
4865
4866 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4867 dg-allow-blank-lines-in-output.
4868
4869 2020-03-18 Julian Brown <julian@codesourcery.com>
4870 Tobias Burnus <tobias@codesourcery.com>
4871
4872 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4873 it work concurrently.
4874
4875 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
4876
4877 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4878 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4879 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4880
4881 2020-03-14 Jakub Jelinek <jakub@redhat.com>
4882
4883 PR middle-end/93566
4884 * testsuite/libgomp.c/pr93566.c: New test.
4885
4886 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
4887
4888 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4889 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4890 integer(acc_device_property) for the type of the return value of
4891 acc_get_property.
4892
4893 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
4894
4895 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4896 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4897 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4898 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4899 (acc_set_device_num): Fix Fortran argument name, use same name for C.
4900 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
4901 corrections; add note about the previous interface and named constant.
4902 (OpenACC library and environment variables): Fix two typos.
4903 * openacc.f90: Use for all procedures the argument names from the spec
4904 as for …_h they are user visible.
4905 (openacc_kinds): Rename acc_device_property to
4906 acc_device_property_kinds and change value to int32 ; and update users.
4907 Re-add acc_device_property for for backward compatibility.
4908 (acc_get_property_string_h): Clean up as acc_device_property_kind
4909 changed.
4910 (acc_get_property_h): Likewise and return c_size_t instead of
4911 acc_device_property.
4912 (openacc): Also export acc_device_property_kinds.
4913 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4914 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4915 handling; check against /= 0 instead of == 1 to match C.
4916 * openacc_lib.h: Use for all procedures the argument names from the spec
4917 as for …_h they are user visible. Place !GCC$ into the first column to
4918 be active also for fixed-form souce form.
4919 (acc_device_current, acc_device_property_kind, acc_device_property,
4920 acc_property_memory, acc_property_free_memory, acc_property_name,
4921 acc_property_vendor, acc_property_driver): New named constants.
4922 (acc_get_property, acc_get_property_string): New generic interface.
4923
4924 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
4925
4926 PR libgomp/93481
4927 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4928 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
4929 optional.
4930 (gomp_target_task_fn): Assert "devicep->async_run_func".
4931 (clear_unsupported_flags): New function to remove unsupported flags
4932 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
4933 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
4934 * testsuite/libgomp.c/target-33.c:
4935 Remove xfail for offload_target_nvptx.
4936 * testsuite/libgomp.c/target-34.c: Likewise.
4937
4938 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
4939
4940 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
4941 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
4942 * testsuite/libgomp.c/target-34.c: Likewise.
4943 * testsuite/libgomp.c/target-link-1.c: Add xfail for
4944 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
4945
4946 2020-02-09 Jakub Jelinek <jakub@redhat.com>
4947
4948 * testsuite/libgomp.c/target-38.c: New test.
4949
4950 2020-02-06 Jakub Jelinek <jakub@redhat.com>
4951
4952 PR libgomp/93515
4953 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
4954
4955 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
4956
4957 * testsuite/lib/libgomp.exp
4958 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
4959 and not as 'source' argument to libgomp_target_compile.
4960
4961 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
4962
4963 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
4964 (gcn_gfx801_s): Remove.
4965 (isa_hsa_name): Remove gfx801.
4966 (isa_gcc_name): Remove gfx801/carizzo.
4967 (isa_code): Remove gfx801.
4968
4969 2020-02-03 Julian Brown <julian@codesourcery.com>
4970 Tobias Burnus <tobias@codesourcery.com>
4971
4972 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
4973 and *_finalize variants; document acc_attach and acc_detach; update
4974 references from OpenACC 2.0 to 2.6.
4975 * openacc.f90 (openacc_version): Update to 201711.
4976 * openacc_lib.h (openacc_version): Update to 201711.
4977 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
4978 openacc_version to 201711.
4979 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4980
4981 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
4982
4983 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
4984 and vgpr_count fields.
4985 (struct kernel_info): Add a field for a hsa_kernel_description.
4986 (run_kernel): Reduce the number of threads/workers if the requested
4987 number would require too many VGPRs.
4988 (init_basic_kernel_info): Initialize description field with
4989 the hsa_kernel_description entry for the kernel.
4990
4991 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
4992
4993 PR bootstrap/93409
4994 * plugin/configfrag.ac (enable_offload_targets): Skip
4995 HSA and GCN plugin besides -m32 also for -mx32.
4996 * configure: Regenerate.
4997
4998 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
4999
5000 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
5001
5002 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
5003
5004 * plugin-gcn.c (struct agent_info): Add fields "name" and
5005 "vendor_name" ...
5006 (GOMP_OFFLOAD_init_device): ... and init from here.
5007 (struct hsa_context_info): Add field "driver_version_s" ...
5008 (init_hsa_contest): ... and init from here.
5009 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
5010 implementation.
5011 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
5012 Enable test execution for amdgcn and host offloading targets.
5013 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
5014 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
5015 (expect_device_properties): Split function into ...
5016 (expect_device_string_properties): ... this new function ...
5017 (expect_device_memory): ... and this new function.
5018 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
5019 Add test.
5020
5021 2020-01-28 Julian Brown <julian@codesourcery.com>
5022
5023 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
5024 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
5025 component/non-component variable refs in a single directive.
5026 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
5027
5028 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
5029
5030 * configure.ac: Handle `--with-toolexeclibdir='.
5031 * Makefile.in: Regenerate.
5032 * aclocal.m4: Regenerate.
5033 * configure: Regenerate.
5034 * testsuite/Makefile.in: Regenerate.
5035
5036 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
5037
5038 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
5039 (expect_device_properties): Remove "expected_free_mem" argument,
5040 change "expected_total_mem" argument type to size_t;
5041 change types of acc_get_property results to size_t,
5042 adapt format strings.
5043 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
5044 Use %zu instead of %zd to print size_t values.
5045 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
5046 rename to ...
5047 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
5048 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
5049 rename to ...
5050 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
5051
5052 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
5053
5054 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
5055 the device id.
5056
5057 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
5058
5059 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
5060 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
5061 Adjust test dimensions for amdgcn.
5062 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
5063 gang/worker/vector expectations dynamically.
5064 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
5065 (main): Likewise.
5066 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
5067 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
5068 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
5069 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
5070 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
5071 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
5072 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
5073 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
5074 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5075 (acc_gang): Recognise acc_device_radeon.
5076 (acc_worker): Likewise.
5077 (acc_vector): Likewise.
5078 (main): Set expectations for amdgcn.
5079 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
5080 (main): Adjust gang/worker/vector expectations dynamically.
5081 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
5082 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
5083 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
5084 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
5085 for amdgcn.
5086
5087 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
5088
5089 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
5090 acc_device_radeon.
5091 (openacc): Likewise.
5092 * openacc.f90 (openacc_kinds): Likewise.
5093 (openacc): Likewise.
5094 * openacc.h (acc_device_t): Likewise.
5095 * openacc_lib.h: Likewise.
5096 * testsuite/lib/libgomp.exp
5097 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
5098 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
5099 (cb_compute_construct_end): Likewise.
5100 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5101 (cb_enqueue_launch_start): Likewise.
5102 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
5103 (cb_enter_data_end): Likewise.
5104 (cb_exit_data_start): Likewise.
5105 (cb_exit_data_end): Likewise.
5106 (cb_compute_construct_end): Likewise.
5107 (cb_enqueue_launch_start): Likewise.
5108 (cb_enqueue_launch_end): Likewise.
5109 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
5110 (main): Likewise.
5111
5112 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
5113
5114 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
5115 to use this instead of 'enum gomp_device_property'.
5116 (GOMP_OFFLOAD_get_property): Rename to...
5117 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
5118 * libgomp.h (struct gomp_device_descr): Move
5119 'GOMP_OFFLOAD_openacc_get_property'...
5120 (struct acc_dispatch_t): ... here. Adjust all users.
5121 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
5122
5123 * target.c (gomp_map_vars_internal)
5124 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
5125 paths.
5126
5127 2020-01-10 Jakub Jelinek <jakub@redhat.com>
5128
5129 PR libgomp/93219
5130 * libgomp.h (gomp_print_string): Change return type from void to int.
5131 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
5132 not all characters have been written.
5133
5134 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
5135
5136 * libgomp.texi: Fix typos, use https.
5137
5138 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
5139
5140 * testsuite/libgomp.fortran/optional-map.f90: Add test for
5141 unallocated/disassociated actual arguments to nonallocatable/nonpointer
5142 dummy arguments; those are/shall be regarded as absent arguments.
5143 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5144 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
5145
5146 2020-01-01 Jakub Jelinek <jakub@redhat.com>
5147
5148 Update copyright years.
5149
5150 * libgomp.texi: Bump @copying's copyright year.
5151
5152 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
5153
5154 PR libgomp/93065
5155 * oacc-init.c (goacc_runtime_deinitialize): New function.
5156
5157 2019-12-28 Jakub Jelinek <jakub@redhat.com>
5158
5159 PR bootstrap/93074
5160 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
5161 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
5162
5163 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
5164 Frederik Harwath <frederik@codesourcery.com>
5165 Thomas Schwinge <tschwinge@codesourcery.com>
5166
5167 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
5168 * libgomp-plugin.h (gomp_device_property_value): New union.
5169 (gomp_device_property_value): New prototype.
5170 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
5171 constant.
5172 (acc_device_property_t): New enum.
5173 (acc_get_property, acc_get_property_string): New prototypes.
5174 * oacc-init.c (acc_get_device_type): Also assert that result
5175 is not `acc_device_current'.
5176 (get_property_any, acc_get_property, acc_get_property_string):
5177 New functions.
5178 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
5179 `acc_property_memory', `acc_property_free_memory',
5180 `acc_property_name', `acc_property_vendor' and
5181 `acc_property_driver' constants. Add `acc_device_property' data
5182 type.
5183 (openacc_internal): Add `acc_get_property' and
5184 `acc_get_property_string' interfaces. Add `acc_get_property_h',
5185 `acc_get_property_string_h', `acc_get_property_l' and
5186 `acc_get_property_string_l'.
5187 * oacc-host.c (host_get_property): New function.
5188 (host_dispatch): Wire it.
5189 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
5190 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
5191 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
5192 * libgomp.texi (OpenACC Runtime Library Routines): Add
5193 `acc_get_property'.
5194 (acc_get_property): New node.
5195 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
5196 function (stub).
5197 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
5198 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
5199 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
5200 calls.
5201 (GOMP_OFFLOAD_get_property): New function.
5202 (struct ptx_device): Add new field "name".
5203 (cuda_driver_version_s): Add new static variable ...
5204 (nvptx_init): ... and init from here.
5205
5206 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
5207 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
5208 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
5209 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
5210 with test helper functions.
5211
5212 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
5213
5214 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
5215
5216 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
5217 variable.
5218
5219 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
5220
5221 * target.c (gomp_map_vars_internal): Restore 'omp declare target
5222 link' handling.
5223
5224 2019-12-19 Julian Brown <julian@codesourcery.com>
5225
5226 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
5227 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
5228 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
5229
5230 2019-12-19 Julian Brown <julian@codesourcery.com>
5231 Cesar Philippidis <cesar@codesourcery.com>
5232
5233 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
5234 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
5235 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
5236 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
5237 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
5238 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
5239 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
5240 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
5241 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
5242 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
5243 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
5244 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
5245 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
5246
5247 2019-12-19 Julian Brown <julian@codesourcery.com>
5248
5249 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
5250 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
5251 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
5252 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
5253 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
5254 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
5255 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
5256 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
5257 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
5258 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
5259 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
5260 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
5261
5262 2019-12-19 Julian Brown <julian@codesourcery.com>
5263
5264 * libgomp.h (struct target_var_desc): Add do_detach flag.
5265 * oacc-init.c (acc_shutdown_1): Free aux block if present.
5266 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
5267 struct components. Tidy up and add some new checks.
5268 (goacc_enter_data_internal): Update call to find_group_last.
5269 (goacc_exit_data_internal): Support detach operations and
5270 GOMP_MAP_STRUCT.
5271 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
5272 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
5273 attach/detach in enter/exit data detection code.
5274 * target.c (gomp_map_vars_existing): Initialise do_detach field of
5275 tgt_var_desc.
5276 (gomp_map_vars_internal): Support attach.
5277 (gomp_unmap_vars_internal): Support detach.
5278
5279 2019-12-19 Julian Brown <julian@codesourcery.com>
5280 Thomas Schwinge <thomas@codesourcery.com>
5281
5282 * libgomp.h (struct splay_tree_aux): Add attach_count field.
5283 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
5284 * libgomp.map (OACC_2.6): New section. Add acc_attach,
5285 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
5286 acc_detach_finalize_async.
5287 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
5288 acc_detach, acc_detach_async, acc_detach_finalize,
5289 acc_detach_finalize_async): New functions.
5290 * openacc.h (acc_attach, acc_attach_async, acc_detach,
5291 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
5292 prototypes.
5293 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
5294 (gomp_remove_var_internal): Free attachment counts if present.
5295 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
5296 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
5297
5298 2019-12-19 Julian Brown <julian@codesourcery.com>
5299 Cesar Philippidis <cesar@codesourcery.com>
5300
5301 * libgomp.h (gomp_map_val): Add prototype.
5302 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
5303 open-coding device-address calculation.
5304 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
5305 non-present case.
5306
5307 2019-12-19 Julian Brown <julian@codesourcery.com>
5308
5309 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
5310 field for virtual_refcount.
5311 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
5312 (gomp_free_memmap): Remove prototype.
5313 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
5314 instead of calling gomp_free_memmap.
5315 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
5316 dynamic_refcount.
5317 (acc_unmap_data): Open code instead of forcing target_mem_desc's
5318 to_free field to NULL then calling gomp_unmap_vars. Handle
5319 REFCOUNT_INFINITY on target blocks.
5320 (goacc_enter_data): Rename to...
5321 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
5322 handling for mapping groups. Use virtual_refcount instead of
5323 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
5324 map_map_vars_async call. Re-do lookup for target pointer return value.
5325 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
5326 renamed goacc_enter_datum function.
5327 (goacc_exit_data): Rename to...
5328 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
5329 (acc_delete, acc_delete_async, acc_delete_finalize,
5330 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
5331 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
5332 goacc_exit_datum function.
5333 (gomp_acc_remove_pointer, find_pointer): Remove functions.
5334 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
5335 New functions.
5336 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
5337 goacc_exit_data_internal helper functions.
5338 * target.c (gomp_map_vars_internal): Handle
5339 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
5340 semantics.
5341 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
5342 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
5343 virtual_refcount field instead of dynamic_refcount.
5344 (gomp_free_memmap): Remove function.
5345 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
5346 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
5347 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
5348
5349 2019-12-19 Julian Brown <julian@codesourcery.com>
5350 Thomas Schwinge <thomas@codesourcery.com>
5351
5352 * libgomp.h (struct splay_tree_aux): New.
5353 (struct splay_tree_key_s): Replace link_key field with aux pointer.
5354 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
5355 to aux struct.
5356 (gomp_remove_var_internal): Free aux block if present.
5357 (gomp_load_image_to_device): Zero-initialise aux field instead of
5358 link_key field.
5359 (omp_target_associate_pointer): Zero-initialise aux field.
5360
5361 2019-12-18 Jakub Jelinek <jakub@redhat.com>
5362
5363 PR middle-end/86416
5364 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
5365 q or none.
5366 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
5367 L or none.
5368
5369 2019-12-19 Julian Brown <julian@codesourcery.com>
5370 Maciej W. Rozycki <macro@codesourcery.com>
5371 Tobias Burnus <tobias@codesourcery.com>
5372 Thomas Schwinge <thomas@codesourcery.com>
5373
5374 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
5375 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
5376 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
5377 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
5378 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
5379 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
5380 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
5381 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
5382 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
5383
5384 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
5385
5386 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
5387 called...
5388 (goacc_insert_pointer): ... from here, "present" case.
5389 (goacc_insert_pointer): Inline function into...
5390 (GOACC_enter_exit_data): ... here, and simplify.
5391
5392 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
5393 called...
5394 (goacc_insert_pointer): ... from here, "not present" case.
5395
5396 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
5397 all users.
5398
5399 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
5400 'goacc_enter_data', 'goacc_exit_data'.
5401
5402 * oacc-mem.c (delete_copyout): Refactor into...
5403 (goacc_exit_data): ... this. Adjust all users.
5404
5405 * oacc-mem.c (present_create_copy): Refactor into...
5406 (goacc_enter_data): ... this. Adjust all users.
5407
5408 * target.c (gomp_unmap_vars_internal): Add a safeguard to
5409 'gomp_remove_var'.
5410
5411 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
5412 like 'GOMP_MAP_FROM'.
5413
5414 PR libgomp/92726
5415 PR libgomp/92970
5416 PR libgomp/92984
5417 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
5418 fails.
5419 (GOACC_enter_exit_data): Simplify accordingly.
5420 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
5421 subsuming...
5422 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
5423 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
5424 file.
5425 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
5426 subsuming...
5427 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
5428 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
5429 file.
5430 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
5431 subsuming...
5432 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
5433
5434 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
5435 'finalize' handling.
5436
5437 PR libgomp/92848
5438 * oacc-mem.c (acc_map_data, present_create_copy)
5439 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
5440 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
5441 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
5442 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
5443 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
5444 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
5445 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
5446 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5447 Remove "XFAIL"s.
5448
5449 * target.c (gomp_unmap_tgt): Make it 'static'.
5450 * libgomp.h (gomp_unmap_tgt): Remove.
5451
5452 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
5453
5454 PR middle-end/86416
5455 * testsuite/libgomp.c/pr86416-1.c: New.
5456 * testsuite/libgomp.c/pr86416-2.c: New.
5457
5458 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
5459
5460 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
5461 all symbols as public except for the 'use …, only' imported symbol,
5462 which is private.
5463 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
5464 all symbols from module openacc_kinds as PUBLIC
5465 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
5466 fix comment typo.
5467 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
5468
5469 2019-12-13 Julian Brown <julian@codesourcery.com>
5470
5471 PR libgomp/92881
5472
5473 * libgomp.h (gomp_remove_var_async): Add prototype.
5474 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
5475 gomp_remove_var.
5476 * target.c (gomp_unref_tgt): Change return type to bool, indicating
5477 whether target_mem_desc was unmapped.
5478 (gomp_unref_tgt_void): New.
5479 (gomp_remove_var): Reimplement in terms of...
5480 (gomp_remove_var_internal): ...this new helper function.
5481 (gomp_remove_var_async): New, implemented using above helper function.
5482 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
5483 gomp_unref_tgt.
5484
5485 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
5486
5487 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
5488 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
5489 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
5490 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
5491 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
5492 Likewise.
5493 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
5494 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
5495
5496 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
5497
5498 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
5499 as public except for the 'use …, only' imported symbol, which is
5500 private.
5501 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
5502 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
5503 attributes for acc_copyout_finalize and acc_delete_finalize.
5504
5505 2019-12-11 Jakub Jelinek <jakub@redhat.com>
5506
5507 PR fortran/92899
5508 * testsuite/libgomp.fortran/atomic1.f90: New test.
5509
5510 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
5511
5512 PR libgomp/92843
5513 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
5514 reference counting for structured 'REFCOUNT_INFINITY'. Add some
5515 assertions.
5516 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
5517 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
5518 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
5519 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5520 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5521
5522 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
5523 * oacc-mem.c: ... here.
5524 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
5525 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
5526 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
5527 Remove.
5528 * libgomp_g.h: Update.
5529
5530 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
5531 * oacc-async.c: ... here.
5532 * oacc-int.h (goacc_wait): Declare.
5533 * libgomp_g.h: Update
5534
5535 PR libgomp/92854
5536 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
5537 New file.
5538 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
5539 Likewise.
5540 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
5541 Likewise.
5542 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
5543 Likewise.
5544 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
5545 Likewise.
5546 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
5547 Likewise.
5548
5549 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
5550 Julian Brown <julian@codesourcery.com>
5551
5552 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
5553 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
5554
5555 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
5556
5557 * omp_lib.h.in: Fix spelling of function declaration
5558 omp_get_cancell(l)ation.
5559 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
5560 Fix typos.
5561 * env.c: Fix comment typos.
5562 * oacc-host.c: Likewise.
5563 * ordered.c: Likewise.
5564 * task.c: Likewise.
5565 * team.c: Likewise.
5566 * config/gcn/task.c: Likewise.
5567 * config/gcn/team.c: Likewise.
5568 * config/nvptx/task.c: Likewise.
5569 * config/nvptx/team.c: Likewise.
5570 * plugin/plugin-gcn.c: Likewise.
5571 * testsuite/libgomp.fortran/jacobi.f: Likewise.
5572 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5573 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
5574
5575 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
5576
5577 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
5578 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
5579 unnecessary 'dg-additional-options "-w"'.
5580
5581 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
5582 Julian Brown <julian@codesourcery.com>
5583
5584 PR libgomp/92116
5585 PR libgomp/92877
5586
5587 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
5588 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
5589 Adjust all users.
5590 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5591 Remove XFAIL.
5592 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5593 Likewise.
5594 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
5595
5596 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
5597
5598 PR libgomp/92503
5599 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
5600 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
5601 file.
5602 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
5603 Likewise.
5604 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
5605 Likewise.
5606 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
5607 Likewise.
5608 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5609 Likewise.
5610 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5611 Likewise.
5612 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5613 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5614 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5615 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5616 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5617 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5618 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5619 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5620 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
5621 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5622
5623 PR libgomp/92840
5624 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
5625 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
5626 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
5627 New file.
5628 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
5629 Likewise.
5630 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
5631 Likewise.
5632 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5633 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
5634
5635 PR libgomp/92511
5636 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
5637 this file...
5638 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
5639 this file...
5640 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
5641 file...
5642 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
5643 file...
5644 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5645 ... with their content moved into, and extended in this new file.
5646 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
5647 New file.
5648 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
5649 Likewise.
5650 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
5651 Likewise.
5652 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
5653 Likewise.
5654
5655 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
5656
5657 PR libgomp/92854
5658 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
5659
5660 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
5661
5662 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
5663
5664 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
5665
5666 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
5667 unique.
5668 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
5669 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5670 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
5671 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
5672 Ditto.
5673 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
5674 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
5675
5676 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
5677
5678 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
5679
5680 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
5681 Kwok Cheung Yeung <kcy@codesourcery.com>
5682
5683 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
5684 if input it a NULL pointer.
5685 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
5686 diagnostic of NULL pointer.
5687 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
5688 * testsuite/libgomp.fortran/optional-map.f90: New.
5689 * testsuite/libgomp.fortran/use_device_addr-1.f90
5690 (test_dummy_opt_callee_1_absent): New.
5691 (test_dummy_opt_call_1): Call it.
5692 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5693 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
5694 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5695 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
5696 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
5697 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
5698 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
5699 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
5700 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
5701 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
5702 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
5703 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
5704 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
5705 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
5706 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
5707 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
5708
5709 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
5710
5711 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
5712 expect dg-output of 'Error termination.' for GCN.
5713 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5714 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5715
5716 2019-12-04 Jakub Jelinek <jakub@redhat.com>
5717
5718 PR fortran/92756
5719 * testsuite/libgomp.fortran/teams1.f90: New test.
5720 * testsuite/libgomp.fortran/teams2.f90: New test.
5721
5722 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
5723
5724 * oacc-init.c (acc_known_device_type): Add function.
5725 (unknown_device_type_error): Add function.
5726 (name_of_acc_device_t): Change to call unknown_device_type_error
5727 on unknown type.
5728 (resolve_device): Use acc_known_device_type.
5729 (acc_init): Fail if acc_device_t argument is not valid.
5730 (acc_shutdown): Likewise.
5731 (acc_get_num_devices): Likewise.
5732 (acc_set_device_type): Likewise.
5733 (acc_get_device_num): Likewise.
5734 (acc_set_device_num): Likewise.
5735 (acc_on_device): Add comment that argument validity is not checked.
5736
5737 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
5738
5739 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5740 Recognize amdgcn.
5741 (check_effective_target_openacc_amdgcn_accel_present): New proc.
5742 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
5743 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
5744 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5745 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5746
5747 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
5748
5749 PR libgomp/91938
5750 * configure.tgt: Avoid IE tls on *-*-musl*.
5751
5752 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
5753
5754 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5755 adding a common-block test case.
5756
5757 2019-11-29 Jakub Jelinek <jakub@redhat.com>
5758
5759 PR c++/60228
5760 * testsuite/libgomp.c++/udr-20.C: New test.
5761 * testsuite/libgomp.c++/udr-21.C: New test.
5762
5763 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
5764
5765 * testsuite/lib/libgomp.exp
5766 (check_effective_target_offload_target_nvptx): New proc.
5767 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
5768 'dg-skip-if'.
5769 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
5770 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
5771 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
5772
5773 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5774
5775 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
5776 * testsuite/libgomp.c/pr39591-2.c: Likewise.
5777 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5778 * testsuite/libgomp.c/private-1.c: Likewise.
5779 * testsuite/libgomp.c/task-1.c: Likewise.
5780 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
5781
5782 2019-11-20 Julian Brown <julian@codesourcery.com>
5783
5784 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
5785 aq->mutex here.
5786 (queue_push_launch): Lock aq->mutex before calling
5787 wait_for_queue_nonfull.
5788 (queue_push_callback): Likewise.
5789 (queue_push_asyncwait): Likewise.
5790 (queue_push_placeholder): Likewise.
5791
5792 2019-11-20 Julian Brown <julian@codesourcery.com>
5793
5794 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
5795 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5796 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
5797 return code.
5798
5799 2019-11-20 Julian Brown <julian@codesourcery.com>
5800
5801 PR libgomp/92511
5802
5803 * oacc-mem.c (present_create_copy): Fix device pointer return value in
5804 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
5805 in non-present/create case.
5806 (delete_copyout): Change error condition to fail only on copies outside
5807 of mapped block. Adjust error message accordingly.
5808 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5809 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5810 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5811 message.
5812 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5813 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5814 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5815
5816 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
5817
5818 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5819 libatomic in build-tree testing.
5820
5821 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
5822
5823 * testsuite/Makefile.in: Regenerate.
5824
5825 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
5826
5827 * testsuite/libgomp.c/target-print-1.c: New file.
5828 * testsuite/libgomp.fortran/target-print-1.f90: New file.
5829 * testsuite/libgomp.oacc-c/print-1.c: New file.
5830 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5831
5832 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5833 Kwok Cheung Yeung <kcy@codesourcery.com>
5834 Julian Brown <julian@codesourcery.com>
5835 Tom de Vries <tom@codesourcery.com>
5836
5837 * plugin/Makefrag.am: Add amdgcn plugin support.
5838 * plugin/configfrag.ac: Likewise.
5839 * plugin/plugin-gcn.c: New file.
5840 * configure: Regenerate.
5841 * Makefile.in: Regenerate.
5842 * testsuite/Makefile.in: Regenerate.
5843
5844 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5845
5846 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5847 and use team_malloc variants.
5848 (gomp_gcn_exit_kernel): Use team_free.
5849 * libgomp.h (TEAM_ARENA_SIZE): Define.
5850 (TEAM_ARENA_START): Define.
5851 (TEAM_ARENA_FREE): Define.
5852 (TEAM_ARENA_END): Define.
5853 (team_malloc): New function.
5854 (team_malloc_cleared): New function.
5855 (team_free): New function.
5856 * team.c (gomp_new_team): Initialize and use team_malloc.
5857 (free_team): Use team_free.
5858 (gomp_free_thread): Use team_free.
5859 (gomp_pause_host): Use team_free.
5860 * work.c (gomp_init_work_share): Use team_malloc.
5861 (gomp_fini_work_share): Use team_free.
5862
5863 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5864 Kwok Cheung Yeung <kcy@codesourcery.com>
5865 Julian Brown <julian@codesourcery.com>
5866 Tom de Vries <tom@codesourcery.com>
5867
5868 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5869 * Makefile.in: Regenerate.
5870 * config.h.in (PLUGIN_GCN): Add new undef.
5871 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
5872 * config/gcn/affinity-fmt.c: New file.
5873 * config/gcn/bar.c: New file.
5874 * config/gcn/bar.h: New file.
5875 * config/gcn/doacross.h: New file.
5876 * config/gcn/icv-device.c: New file.
5877 * config/gcn/oacc-target.c: New file.
5878 * config/gcn/simple-bar.h: New file.
5879 * config/gcn/target.c: New file.
5880 * config/gcn/task.c: New file.
5881 * config/gcn/team.c: New file.
5882 * config/gcn/time.c: New file.
5883 * configure.ac: Add amdgcn*-*-*.
5884 * configure: Regenerate.
5885 * configure.tgt: Add amdgcn*-*-*.
5886 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5887 * libgomp.h (gcn_thrs): Add amdgcn variant.
5888 (set_gcn_thrs): Likewise.
5889 (gomp_thread): Likewise.
5890 * oacc-int.h (goacc_thread): Likewise.
5891 * oacc-target.c: New file.
5892 * openacc.f90 (acc_device_gcn): New parameter.
5893 * openacc.h (acc_device_t): Add acc_device_gcn.
5894 * team.c (gomp_free_pool_helper): Add amdgcn support.
5895
5896 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5897 Julian Brown <julian@codesourcery.com>
5898
5899 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5900 parameter.
5901 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5902 queue constructor.
5903 * oacc-host.c (host_openacc_async_construct): Add device parameter.
5904 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5905 device parameter.
5906
5907 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5908
5909 * configure.tgt (nvptx*-*-*): Add "accel" directory.
5910 * config/nvptx/libgomp-plugin.c: Move ...
5911 * config/accel/libgomp-plugin.c: ... to here.
5912 * config/nvptx/lock.c: Move ...
5913 * config/accel/lock.c: ... to here.
5914 * config/nvptx/mutex.c: Move ...
5915 * config/accel/mutex.c: ... to here.
5916 * config/nvptx/mutex.h: Move ...
5917 * config/accel/mutex.h: ... to here.
5918 * config/nvptx/oacc-async.c: Move ...
5919 * config/accel/oacc-async.c: ... to here.
5920 * config/nvptx/oacc-cuda.c: Move ...
5921 * config/accel/oacc-cuda.c: ... to here.
5922 * config/nvptx/oacc-host.c: Move ...
5923 * config/accel/oacc-host.c: ... to here.
5924 * config/nvptx/oacc-init.c: Move ...
5925 * config/accel/oacc-init.c: ... to here.
5926 * config/nvptx/oacc-mem.c: Move ...
5927 * config/accel/oacc-mem.c: ... to here.
5928 * config/nvptx/oacc-plugin.c: Move ...
5929 * config/accel/oacc-plugin.c: ... to here.
5930 * config/nvptx/omp-lock.h: Move ...
5931 * config/accel/omp-lock.h: ... to here.
5932 * config/nvptx/openacc.f90: Move ...
5933 * config/accel/openacc.f90: ... to here.
5934 * config/nvptx/pool.h: Move ...
5935 * config/accel/pool.h: ... to here.
5936 * config/nvptx/proc.c: Move ...
5937 * config/accel/proc.c: ... to here.
5938 * config/nvptx/ptrlock.c: Move ...
5939 * config/accel/ptrlock.c: ... to here.
5940 * config/nvptx/ptrlock.h: Move ...
5941 * config/accel/ptrlock.h: ... to here.
5942 * config/nvptx/sem.c: Move ...
5943 * config/accel/sem.c: ... to here.
5944 * config/nvptx/sem.h: Move ...
5945 * config/accel/sem.h: ... to here.
5946 * config/nvptx/thread-stacksize.h: Move ...
5947 * config/accel/thread-stacksize.h: ... to here.
5948
5949 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
5950 Tobias Burnus <tobias@codesourcery.com>
5951 Frederik Harwath <frederik@codesourcery.com>
5952 Thomas Schwinge <thomas@codesourcery.com>
5953
5954 libgomp/
5955 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
5956 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
5957 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
5958
5959 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
5960 Kwok Cheung Yeung <kcy@codesourcery.com>
5961
5962 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5963 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
5964
5965 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
5966
5967 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
5968
5969 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
5970 run'.
5971 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5972 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
5973
5974 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
5975
5976 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
5977 Add expected warnings about missing reduction clauses.
5978 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5979 Likewise.
5980 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
5981 Likewise.
5982 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
5983 Likewise.
5984
5985 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
5986
5987 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
5988 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
5989 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
5990 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5991 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5992 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5993
5994 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
5995
5996 PR fortran/92305
5997 * testsuite/libgomp.fortran/allocatable2.f90: Use
5998 unique numbers with 'stop'.
5999 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
6000 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
6001 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
6002 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
6003 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
6004
6005 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
6006
6007 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
6008 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
6009 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
6010 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
6011 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
6012 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
6013
6014 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
6015
6016 * testsuite/libgomp.fortran/target9.f90: New.
6017
6018 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
6019
6020 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
6021 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
6022 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
6023 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
6024 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
6025 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
6026 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
6027 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
6028 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
6029 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
6030 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
6031 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
6032 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
6033 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
6034 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
6035 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
6036 * testsuite/libgomp.fortran/associate1.f90: Ditto.
6037 * testsuite/libgomp.fortran/associate2.f90: Ditto.
6038 * testsuite/libgomp.fortran/associate3.f90: Ditto.
6039 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
6040 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
6041 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
6042 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
6043 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
6044 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
6045 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
6046 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
6047 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
6048 * testsuite/libgomp.fortran/character1.f90: Ditto.
6049 * testsuite/libgomp.fortran/character2.f90: Ditto.
6050 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
6051 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
6052 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
6053 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
6054 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
6055 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
6056 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
6057 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
6058 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
6059 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
6060 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
6061 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
6062 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
6063 * testsuite/libgomp.fortran/do1.f90: Ditto.
6064 * testsuite/libgomp.fortran/do2.f90: Ditto.
6065 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
6066 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
6067 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
6068 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
6069 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
6070 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
6071 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
6072 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
6073 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
6074 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
6075 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
6076 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
6077 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
6078 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
6079 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
6080 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
6081 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
6082 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
6083 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
6084 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
6085 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
6086 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
6087 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
6088 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
6089 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
6090 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
6091 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
6092 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
6093 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
6094 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
6095 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
6096 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
6097 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
6098 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
6099 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
6100 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
6101 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
6102 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
6103 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
6104 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
6105 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
6106 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
6107 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
6108 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
6109 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
6110 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
6111 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
6112 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
6113 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
6114 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
6115 * testsuite/libgomp.fortran/lib1.f90: Ditto.
6116 * testsuite/libgomp.fortran/lib4.f90: Ditto.
6117 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
6118 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
6119 * testsuite/libgomp.fortran/nested1.f90: Ditto.
6120 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
6121 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
6122 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
6123 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
6124 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
6125 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
6126 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
6127 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
6128 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
6129 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
6130 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
6131 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
6132 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
6133 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
6134 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
6135 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
6136 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
6137 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
6138 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
6139 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
6140 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
6141 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
6142 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
6143 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
6144 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
6145 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
6146 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
6147 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
6148 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
6149 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
6150 * testsuite/libgomp.fortran/pr28390.f: Ditto.
6151 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
6152 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
6153 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
6154 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
6155 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
6156 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
6157 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
6158 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
6159 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
6160 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
6161 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
6162 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
6163 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
6164 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
6165 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
6166 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
6167 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
6168 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
6169 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
6170 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
6171 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
6172 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
6173 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
6174 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
6175 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
6176 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
6177 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
6178 * testsuite/libgomp.fortran/reference1.f90: Ditto.
6179 * testsuite/libgomp.fortran/reference2.f90: Ditto.
6180 * testsuite/libgomp.fortran/retval1.f90: Ditto.
6181 * testsuite/libgomp.fortran/retval2.f90: Ditto.
6182 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
6183 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
6184 * testsuite/libgomp.fortran/simd1.f90: Ditto.
6185 * testsuite/libgomp.fortran/simd2.f90: Ditto.
6186 * testsuite/libgomp.fortran/simd3.f90: Ditto.
6187 * testsuite/libgomp.fortran/simd4.f90: Ditto.
6188 * testsuite/libgomp.fortran/simd5.f90: Ditto.
6189 * testsuite/libgomp.fortran/simd6.f90: Ditto.
6190 * testsuite/libgomp.fortran/simd7.f90: Ditto.
6191 * testsuite/libgomp.fortran/stack.f90: Ditto.
6192 * testsuite/libgomp.fortran/strassen.f90: Ditto.
6193 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
6194 * testsuite/libgomp.fortran/tabs2.f: Ditto.
6195 * testsuite/libgomp.fortran/target1.f90: Ditto.
6196 * testsuite/libgomp.fortran/target2.f90: Ditto.
6197 * testsuite/libgomp.fortran/target3.f90: Ditto.
6198 * testsuite/libgomp.fortran/target4.f90: Ditto.
6199 * testsuite/libgomp.fortran/target5.f90: Ditto.
6200 * testsuite/libgomp.fortran/target6.f90: Ditto.
6201 * testsuite/libgomp.fortran/target7.f90: Ditto.
6202 * testsuite/libgomp.fortran/target8.f90: Ditto.
6203 * testsuite/libgomp.fortran/task1.f90: Ditto.
6204 * testsuite/libgomp.fortran/task2.f90: Ditto.
6205 * testsuite/libgomp.fortran/task3.f90: Ditto.
6206 * testsuite/libgomp.fortran/task4.f90: Ditto.
6207 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
6208 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
6209 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
6210 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
6211 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
6212 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
6213 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
6214 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
6215 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
6216 * testsuite/libgomp.fortran/udr1.f90: Ditto.
6217 * testsuite/libgomp.fortran/udr10.f90: Ditto.
6218 * testsuite/libgomp.fortran/udr11.f90: Ditto.
6219 * testsuite/libgomp.fortran/udr12.f90: Ditto.
6220 * testsuite/libgomp.fortran/udr13.f90: Ditto.
6221 * testsuite/libgomp.fortran/udr14.f90: Ditto.
6222 * testsuite/libgomp.fortran/udr15.f90: Ditto.
6223 * testsuite/libgomp.fortran/udr2.f90: Ditto.
6224 * testsuite/libgomp.fortran/udr3.f90: Ditto.
6225 * testsuite/libgomp.fortran/udr4.f90: Ditto.
6226 * testsuite/libgomp.fortran/udr5.f90: Ditto.
6227 * testsuite/libgomp.fortran/udr6.f90: Ditto.
6228 * testsuite/libgomp.fortran/udr7.f90: Ditto.
6229 * testsuite/libgomp.fortran/udr8.f90: Ditto.
6230 * testsuite/libgomp.fortran/udr9.f90: Ditto.
6231 * testsuite/libgomp.fortran/vla1.f90: Ditto.
6232 * testsuite/libgomp.fortran/vla2.f90: Ditto.
6233 * testsuite/libgomp.fortran/vla3.f90: Ditto.
6234 * testsuite/libgomp.fortran/vla4.f90: Ditto.
6235 * testsuite/libgomp.fortran/vla5.f90: Ditto.
6236 * testsuite/libgomp.fortran/vla6.f90: Ditto.
6237 * testsuite/libgomp.fortran/vla7.f90: Ditto.
6238 * testsuite/libgomp.fortran/vla8.f90: Ditto.
6239 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
6240 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
6241
6242 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
6243
6244 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
6245 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
6246 Ditto; add 'dg-do run' for torture testing.
6247 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
6248 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
6249 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
6250 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
6251 * testsuite/libgomp.fortran/pr28390.f: Ditto.
6252 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
6253 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
6254 * testsuite/libgomp.fortran/task2.f90: Ditto.
6255 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
6256 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
6257 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
6258 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
6259 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
6260 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
6261
6262 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
6263
6264 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
6265 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
6266 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
6267 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
6268 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
6269 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
6270 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
6271 Use 'stop' not abort().
6272 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
6273 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
6274 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
6275 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
6276 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
6277 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
6278 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
6279 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
6280 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
6281 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
6282 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
6283 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
6284 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
6285 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
6286 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
6287 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
6288 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
6289 Ditto.
6290 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6291 Ditto.
6292 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6293 Ditto.
6294 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6295 Ditto.
6296 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6297 Ditto.
6298 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
6299 Ditto.
6300 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
6301 Ditto.
6302 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
6303 Ditto.
6304 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
6305 Ditto.
6306 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
6307 Ditto.
6308 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
6309 Ditto.
6310 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
6311 Ditto.
6312 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
6313 Ditto.
6314 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
6315 Ditto.
6316 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
6317 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
6318 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
6319 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
6320 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
6321 Likewise and also add 'dg-do run'.
6322 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
6323 Ditto.
6324
6325 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
6326 Tobias Burnus <tobias@codesourcery.com>
6327
6328 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
6329 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
6330 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
6331
6332 2019-10-14 Jakub Jelinek <jakub@redhat.com>
6333
6334 PR libgomp/92081
6335 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
6336 than 0.
6337
6338 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
6339
6340 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
6341 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
6342
6343 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
6344
6345 PR middle-end/92036
6346 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
6347 file.
6348
6349 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
6350
6351 PR testsuite/91884
6352 * testsuite/libgomp.fortran/fortran.exp: Conditionally
6353 add -lquadmath.
6354 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
6355
6356 2019-10-09 Jakub Jelinek <jakub@redhat.com>
6357
6358 PR libgomp/92028
6359 * target.c (gomp_map_vars_internal): Readd the previous
6360 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
6361 though do that just in the !not_found_cnt case.
6362
6363 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
6364
6365 * gfortran.dg/gomp/target-simd.f90: New.
6366
6367 2019-10-02 Julian Brown <julian@codesourcery.com>
6368 Cesar Philippidis <cesar@codesourcery.com>
6369
6370 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
6371 * target.c (FIELD_TGT_EMPTY): Define.
6372 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
6373 as switch instead of list of ifs.
6374 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
6375
6376 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
6377
6378 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
6379 include. Replace alloca () with __builtin_alloca ().
6380 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
6381
6382 2019-10-01 Jakub Jelinek <jakub@redhat.com>
6383
6384 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
6385 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
6386 * oacc-parallel.c: Don't include "libgomp_g.h".
6387 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
6388 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
6389 * aclocal.m4: Regenerated.
6390 * config.h.in: Regenerated.
6391 * configure: Regenerated.
6392 * Makefile.in: Regenerated.
6393
6394 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
6395
6396 * libgomp_g.h: Include stdint.h instead of gstdint.h.
6397
6398 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
6399
6400 * configure: Regenerate.
6401
6402 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
6403
6404 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
6405 string is initialized.
6406
6407 2019-09-06 Florian Weimer <fweimer@redhat.com>
6408
6409 * configure: Regenerate.
6410
6411 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
6412
6413 PR other/79543
6414 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
6415 scanning to conform to the GNU Coding Standards.
6416 * configure: Regenerate.
6417
6418 2019-08-28 Jakub Jelinek <jakub@redhat.com>
6419
6420 PR libgomp/91530
6421 * testsuite/libgomp.c/scan-21.c: New test.
6422 * testsuite/libgomp.c/scan-22.c: New test.
6423
6424 2019-08-27 Jakub Jelinek <jakub@redhat.com>
6425
6426 PR libgomp/91530
6427 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
6428 targets.
6429 * testsuite/libgomp.c/scan-12.c: Likewise.
6430 * testsuite/libgomp.c/scan-13.c: Likewise.
6431 * testsuite/libgomp.c/scan-14.c: Likewise.
6432 * testsuite/libgomp.c/scan-15.c: Likewise.
6433 * testsuite/libgomp.c/scan-16.c: Likewise.
6434 * testsuite/libgomp.c/scan-17.c: Likewise.
6435 * testsuite/libgomp.c/scan-18.c: Likewise.
6436 * testsuite/libgomp.c/scan-19.c: Likewise.
6437 * testsuite/libgomp.c/scan-20.c: Likewise.
6438 * testsuite/libgomp.c++/scan-9.C: Likewise.
6439 * testsuite/libgomp.c++/scan-10.C: Likewise.
6440 * testsuite/libgomp.c++/scan-11.C: Likewise.
6441 * testsuite/libgomp.c++/scan-12.C: Likewise.
6442 * testsuite/libgomp.c++/scan-14.C: Likewise.
6443 * testsuite/libgomp.c++/scan-15.C: Likewise.
6444 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
6445 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
6446 * testsuite/libgomp.c++/scan-16.C: Likewise.
6447
6448 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
6449
6450 PR fortran/91473
6451 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
6452 -std=legacy so invalid code in the test case is accepted.
6453
6454 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
6455
6456 PR fortran/91422
6457 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
6458 dimension.
6459
6460 2019-08-08 Jakub Jelinek <jakub@redhat.com>
6461
6462 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
6463 perform the lookup in the first loop only if !not_found_cnt, otherwise
6464 perform lookups for it in the second loop guarded with
6465 if (not_found_cnt || has_firstprivate).
6466 * testsuite/libgomp.c/target-37.c: New test.
6467 * testsuite/libgomp.c++/target-22.C: New test.
6468
6469 2019-08-07 Jakub Jelinek <jakub@redhat.com>
6470
6471 * testsuite/libgomp.c/target-18.c (struct S): New type.
6472 (foo): Use use_device_addr clause instead of use_device_ptr clause
6473 where required by OpenMP 5.0, add further tests for both use_device_ptr
6474 and use_device_addr clauses.
6475 * testsuite/libgomp.c++/target-9.C (struct S): New type.
6476 (foo): Use use_device_addr clause instead of use_device_ptr clause
6477 where required by OpenMP 5.0, add further tests for both use_device_ptr
6478 and use_device_addr clauses. Add t and u arguments.
6479 (main): Adjust caller.
6480
6481 2019-08-06 Jakub Jelinek <jakub@redhat.com>
6482
6483 * testsuite/libgomp.c++/loop-13.C: New test.
6484 * testsuite/libgomp.c++/loop-14.C: New test.
6485 * testsuite/libgomp.c++/loop-15.C: New test.
6486
6487 2019-07-31 Jakub Jelinek <jakub@redhat.com>
6488
6489 PR middle-end/91301
6490 * testsuite/libgomp.c++/for-27.C: New test.
6491
6492 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
6493
6494 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
6495 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
6496
6497 2019-07-20 Jakub Jelinek <jakub@redhat.com>
6498
6499 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
6500
6501 2019-07-08 Jakub Jelinek <jakub@redhat.com>
6502
6503 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
6504 * testsuite/libgomp.c++/scan-16.C: Likewise.
6505
6506 2019-07-06 Jakub Jelinek <jakub@redhat.com>
6507
6508 * testsuite/libgomp.c/scan-19.c: New test.
6509 * testsuite/libgomp.c/scan-20.c: New test.
6510
6511 * testsuite/libgomp.c/scan-11.c: New test.
6512 * testsuite/libgomp.c/scan-12.c: New test.
6513 * testsuite/libgomp.c/scan-13.c: New test.
6514 * testsuite/libgomp.c/scan-14.c: New test.
6515 * testsuite/libgomp.c/scan-15.c: New test.
6516 * testsuite/libgomp.c/scan-16.c: New test.
6517 * testsuite/libgomp.c/scan-17.c: New test.
6518 * testsuite/libgomp.c/scan-18.c: New test.
6519 * testsuite/libgomp.c++/scan-9.C: New test.
6520 * testsuite/libgomp.c++/scan-10.C: New test.
6521 * testsuite/libgomp.c++/scan-11.C: New test.
6522 * testsuite/libgomp.c++/scan-12.C: New test.
6523 * testsuite/libgomp.c++/scan-13.C: New test.
6524 * testsuite/libgomp.c++/scan-14.C: New test.
6525 * testsuite/libgomp.c++/scan-15.C: New test.
6526 * testsuite/libgomp.c++/scan-16.C: New test.
6527
6528 2019-07-04 Jakub Jelinek <jakub@redhat.com>
6529
6530 * testsuite/libgomp.c/scan-9.c: New test.
6531 * testsuite/libgomp.c/scan-10.c: New test.
6532
6533 2019-07-03 Jakub Jelinek <jakub@redhat.com>
6534
6535 * testsuite/libgomp.c++/scan-1.C: New test.
6536 * testsuite/libgomp.c++/scan-2.C: New test.
6537 * testsuite/libgomp.c++/scan-3.C: New test.
6538 * testsuite/libgomp.c++/scan-4.C: New test.
6539 * testsuite/libgomp.c++/scan-5.C: New test.
6540 * testsuite/libgomp.c++/scan-6.C: New test.
6541 * testsuite/libgomp.c++/scan-7.C: New test.
6542 * testsuite/libgomp.c++/scan-8.C: New test.
6543 * testsuite/libgomp.c/scan-1.c: New test.
6544 * testsuite/libgomp.c/scan-2.c: New test.
6545 * testsuite/libgomp.c/scan-3.c: New test.
6546 * testsuite/libgomp.c/scan-4.c: New test.
6547 * testsuite/libgomp.c/scan-5.c: New test.
6548 * testsuite/libgomp.c/scan-6.c: New test.
6549 * testsuite/libgomp.c/scan-7.c: New test.
6550 * testsuite/libgomp.c/scan-8.c: New test.
6551
6552 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
6553
6554 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
6555 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
6556 Likewise.
6557
6558 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
6559 check.
6560
6561 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
6562
6563 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
6564 file.
6565
6566 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
6567
6568 PR fortran/90743
6569 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
6570 case.
6571 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
6572 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
6573 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
6574 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
6575
6576 PR testsuite/90861
6577 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
6578
6579 PR middle-end/90862
6580 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
6581
6582 2019-06-16 Tom de Vries <tdevries@suse.de>
6583
6584 PR tree-optimization/89376
6585 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
6586
6587 2019-06-15 Tom de Vries <tdevries@suse.de>
6588
6589 PR tree-optimization/89713
6590 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
6591 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
6592
6593 2019-06-15 Jakub Jelinek <jakub@redhat.com>
6594
6595 PR middle-end/90779
6596 * testsuite/libgomp.c/pr90779.c: New test.
6597 * testsuite/libgomp.fortran/pr90779.f90: New test.
6598
6599 2019-06-15 Tom de Vries <tdevries@suse.de>
6600
6601 PR tree-optimization/90009
6602 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
6603
6604 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
6605
6606 PR tree-optimization/89713
6607 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
6608
6609 2019-06-11 Jakub Jelinek <jakub@redhat.com>
6610
6611 PR target/90811
6612 * testsuite/libgomp.c/pr90811.c: New test.
6613
6614 2019-06-05 Jakub Jelinek <jakub@redhat.com>
6615
6616 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
6617 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
6618
6619 2019-06-04 Jakub Jelinek <jakub@redhat.com>
6620
6621 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
6622 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
6623 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
6624 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
6625
6626 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6627
6628 * configure.ac: Call AX_COUNT_CPUS.
6629 Substitute CPU_COUNT.
6630 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
6631 count fallback.
6632 * aclocal.m4: Regenerate.
6633 * configure: Regenerate.
6634 * Makefile.in, testsuite/Makefile.in: Regenerate.
6635
6636 2019-05-29 Jakub Jelinek <jakub@redhat.com>
6637
6638 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
6639 to ...
6640 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
6641 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
6642 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
6643
6644 2019-05-27 Jakub Jelinek <jakub@redhat.com>
6645
6646 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
6647
6648 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
6649
6650 PR libgomp/90641
6651 * work.c (gomp_init_work_share): Instead of aligning final ordered
6652 value to multiples of long long alignment, align to that the
6653 first part (ordered team ids) and if inline_ordered_team_ids
6654 is not on a long long alignment boundary within the structure,
6655 use __alignof__ (long long) - 1 pad size always.
6656 * loop.c (GOMP_loop_start): Fix *mem computation if
6657 inline_ordered_team_ids is not aligned on long long alignment boundary
6658 within the structure.
6659 * loop-ull.c (GOMP_loop_ull_start): Likewise.
6660 * sections.c (GOMP_sections2_start): Likewise.
6661
6662 2019-05-24 Jakub Jelinek <jakub@redhat.com>
6663
6664 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
6665 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
6666
6667 PR libgomp/90585
6668 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
6669 HAVE_INTTYPES_H is defined.
6670 (print_uint64_t): New typedef.
6671 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
6672 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
6673 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
6674 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
6675 before casting to void *.
6676 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
6677 * oacc-mem.c: Don't include config.h nor stdint.h.
6678 * target.c: Don't include config.h.
6679 * oacc-cuda.c: Likewise.
6680 * oacc-host.c: Don't include stdint.h.
6681
6682 2019-05-20 Jakub Jelinek <jakub@redhat.com>
6683
6684 PR libgomp/90527
6685 * alloc.c (_GNU_SOURCE): Define.
6686
6687 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
6688
6689 * acc_prof.h: New file.
6690 * oacc-profiling.c: Likewise.
6691 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6692 Add these, respectively.
6693 * Makefile.in: Regenerate.
6694 * env.c (initialize_env): Call goacc_profiling_initialize.
6695 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
6696 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
6697 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
6698 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
6699 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
6700 acc_prof_register, acc_prof_unregister, and acc_register_library.
6701 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
6702 GOMP_PLUGIN_goacc_thread.
6703 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
6704 prof_callbacks_enabled members.
6705 (goacc_prof_enabled, goacc_profiling_initialize)
6706 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
6707 (goacc_profiling_dispatch): Declare.
6708 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
6709 (GOACC_PROFILING_SETUP_P): Define.
6710 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
6711 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
6712 OpenACC Profiling Interface.
6713 * oacc-cuda.c (acc_get_current_cuda_device)
6714 (acc_get_current_cuda_context, acc_get_cuda_stream)
6715 (acc_set_cuda_stream): Likewise.
6716 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
6717 (acc_init, acc_set_device_type, acc_get_device_type)
6718 (acc_get_device_num, goacc_lazy_initialize): Likewise.
6719 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
6720 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
6721 (acc_unmap_data, present_create_copy, delete_copyout)
6722 (update_dev_host): Likewise.
6723 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
6724 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
6725 Likewise.
6726 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6727 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6728 Likewise.
6729 * libgomp.texi: Update.
6730 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
6731 file.
6732 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
6733 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6734 Likewise.
6735 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6736 Likewise.
6737 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6738 Likewise.
6739 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6740 Likewise.
6741
6742 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
6743
6744 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
6745 (struct goacc_asyncqueue_list): Likewise.
6746 (goacc_aq): Likewise.
6747 (goacc_aq_list): Likewise.
6748 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6749 (GOMP_OFFLOAD_openacc_async_test): Remove.
6750 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6751 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6752 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6753 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6754 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6755 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6756 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
6757 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
6758 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
6759 (GOMP_OFFLOAD_openacc_async_exec): Declare.
6760 (GOMP_OFFLOAD_openacc_async_construct): Declare.
6761 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
6762 (GOMP_OFFLOAD_openacc_async_test): Declare.
6763 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
6764 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
6765 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
6766 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
6767 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
6768
6769 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
6770 (gomp_acc_insert_pointer): Adjust declaration.
6771 (gomp_copy_host2dev): New declaration.
6772 (gomp_copy_dev2host): Likewise.
6773 (gomp_map_vars_async): Likewise.
6774 (gomp_unmap_tgt): Likewise.
6775 (gomp_unmap_vars_async): Likewise.
6776 (gomp_fini_device): Likewise.
6777
6778 * oacc-async.c (get_goacc_thread): New function.
6779 (get_goacc_thread_device): New function.
6780 (lookup_goacc_asyncqueue): New function.
6781 (get_goacc_asyncqueue): New function.
6782 (acc_async_test): Adjust code to use new async design.
6783 (acc_async_test_all): Likewise.
6784 (acc_wait): Likewise.
6785 (acc_wait_async): Likewise.
6786 (acc_wait_all): Likewise.
6787 (acc_wait_all_async): Likewise.
6788 (goacc_async_free): New function.
6789 (goacc_init_asyncqueues): Likewise.
6790 (goacc_fini_asyncqueues): Likewise.
6791 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
6792 design.
6793 (acc_set_cuda_stream): Likewise.
6794 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
6795 (host_openacc_register_async_cleanup): Remove.
6796 (host_openacc_async_exec): New function.
6797 (host_openacc_async_test): Adjust parameters.
6798 (host_openacc_async_test_all): Remove.
6799 (host_openacc_async_wait): Remove.
6800 (host_openacc_async_wait_async): Remove.
6801 (host_openacc_async_wait_all): Remove.
6802 (host_openacc_async_wait_all_async): Remove.
6803 (host_openacc_async_set_async): Remove.
6804 (host_openacc_async_synchronize): New function.
6805 (host_openacc_async_serialize): New function.
6806 (host_openacc_async_host2dev): New function.
6807 (host_openacc_async_dev2host): New function.
6808 (host_openacc_async_queue_callback): New function.
6809 (host_openacc_async_construct): New function.
6810 (host_openacc_async_destruct): New function.
6811 (struct gomp_device_descr host_dispatch): Remove initialization of old
6812 interface, add initialization of new async sub-struct.
6813 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6814 (goacc_attach_host_thread_to_device): Remove old async code usage.
6815 * oacc-int.h (goacc_init_asyncqueues): New declaration.
6816 (goacc_fini_asyncqueues): Likewise.
6817 (goacc_async_copyout_unmap_vars): Likewise.
6818 (goacc_async_free): Likewise.
6819 (get_goacc_asyncqueue): Likewise.
6820 (lookup_goacc_asyncqueue): Likewise.
6821 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6822 design.
6823 (present_create_copy): Adjust code to use new async design.
6824 (delete_copyout): Likewise.
6825 (update_dev_host): Likewise.
6826 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6827 async design.
6828 (gomp_acc_remove_pointer): Adjust code to use new async design.
6829 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6830 design.
6831 (GOACC_enter_exit_data): Likewise.
6832 (goacc_wait): Likewise.
6833 (GOACC_update): Likewise.
6834 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6835 when called, warn as obsolete in comment.
6836 * target.c (goacc_device_copy_async): New function.
6837 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6838 add goacc_device_copy_async case.
6839 (gomp_copy_dev2host): Likewise.
6840 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6841 (gomp_map_pointer): Likewise.
6842 (gomp_map_fields_existing): Likewise.
6843 (gomp_map_vars_internal): New always_inline function, renamed from
6844 gomp_map_vars.
6845 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
6846 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6847 passing goacc_asyncqueue argument.
6848 (gomp_unmap_tgt): Remove static, add attribute_hidden.
6849 (gomp_unref_tgt): New function.
6850 (gomp_unmap_vars_internal): New always_inline function, renamed from
6851 gomp_unmap_vars.
6852 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6853 (gomp_unmap_vars_async): Implement by calling
6854 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6855 (gomp_fini_device): New function.
6856 (gomp_exit_data): Adjust gomp_copy_dev2host call.
6857 (gomp_load_plugin_for_device): Remove old interface, adjust to load
6858 new async interface.
6859 (gomp_target_fini): Adjust code to call gomp_fini_device.
6860
6861 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
6862 (struct ptx_stream): Remove.
6863 (struct nvptx_thread): Remove current_stream field.
6864 (cuda_map_create): Remove.
6865 (cuda_map_destroy): Remove.
6866 (map_init): Remove.
6867 (map_fini): Remove.
6868 (map_pop): Remove.
6869 (map_push): Remove.
6870 (struct goacc_asyncqueue): Define.
6871 (struct nvptx_callback): Define.
6872 (struct ptx_free_block): Define.
6873 (struct ptx_device): Remove null_stream, active_streams, async_streams,
6874 stream_lock, and next fields.
6875 (enum ptx_event_type): Remove.
6876 (struct ptx_event): Remove.
6877 (ptx_event_lock): Remove.
6878 (ptx_events): Remove.
6879 (init_streams_for_device): Remove.
6880 (fini_streams_for_device): Remove.
6881 (select_stream_for_async): Remove.
6882 (nvptx_init): Remove ptx_events and ptx_event_lock references.
6883 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6884 case.
6885 (nvptx_open_device): Add free_blocks initialization, remove
6886 init_streams_for_device call.
6887 (nvptx_close_device): Remove fini_streams_for_device call, add
6888 free_blocks destruct code.
6889 (event_gc): Remove.
6890 (event_add): Remove.
6891 (nvptx_exec): Adjust parameters and code.
6892 (nvptx_free): Likewise.
6893 (nvptx_host2dev): Remove.
6894 (nvptx_dev2host): Remove.
6895 (nvptx_set_async): Remove.
6896 (nvptx_async_test): Remove.
6897 (nvptx_async_test_all): Remove.
6898 (nvptx_wait): Remove.
6899 (nvptx_wait_async): Remove.
6900 (nvptx_wait_all): Remove.
6901 (nvptx_wait_all_async): Remove.
6902 (nvptx_get_cuda_stream): Remove.
6903 (nvptx_set_cuda_stream): Remove.
6904 (GOMP_OFFLOAD_alloc): Adjust code.
6905 (GOMP_OFFLOAD_free): Likewise.
6906 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6907 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6908 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6909 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6910 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6911 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6912 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6913 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6914 (cuda_free_argmem): New function.
6915 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6916 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6917 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6918 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6919 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6920 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6921 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
6922 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
6923 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
6924 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
6925 (cuda_callback_wrapper): New function.
6926 (cuda_memcpy_sanity_check): New function.
6927 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
6928 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
6929 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
6930 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
6931
6932 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
6933
6934 PR target/87835
6935 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6936
6937 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
6938
6939 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6940
6941 2019-03-27 Kevin Buettner <kevinb@redhat.com>
6942
6943 * team.c (gomp_team_start): Initialize pool->threads[0].
6944
6945 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
6946
6947 * testsuite/libgomp.oacc-c++/c++.exp: Specify
6948 "-foffload=$offload_target".
6949 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6950 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6951 * testsuite/lib/libgomp.exp
6952 (check_effective_target_openacc_nvidia_accel_configured): Remove,
6953 as (conceptually) merged into
6954 check_effective_target_openacc_nvidia_accel_selected. Adjust all
6955 users.
6956
6957 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
6958 * testsuite/libgomp-test-support.exp.in: Adjust.
6959 * testsuite/lib/libgomp.exp: Likewise. Don't populate
6960 openacc_device_types_s.
6961 (offload_target_to_openacc_device_type): New proc.
6962 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
6963 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6964 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6965 * Makefile.in: Regenerate.
6966 * configure: Likewise.
6967 * testsuite/Makefile.in: Likewise.
6968
6969 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
6970 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
6971 instead of OFFLOAD_TARGETS.
6972 * target.c (gomp_target_init): Adjust.
6973 * testsuite/libgomp-test-support.exp.in: Likewise.
6974 * testsuite/lib/libgomp.exp: Likewise. Populate
6975 openacc_device_types_s instead of offload_targets_s_openacc.
6976 (check_effective_target_openacc_nvidia_accel_selected)
6977 (check_effective_target_openacc_host_selected): Adjust.
6978 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6979 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6980 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6981 * Makefile.in: Regenerate.
6982 * config.h.in: Likewise.
6983 * configure: Likewise.
6984 * testsuite/Makefile.in: Likewise.
6985
6986 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
6987 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
6988 "offloading: supported, but hardware not accessible".
6989 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6990 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6991
6992 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
6993
6994 PR c/87924
6995 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
6996 goacc_wait().
6997 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
6998 and related adjustment.
6999
7000 2019-01-30 Jakub Jelinek <jakub@redhat.com>
7001
7002 PR c++/88988
7003 * testsuite/libgomp.c++/pr88988.C: New test.
7004
7005 2019-01-28 Jakub Jelinek <jakub@redhat.com>
7006
7007 PR middle-end/89002
7008 * testsuite/libgomp.c/pr89002.c: New test.
7009
7010 2019-01-28 Richard Biener <rguenther@suse.de>
7011
7012 PR testsuite/89064
7013 PR tree-optimization/86865
7014 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
7015
7016 2019-01-24 Tom de Vries <tdevries@suse.de>
7017
7018 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
7019 once instantiated_devices drops to 0.
7020
7021 2019-01-23 Tom de Vries <tdevries@suse.de>
7022
7023 PR target/PR88946
7024 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
7025 cuMemFree.
7026 (nvptx_exec): Don't call map_push if mapnum == 0.
7027 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
7028
7029 2019-01-23 Tom de Vries <tdevries@suse.de>
7030
7031 PR target/88941
7032 PR target/88939
7033 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
7034 (map_fini): Remove "assert (!s->map->active)".
7035 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
7036
7037 2019-01-23 Tom de Vries <tdevries@suse.de>
7038
7039 PR target/87835
7040 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
7041 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
7042
7043 2019-01-15 Tom de Vries <tdevries@suse.de>
7044
7045 PR target/80547
7046 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
7047 New test.
7048
7049 2019-01-12 Tom de Vries <tdevries@suse.de>
7050
7051 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
7052 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
7053 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
7054 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
7055
7056 2019-01-12 Tom de Vries <tdevries@suse.de>
7057
7058 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
7059
7060 2019-01-12 Tom de Vries <tdevries@suse.de>
7061
7062 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
7063 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
7064 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
7065
7066 2019-01-12 Tom de Vries <tdevries@suse.de>
7067
7068 PR target/85486
7069 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
7070 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
7071
7072 2019-01-12 Tom de Vries <tdevries@suse.de>
7073
7074 PR target/85381
7075 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
7076 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
7077
7078 2019-01-12 Tom de Vries <tdevries@suse.de>
7079
7080 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
7081 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
7082 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
7083
7084 2019-01-12 Tom de Vries <tdevries@suse.de>
7085
7086 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
7087 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
7088 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
7089
7090 2019-01-12 Tom de Vries <tdevries@suse.de>
7091
7092 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
7093 resources diagnostic.
7094
7095 2019-01-12 Tom de Vries <tdevries@suse.de>
7096
7097 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
7098 vector length to be 128.
7099 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
7100 length 2097152 to be reduced to 1024 instead of 32.
7101
7102 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
7103 James Norris <jnorris@codesourcery.com>
7104
7105 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
7106 Library Routines", and "Environment Variables".
7107
7108 2019-01-11 Tom de Vries <tdevries@suse.de>
7109
7110 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
7111 num_workers 16.
7112
7113 2019-01-11 Tom de Vries <tdevries@suse.de>
7114
7115 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
7116 -foffload=-w.
7117 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
7118 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
7119 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
7120 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
7121
7122 2019-01-11 Tom de Vries <tdevries@suse.de>
7123
7124 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
7125 test.
7126
7127 2019-01-10 Nathan Sidwell <nathan@acm.org>
7128 Julian Brown <julian@codesourcery.com>
7129
7130 PR lto/71959
7131 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
7132 * testsuite/libgomp.oacc-c++/pr71959.C: New.
7133
7134 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
7135
7136 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
7137 and paste code.
7138
7139 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
7140
7141 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
7142 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
7143 write.
7144
7145 2019-01-09 Tom de Vries <tdevries@suse.de>
7146
7147 PR target/88756
7148 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
7149 #define instead of "const int".
7150 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
7151 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
7152 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
7153 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
7154
7155 2019-01-09 Tom de Vries <tdevries@suse.de>
7156
7157 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
7158 one worker.
7159
7160 2019-01-07 Tom de Vries <tdevries@suse.de>
7161
7162 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
7163 GOMP_OPENACC_DIM argument.
7164
7165 2019-01-03 Tom de Vries <tdevries@suse.de>
7166
7167 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
7168 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
7169
7170 2019-01-01 Jakub Jelinek <jakub@redhat.com>
7171
7172 Update copyright years.
7173
7174 2019-01-01 Jakub Jelinek <jakub@redhat.com>
7175
7176 * libgomp.texi: Bump @copying's copyright year.
7177
7178 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
7179
7180 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
7181 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
7182 (GOACC_declare): Redefine the "device" argument to "flags".
7183
7184 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
7185 Cesar Philippidis <cesar@codesourcery.com>
7186
7187 * target.c (struct gomp_coalesce_chunk): New structure.
7188 (struct gomp_coalesce_buf): Update the chunks member to use that
7189 type. Adjust all users.
7190
7191 2018-12-19 Tom de Vries <tdevries@suse.de>
7192
7193 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
7194 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
7195 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
7196
7197 2018-12-19 Tom de Vries <tdevries@suse.de>
7198
7199 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
7200 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
7201 gcc/testsuite/gcc.dg/goacc.
7202 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
7203
7204 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
7205 Chung-Lin Tang <cltang@codesourcery.com>
7206
7207 * oacc-mem.c (acc_present_or_create): Remove definition and change
7208 to alias of acc_create.
7209 (acc_present_or_copyin): Remove definition and change to alias of
7210 acc_copyin.
7211 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
7212 of acc_present_or_create.
7213 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
7214 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7215 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7216 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7217 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7218 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7219 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7220 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7221 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7222 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7223 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7224 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7225 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7226 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7227 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7228 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7229
7230 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
7231
7232 PR libgomp/88495
7233 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
7234 "identical parameters".
7235 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
7236 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
7237
7238 PR libgomp/88484
7239 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
7240 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
7241
7242 PR libgomp/88407
7243 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
7244 (nvptx_wait_async): Unseen async-argument is a no-op.
7245 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
7246 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
7247 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7248 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
7249 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7250 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
7251 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
7252 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
7253 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
7254
7255 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
7256 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7257
7258 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
7259
7260 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
7261 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7262 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7263
7264 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
7265
7266 PR libgomp/88370
7267 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
7268 (acc_set_cuda_stream): Clarify.
7269 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7270 "async_valid_p".
7271 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
7272 acc_async_sync".
7273 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
7274 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
7275 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
7276 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
7277
7278 2018-12-14 Tom de Vries <tdevries@suse.de>
7279
7280 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
7281 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
7282 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
7283 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
7284 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
7285
7286 2018-12-13 Tom de Vries <tdevries@suse.de>
7287
7288 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
7289 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
7290 * fortran.c (omp_display_affinity_): ... here.
7291 * libgomp.h (gomp_print_string): Declare.
7292 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
7293 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
7294 write.
7295
7296 2018-12-13 Jakub Jelinek <jakub@redhat.com>
7297
7298 PR libgomp/88460
7299 * testsuite/libgomp.c++/for-24.C (results): Include it in
7300 omp declare target region.
7301 (main): Use map (always, tofrom: results) instead of
7302 map (tofrom: results).
7303
7304 2018-12-12 Jakub Jelinek <jakub@redhat.com>
7305
7306 PR fortran/88463
7307 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
7308 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
7309
7310 * testsuite/libgomp.c-c++-common/for-16.c: New test.
7311
7312 2018-12-12 Andreas Schwab <schwab@suse.de>
7313
7314 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
7315 clobbered.
7316
7317 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
7318
7319 PR fortran/88411
7320 * testsuite/libgomp.fortran/async_io_8.f90: New test.
7321
7322 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
7323 Jakub Jelinek <jakub@redhat.com>
7324
7325 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
7326 devicep->host2dev_func.
7327
7328 2018-12-08 Jakub Jelinek <jakub@redhat.com>
7329
7330 PR libgomp/87995
7331 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
7332 tls_runtime effective target.
7333 (t): New threadprivate variable.
7334 (main): Set t in threads which execute iterations of the worksharing
7335 loop. Propagate that to the task after the loop and don't abort
7336 if the current taskgroup hasn't been cancelled.
7337
7338 2018-12-02 Jakub Jelinek <jakub@redhat.com>
7339
7340 * testsuite/libgomp.c/task-reduction-3.c: New test.
7341
7342 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
7343
7344 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
7345
7346 PR libgomp/88288
7347 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
7348 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
7349
7350 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
7351
7352 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
7353
7354 2018-10-19 Richard Biener <rguenther@suse.de>
7355
7356 PR tree-optimization/88182
7357 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
7358
7359 2018-11-26 Jakub Jelinek <jakub@redhat.com>
7360
7361 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
7362 (RUNTEST): Don't define.
7363 (RUNTESTDEFAULTFLAGS): Add.
7364 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
7365 (distclean-am): Depend on distclean-DEJAGNU.
7366 (check-am): If -j% option is present in MFLAGS and if
7367 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
7368 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
7369 * testsuite/Makefile.in: Regenerated.
7370
7371 2018-11-26 Richard Biener <rguenther@suse.de>
7372
7373 PR tree-optimization/88182
7374 * testsuite/libgomp.c++/pr88182.C: New testcase.
7375
7376 2018-11-20 Jakub Jelinek <jakub@redhat.com>
7377
7378 PR bootstrap/88106
7379 * config/mingw32/affinity-fmt.c: New file.
7380
7381 2018-11-09 Jakub Jelinek <jakub@redhat.com>
7382
7383 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
7384 (gomp_display_affinity): Use __builtin_choose_expr to handle
7385 properly handle argument having integral, or pointer or some other
7386 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
7387 with uint64_t type instead of %llx and unsigned long long.
7388
7389 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
7390 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
7391
7392 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7393
7394 * affinity.c: Include <string.h>, <stdio.h>.
7395 (gomp_display_affinity_place): Remove cpusetp.
7396 * teams.c: Include <limits.h>.
7397
7398 2018-11-08 Jakub Jelinek <jakub@redhat.com>
7399
7400 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
7401 in_reduction clause for s[0].
7402
7403 * affinity.c (gomp_display_affinity_place): New function.
7404 * affinity-fmt.c: New file.
7405 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
7406 * config/linux/affinity.c (gomp_display_affinity_place): New function.
7407 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
7408 Move these functions to ...
7409 * config/nvptx/teams.c: ... here. New file.
7410 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
7411 New functions.
7412 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
7413 functions.
7414 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
7415 and _aligned_malloc.
7416 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
7417 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
7418 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
7419 gomp_affinity_format_len): New variables.
7420 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
7421 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
7422 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
7423 modifiers. Display (non-default) chunk sizes. Print
7424 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
7425 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
7426 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
7427 * fortran.c: Include stdio.h and string.h.
7428 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
7429 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
7430 (omp_set_affinity_format_, omp_get_affinity_format_,
7431 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
7432 omp_pause_resource_all_): New functions.
7433 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
7434 switch.
7435 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
7436 functions to ...
7437 * teams.c: ... here. New file.
7438 * libgomp_g.h: Include gstdint.h.
7439 (GOMP_loop_nonmonotonic_runtime_start,
7440 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
7441 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
7442 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
7443 GOMP_parallel_loop_nonmonotonic_runtime,
7444 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
7445 GOMP_loop_ull_nonmonotonic_runtime_start,
7446 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
7447 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
7448 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
7449 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
7450 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
7451 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7452 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
7453 GOMP_teams_reg): Declare.
7454 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
7455 gomp_aligned_alloc uses fallback implementation.
7456 (gomp_aligned_alloc, gomp_aligned_free): Declare.
7457 (enum gomp_schedule_type): Add GFS_MONOTONIC.
7458 (struct gomp_doacross_work_share): Add extra field.
7459 (struct gomp_work_share): Add task_reductions field.
7460 (struct gomp_taskgroup): Add workshare and reductions fields.
7461 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
7462 (gomp_thread_handle): New typedef.
7463 (gomp_display_affinity_place, gomp_set_affinity_format,
7464 gomp_display_string, gomp_display_affinity,
7465 gomp_display_affinity_thread): Declare.
7466 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
7467 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
7468 gomp_workshare_task_reduction_register): Declare.
7469 (gomp_team_start): Add taskgroup argument.
7470 (gomp_pause_host): Declare.
7471 (gomp_init_work_share, gomp_work_share_start): Change bool argument
7472 to size_t.
7473 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
7474 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
7475 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
7476 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
7477 GOMP_loop_ull_doacross_start,
7478 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
7479 GOMP_loop_maybe_nonmonotonic_runtime_next,
7480 GOMP_loop_maybe_nonmonotonic_runtime_start,
7481 GOMP_loop_nonmonotonic_runtime_next,
7482 GOMP_loop_nonmonotonic_runtime_start,
7483 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
7484 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
7485 GOMP_loop_ull_nonmonotonic_runtime_next,
7486 GOMP_loop_ull_nonmonotonic_runtime_start,
7487 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
7488 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
7489 GOMP_taskgroup_reduction_register,
7490 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7491 GOMP_teams_reg and GOMP_taskwait_depend.
7492 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
7493 omp_{capture,display}_affinity{,_}, and
7494 omp_[gs]et_affinity_format{,_}.
7495 * loop.c: Include string.h.
7496 (GOMP_loop_runtime_next): Add ialias.
7497 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7498 (gomp_loop_static_start, gomp_loop_dynamic_start,
7499 gomp_loop_guided_start, gomp_loop_ordered_static_start,
7500 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
7501 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7502 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
7503 or gomp_doacross_init callers.
7504 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
7505 GOMP_loop_doacross_start): New functions.
7506 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
7507 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
7508 Mask off GFS_MONOTONIC bit.
7509 (GOMP_loop_maybe_nonmonotonic_runtime_next,
7510 GOMP_loop_maybe_nonmonotonic_runtime_start,
7511 GOMP_loop_nonmonotonic_runtime_next,
7512 GOMP_loop_nonmonotonic_runtime_start,
7513 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
7514 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
7515 functions.
7516 (gomp_parallel_loop_start): Pass NULL as taskgroup to
7517 gomp_team_start.
7518 * loop_ull.c: Include string.h.
7519 (GOMP_loop_ull_runtime_next): Add ialias.
7520 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7521 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
7522 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
7523 gomp_loop_ull_ordered_dynamic_start,
7524 gomp_loop_ull_ordered_guided_start,
7525 gomp_loop_ull_doacross_static_start,
7526 gomp_loop_ull_doacross_dynamic_start,
7527 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
7528 and gomp_doacross_ull_init callers.
7529 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
7530 GOMP_loop_ull_doacross_start): New functions.
7531 (GOMP_loop_ull_runtime_start,
7532 GOMP_loop_ull_ordered_runtime_start,
7533 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
7534 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
7535 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
7536 GOMP_loop_ull_nonmonotonic_runtime_next,
7537 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
7538 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
7539 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
7540 (omp_pause_resource_t, omp_depend_t): New typedefs.
7541 (enum omp_lock_hint_t): Renamed to ...
7542 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
7543 enumerators using numbers and omp_lock_hint_* as their aliases.
7544 (omp_lock_hint_t): New typedef. Rename to ...
7545 (omp_sync_hint_t): ... this.
7546 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
7547 omp_sync_hint_t instead of omp_lock_hint_t.
7548 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7549 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7550 Declare.
7551 (omp_target_is_present, omp_target_disassociate_ptr):
7552 Change first argument from void * to const void *.
7553 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
7554 from void * to const void *.
7555 (omp_target_associate_ptr): Change first and second arguments from
7556 void * to const void *.
7557 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
7558 omp_pause_hard): New parameters.
7559 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7560 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7561 New interfaces.
7562 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
7563 omp_pause_hard): New parameters.
7564 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7565 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7566 New externals.
7567 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
7568 EXTRA argument. If not needed to prepare array, if extra is 0,
7569 clear ws->doacross, otherwise allocate just doacross structure and
7570 extra payload. If array is needed, allocate also extra payload.
7571 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
7572 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
7573 doacross == NULL.
7574 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
7575 gomp_team_start.
7576 (GOMP_parallel): Likewise. Formatting fix.
7577 (GOMP_parallel_reductions): New function.
7578 (GOMP_cancellation_point): If taskgroup has workshare
7579 flag set, check cancelled of prev taskgroup if any.
7580 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
7581 on prev taskgroup if any.
7582 * sections.c: Include string.h.
7583 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7584 (GOMP_sections_start): Adjust gomp_work_share_start caller.
7585 (GOMP_sections2_start): New function.
7586 (GOMP_parallel_sections_start, GOMP_parallel_sections):
7587 Pass NULL as taskgroup to gomp_team_start.
7588 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
7589 gomp_work_share_start callers.
7590 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
7591 If taskgroup has workshare flag set, check cancelled on prev
7592 taskgroup if any. Guard all cancellation tests with
7593 gomp_cancel_var test.
7594 (omp_target_is_present, omp_target_disassociate_ptr):
7595 Change ptr argument from void * to const void *.
7596 (omp_target_memcpy): Change src argument from void * to const void *.
7597 (omp_target_memcpy_rect): Likewise.
7598 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
7599 instead of char * where needed.
7600 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
7601 from void * to const void *.
7602 (omp_pause_resource, omp_pause_resource_all): New functions.
7603 * task.c (gomp_task_handle_depend): Handle new depend array format
7604 in addition to the old. Handle mutexinoutset kinds the same as
7605 inout for now, handle unspecified kinds.
7606 (gomp_create_target_task): If taskgroup has workshare flag set, check
7607 cancelled on prev taskgroup if any. Guard all cancellation tests with
7608 gomp_cancel_var test. Handle new depend array format count in
7609 addition to the old.
7610 (GOMP_task): Likewise. Adjust function comment.
7611 (gomp_task_run_pre): If taskgroup has workshare flag set, check
7612 cancelled on prev taskgroup if any. Guard all cancellation tests with
7613 gomp_cancel_var test.
7614 (GOMP_taskwait_depend): New function.
7615 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
7616 format in addition to the old. Handle mutexinoutset kinds the same as
7617 inout for now, handle unspecified kinds. Fix a function comment typo.
7618 (gomp_taskgroup_init): New function.
7619 (GOMP_taskgroup_start): Use it.
7620 (gomp_reduction_register, gomp_create_artificial_team,
7621 GOMP_taskgroup_reduction_register,
7622 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7623 gomp_parallel_reduction_register,
7624 gomp_workshare_task_reduction_register,
7625 gomp_workshare_taskgroup_start,
7626 GOMP_workshare_task_reduction_unregister): New functions.
7627 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
7628 check cancelled on prev taskgroup if any. Guard all cancellation
7629 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
7630 by calling GOMP_taskgroup_reduction_register.
7631 * team.c (gomp_thread_attr): Remove comment.
7632 (struct gomp_thread_start_data): Add handle field.
7633 (gomp_thread_start): Call pthread_detach.
7634 (gomp_new_team): Adjust gomp_init_work_share caller.
7635 (gomp_free_pool_helper): Call pthread_detach.
7636 (gomp_team_start): Add taskgroup argument, initialize implicit
7637 tasks' taskgroup field to that. Don't call
7638 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
7639 (gomp_team_end): Determine nesting by thr->ts.level != 0
7640 rather than thr->ts.team != NULL.
7641 (gomp_pause_pool_helper, gomp_pause_host): New functions.
7642 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
7643 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
7644 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
7645 if more than 1 allocate also extra payload at the end of array. Never
7646 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
7647 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
7648 return true instead of ws.
7649 * Makefile.in: Regenerated.
7650 * configure: Regenerated.
7651 * config.h.in: Regenerated.
7652 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
7653 in some cases.
7654 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
7655 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
7656 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
7657 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
7658 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
7659 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
7660 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
7661 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
7662 * testsuite/libgomp.c-c++-common/for-10.c: New test.
7663 * testsuite/libgomp.c-c++-common/for-11.c: New test.
7664 * testsuite/libgomp.c-c++-common/for-12.c: New test.
7665 * testsuite/libgomp.c-c++-common/for-13.c: New test.
7666 * testsuite/libgomp.c-c++-common/for-14.c: New test.
7667 * testsuite/libgomp.c-c++-common/for-15.c: New test.
7668 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
7669 define a different N(test), don't define N(f0) to N(f14), but instead
7670 define N(f20) to N(f34) using != comparisons.
7671 * testsuite/libgomp.c-c++-common/for-7.c: New test.
7672 * testsuite/libgomp.c-c++-common/for-8.c: New test.
7673 * testsuite/libgomp.c-c++-common/for-9.c: New test.
7674 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
7675 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
7676 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
7677 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
7678 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
7679 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
7680 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
7681 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
7682 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
7683 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
7684 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
7685 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
7686 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
7687 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
7688 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
7689 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
7690 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
7691 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
7692 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
7693 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
7694 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
7695 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
7696 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
7697 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
7698 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
7699 * testsuite/libgomp.c++/depend-1.C: New test.
7700 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
7701 * testsuite/libgomp.c++/depobj-1.C: New test.
7702 * testsuite/libgomp.c++/for-16.C: New test.
7703 * testsuite/libgomp.c++/for-21.C: New test.
7704 * testsuite/libgomp.c++/for-22.C: New test.
7705 * testsuite/libgomp.c++/for-23.C: New test.
7706 * testsuite/libgomp.c++/for-24.C: New test.
7707 * testsuite/libgomp.c++/for-25.C: New test.
7708 * testsuite/libgomp.c++/for-26.C: New test.
7709 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
7710 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
7711 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
7712 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
7713 * testsuite/libgomp.c++/task-reduction-10.C: New test.
7714 * testsuite/libgomp.c++/task-reduction-11.C: New test.
7715 * testsuite/libgomp.c++/task-reduction-12.C: New test.
7716 * testsuite/libgomp.c++/task-reduction-13.C: New test.
7717 * testsuite/libgomp.c++/task-reduction-14.C: New test.
7718 * testsuite/libgomp.c++/task-reduction-15.C: New test.
7719 * testsuite/libgomp.c++/task-reduction-16.C: New test.
7720 * testsuite/libgomp.c++/task-reduction-17.C: New test.
7721 * testsuite/libgomp.c++/task-reduction-18.C: New test.
7722 * testsuite/libgomp.c++/task-reduction-19.C: New test.
7723 * testsuite/libgomp.c/task-reduction-1.c: New test.
7724 * testsuite/libgomp.c++/task-reduction-1.C: New test.
7725 * testsuite/libgomp.c/task-reduction-2.c: New test.
7726 * testsuite/libgomp.c++/task-reduction-2.C: New test.
7727 * testsuite/libgomp.c++/task-reduction-3.C: New test.
7728 * testsuite/libgomp.c++/task-reduction-4.C: New test.
7729 * testsuite/libgomp.c++/task-reduction-5.C: New test.
7730 * testsuite/libgomp.c++/task-reduction-6.C: New test.
7731 * testsuite/libgomp.c++/task-reduction-7.C: New test.
7732 * testsuite/libgomp.c++/task-reduction-8.C: New test.
7733 * testsuite/libgomp.c++/task-reduction-9.C: New test.
7734 * testsuite/libgomp.c/teams-1.c: New test.
7735 * testsuite/libgomp.c/teams-2.c: New test.
7736 * testsuite/libgomp.c/thread-limit-4.c: New test.
7737 * testsuite/libgomp.c/thread-limit-5.c: New test.
7738 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
7739
7740 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
7741
7742 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
7743 acc_memcpy_to/from_device functions, now with async parameter.
7744 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
7745 (acc_memcpy_from_device): Likewise.
7746 (acc_memcpy_to_device_async): New API function.
7747 (acc_memcpy_from_device_async): Likewise.
7748 (present_create_copy): Add async parameter and async setting/unsetting.
7749 (acc_create): Adjust present_create_copy call.
7750 (acc_copyin): Likewise.
7751 (acc_present_or_create): Likewise.
7752 (acc_present_or_copyin): Likewise.
7753 (acc_create_async): New API function.
7754 (acc_copyin_async): New API function.
7755 (delete_copyout): Add async parameter and async setting/unsetting.
7756 (acc_delete): Adjust delete_copyout call.
7757 (acc_copyout): Likewise.
7758 (acc_delete_async): New API function.
7759 (acc_copyout_async): Likewise.
7760 (update_dev_host): Add async parameter and async setting/unsetting.
7761 (acc_update_device): Adjust update_dev_host call.
7762 (acc_update_self): Likewise.
7763 (acc_update_device_async): New API function.
7764 (acc_update_self_async): Likewise.
7765 * openacc.h (acc_copyin_async): Declare new API function.
7766 (acc_create_async): Likewise.
7767 (acc_copyout_async): Likewise.
7768 (acc_delete_async): Likewise.
7769 (acc_update_device_async): Likewise.
7770 (acc_update_self_async): Likewise.
7771 (acc_memcpy_to_device_async): Likewise.
7772 (acc_memcpy_from_device_async): Likewise.
7773 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
7774 (acc_copyin_async_64_h): New subroutine.
7775 (acc_copyin_async_array_h): New subroutine.
7776 (acc_create_async_32_h): New subroutine.
7777 (acc_create_async_64_h): New subroutine.
7778 (acc_create_async_array_h): New subroutine.
7779 (acc_copyout_async_32_h): New subroutine.
7780 (acc_copyout_async_64_h): New subroutine.
7781 (acc_copyout_async_array_h): New subroutine.
7782 (acc_delete_async_32_h): New subroutine.
7783 (acc_delete_async_64_h): New subroutine.
7784 (acc_delete_async_array_h): New subroutine.
7785 (acc_update_device_async_32_h): New subroutine.
7786 (acc_update_device_async_64_h): New subroutine.
7787 (acc_update_device_async_array_h): New subroutine.
7788 (acc_update_self_async_32_h): New subroutine.
7789 (acc_update_self_async_64_h): New subroutine.
7790 (acc_update_self_async_array_h): New subroutine.
7791 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
7792 (acc_copyin_async_64_h): New subroutine.
7793 (acc_copyin_async_array_h): New subroutine.
7794 (acc_create_async_32_h): New subroutine.
7795 (acc_create_async_64_h): New subroutine.
7796 (acc_create_async_array_h): New subroutine.
7797 (acc_copyout_async_32_h): New subroutine.
7798 (acc_copyout_async_64_h): New subroutine.
7799 (acc_copyout_async_array_h): New subroutine.
7800 (acc_delete_async_32_h): New subroutine.
7801 (acc_delete_async_64_h): New subroutine.
7802 (acc_delete_async_array_h): New subroutine.
7803 (acc_update_device_async_32_h): New subroutine.
7804 (acc_update_device_async_64_h): New subroutine.
7805 (acc_update_device_async_array_h): New subroutine.
7806 (acc_update_self_async_32_h): New subroutine.
7807 (acc_update_self_async_64_h): New subroutine.
7808 (acc_update_self_async_array_h): New subroutine.
7809 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7810 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7811 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7812 acc_memcpy_to_device_async*, acc_update_device_async*, and
7813 acc_update_self_async* entries.
7814 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7815 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7816 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7817
7818 2018-10-31 Joseph Myers <joseph@codesourcery.com>
7819
7820 PR bootstrap/82856
7821 * Makefile.am: Include multilib.am
7822 (AUTOMAKE_OPTIONS): Add info-in-builddir.
7823 (CLEANFILES): Remove libgomp.info.
7824 * configure.ac: Remove AC_PREREQ.
7825 * testsuite/Makefile.am (RUNTEST): Remove quotes.
7826 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7827 Regenerate.
7828
7829 2018-10-29 Joseph Myers <joseph@codesourcery.com>
7830 Julian Brown <julian@codesourcery.com>
7831
7832 * testsuite/libgomp.oacc-c++/this.C: New.
7833
7834 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
7835
7836 * plugin/plugin-nvptx.c (struct cuda_map): New.
7837 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7838 h_tail with (cuda_map *) map.
7839 (cuda_map_create): New function.
7840 (cuda_map_destroy): New function.
7841 (map_init): Update to use a linked list of cuda_map objects.
7842 (map_fini): Likewise.
7843 (map_pop): Likewise.
7844 (map_push): Likewise. Return CUdeviceptr instead of void.
7845 (init_streams_for_device): Remove stales references to ptx_stream
7846 members.
7847 (select_stream_for_async): Likewise.
7848 (nvptx_exec): Update call to map_init.
7849
7850 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
7851 Julian Brown <julian@codesourcery.com>
7852
7853 PR middle-end/86336
7854 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7855
7856 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
7857 Thomas Koenig <tkoenig@gcc.gnu.org>
7858
7859 PR fortran/25829
7860 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7861 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7862 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7863 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7864 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7865 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7866 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7867
7868 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
7869 Tom de Vries <tdevries@suse.de>
7870
7871 PR target/85590
7872 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7873 (cuOccupancyMaxPotentialBlockSize): Declare.
7874 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7875 CUDA_ONE_CALL_MAYBE_NULL.
7876 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7877 CUoccupancyB2DSize and declare
7878 cuOccupancyMaxPotentialBlockSize.
7879 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7880 default num_gangs and num_workers when the driver supports it.
7881
7882 2018-08-08 Tom de Vries <tdevries@suse.de>
7883
7884 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7885 CUDA_ONE_CALL_MAYBE_NULL.
7886 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7887 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7888 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7889 are not found.
7890
7891 2018-08-08 Tom de Vries <tdevries@suse.de>
7892
7893 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7894 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7895 present.
7896
7897 2018-08-08 Tom de Vries <tdevries@suse.de>
7898
7899 * plugin/plugin-nvptx.c
7900 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7901 (nvptx_open_device): Use
7902 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7903
7904 2018-08-08 Tom de Vries <tdevries@suse.de>
7905
7906 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7907 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
7908
7909 2018-08-07 Tom de Vries <tdevries@suse.de>
7910
7911 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7912 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7913 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
7914 corresponding call in CUDA_ONE_CALL. Add def/undef of
7915 CUDA_ONE_CALL_MAYBE_NULL.
7916 (CUDA_CALL_EXISTS): Define.
7917
7918 2018-08-07 Tom de Vries <tdevries@suse.de>
7919
7920 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7921 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
7922 corresponding undefs right after.
7923
7924 2018-08-04 Tom de Vries <tdevries@suse.de>
7925
7926 * plugin/configfrag.ac: For --without-cuda-driver, set
7927 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
7928 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
7929 * configure: Regenerate.
7930
7931 2018-08-02 Tom de Vries <tdevries@suse.de>
7932
7933 PR target/86660
7934 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
7935 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
7936 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7937 Same.
7938 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
7939 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
7940 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
7941
7942 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7943 Thomas Schwinge <thomas@codesourcery.com>
7944
7945 * config/nvptx/oacc-parallel.c: Truncate.
7946
7947 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7948 James Norris <jnorris@codesourcery.com>
7949
7950 * plugin/plugin-nvptx.c (struct map): Removed.
7951 (map_init, map_pop): Remove use of struct map.
7952 (map_push): Likewise and change argument list.
7953 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
7954
7955 2018-08-01 Tom de Vries <tdevries@suse.de>
7956
7957 * plugin/cuda-lib.def: New file. Factor out of ...
7958 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
7959 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
7960 using CUDA_CALLS.
7961
7962 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
7963
7964 Revert 'AsyncI/O patch committed'.
7965 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
7966 Thomas Koenig <tkoenig@gcc.gnu.org>
7967
7968 PR fortran/25829
7969 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7970 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7971 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7972 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7973 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7974 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7975 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7976
7977 2018-07-30 Tom de Vries <tdevries@suse.de>
7978
7979 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
7980 (nvptx_exec): Ensure worker and vector default dims don't exceed
7981 targ_fn->max_threads_per_block.
7982
7983 2018-07-30 Tom de Vries <tdevries@suse.de>
7984
7985 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
7986 (nvptx_open_device): Init default_dims for device.
7987 (nvptx_exec): Use default_dims from device.
7988
7989 2018-07-26 Jakub Jelinek <jakub@redhat.com>
7990
7991 PR testsuite/86660
7992 * testsuite/libgomp.c++/for-15.C (results): Include it in
7993 omp declare target region.
7994 (main): Use map (always, tofrom: results) instead of
7995 map (tofrom: results).
7996
7997 PR middle-end/86660
7998 * testsuite/libgomp.c/pr86660.c: New test.
7999
8000 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
8001 Tom de Vries <tdevries@suse.de>
8002
8003 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
8004 sufficient resources to launch a kernel, and give a hint on how to fix
8005 it.
8006
8007 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
8008 Tom de Vries <tdevries@suse.de>
8009
8010 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
8011 max_threads_per_block and max_threads_per_multiprocessor fields.
8012 (nvptx_open_device): Initialize new fields.
8013 (nvptx_exec): Use num_sms, and new fields.
8014
8015 2018-07-26 Tom de Vries <tdevries@suse.de>
8016
8017 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
8018 to correct locations. Remove xfail.
8019
8020 2018-07-26 Tom de Vries <tdevries@suse.de>
8021
8022 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
8023 acc_wait. Move acc_async_test calls to correct locations. Remove
8024 xfail.
8025
8026 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
8027 Thomas Koenig <tkoenig@gcc.gnu.org>
8028
8029 PR fortran/25829
8030 * testsuite/libgomp.fortran/async_io_1.f90: New test.
8031 * testsuite/libgomp.fortran/async_io_2.f90: New test.
8032 * testsuite/libgomp.fortran/async_io_3.f90: New test.
8033 * testsuite/libgomp.fortran/async_io_4.f90: New test.
8034 * testsuite/libgomp.fortran/async_io_5.f90: New test.
8035 * testsuite/libgomp.fortran/async_io_6.f90: New test.
8036 * testsuite/libgomp.fortran/async_io_7.f90: New test.
8037
8038 2018-07-17 Jakub Jelinek <jakub@redhat.com>
8039
8040 PR middle-end/86542
8041 * testsuite/libgomp.c++/pr86542.C: New test.
8042
8043 PR middle-end/86539
8044 * testsuite/libgomp.c++/pr86539.C: New test.
8045
8046 2018-07-11 Jakub Jelinek <jakub@redhat.com>
8047
8048 PR c++/86443
8049 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
8050 (results): Make sure the variable is not inside declare target region.
8051 (qux): Remove unused function.
8052
8053 2018-07-10 Jakub Jelinek <jakub@redhat.com>
8054
8055 PR c++/86443
8056 * testsuite/libgomp.c++/for-15.C: New test.
8057
8058 2018-06-26 Jakub Jelinek <jakub@redhat.com>
8059
8060 PR c++/86291
8061 * testsuite/libgomp.c++/pr86291.C: New test.
8062
8063 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
8064
8065 * libgomp.texi (Top): Move www.openmp.org to https.
8066 (Enabling OpenMP): Ditto.
8067 (omp_get_active_level): Ditto.
8068 (omp_get_ancestor_thread_num): Ditto.
8069 (omp_get_cancellation): Ditto.
8070 (omp_get_default_device): Ditto.
8071 (omp_get_dynamic): Ditto.
8072 (omp_get_level): Ditto.
8073 (omp_get_max_active_levels): Ditto.
8074 (omp_get_max_task_priority): Ditto.
8075 (omp_get_max_threads): Ditto.
8076 (omp_get_nested): Ditto.
8077 (omp_get_num_devices): Ditto.
8078 (omp_get_num_procs): Ditto.
8079 (omp_get_num_teams): Ditto.
8080 (omp_get_num_threads): Ditto.
8081 (omp_get_proc_bind): Ditto.
8082 (omp_get_schedule): Ditto.
8083 (omp_get_team_num): Ditto.
8084 (omp_get_team_size): Ditto.
8085 (omp_get_thread_limit): Ditto.
8086 (omp_get_thread_num): Ditto.
8087 (omp_in_parallel): Ditto.
8088 (omp_in_final): Ditto.
8089 (omp_is_initial_device): Ditto.
8090 (omp_set_default_device): Ditto.
8091 (omp_set_dynamic): Ditto.
8092 (omp_set_max_active_levels): Ditto.
8093 (omp_set_nested): Ditto.
8094 (omp_set_num_threads): Ditto.
8095 (omp_set_schedule): Ditto.
8096 (omp_init_lock): Ditto.
8097 (omp_set_lock): Ditto.
8098 (omp_test_lock): Ditto.
8099 (omp_unset_lock): Ditto.
8100 (omp_destroy_lock): Ditto.
8101 (omp_init_nest_lock): Ditto.
8102 (omp_set_nest_lock): Ditto.
8103 (omp_test_nest_lock): Ditto.
8104 (omp_unset_nest_lock): Ditto.
8105 (omp_destroy_nest_lock): Ditto.
8106 (omp_get_wtick): Ditto.
8107 (omp_get_wtime): Ditto.
8108 (OMP_CANCELLATION): Ditto.
8109 (OMP_DISPLAY_ENV): Ditto.
8110 (OMP_DEFAULT_DEVICE): Ditto.
8111 (OMP_DYNAMIC): Ditto.
8112 (OMP_MAX_ACTIVE_LEVELS): Ditto.
8113 (OMP_MAX_TASK_PRIORITY): Ditto.
8114 (OMP_NESTED): Ditto.
8115 (OMP_NUM_THREADS): Ditto.
8116 (OMP_PROC_BIND): Ditto.
8117 (OMP_PLACES): Ditto.
8118 (OMP_STACKSIZE): Ditto.
8119 (OMP_SCHEDULE): Ditto.
8120 (OMP_THREAD_LIMIT): Ditto.
8121 (OMP_WAIT_POLICY): Ditto.
8122
8123 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
8124 James Norris <jnorris@codesourcery.com>
8125 Julian Brown <julian@codesourcery.com>
8126 Thomas Schwinge <thomas@codesourcery.com>
8127 Tom de Vries <tom@codesourcery.com>
8128
8129 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
8130 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
8131 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
8132 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
8133 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8134 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8135 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
8136 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
8137 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
8138 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
8139 Likewise.
8140 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
8141 Likewise.
8142 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
8143 Likewise.
8144 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
8145 Likewise.
8146 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
8147 Likewise.
8148 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
8149 Likewise.
8150 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
8151 Likewise.
8152 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
8153 Likewise.
8154 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
8155 Likewise.
8156 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
8157 Likewise.
8158 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
8159 Likewise.
8160 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
8161 Likewise.
8162 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
8163 Likewise.
8164 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
8165 Likewise.
8166 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
8167 Likewise.
8168 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
8169 Likewise.
8170 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
8171 Likewise.
8172 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
8173 Likewise.
8174 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
8175 Likewise.
8176 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
8177 Likewise.
8178 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
8179 Likewise.
8180 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
8181 Likewise.
8182 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
8183 Likewise.
8184 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
8185 Likewise.
8186 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
8187 Likewise.
8188 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
8189 Likewise.
8190 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
8191 Likewise.
8192 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
8193 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
8194 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
8195 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
8196 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
8197 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
8198 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
8199 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
8200 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
8201 Likewise.
8202 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
8203 Likewise.
8204 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
8205 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
8206 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
8207 Likewise.
8208 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
8209 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
8210 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
8211 Likewise.
8212 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
8213 Likewise.
8214 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
8215 Likewise.
8216 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
8217 Likewise.
8218 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
8219 Likewise.
8220 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
8221 Likewise.
8222 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
8223 Likewise.
8224 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
8225 Likewise.
8226 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
8227 Likewise.
8228 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
8229 Likewise.
8230 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
8231 Likewise.
8232 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
8233 Likewise.
8234 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
8235 Likewise.
8236 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
8237 Likewise.
8238 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
8239 Likewise.
8240 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
8241 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
8242 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
8243 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
8244 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
8245 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
8246 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
8247
8248 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
8249 Thomas Schwinge <thomas@codesourcery.com>
8250 Cesar Philippidis <cesar@codesourcery.com>
8251
8252 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
8253 (gomp_acc_remove_pointer): Update declaration.
8254 (gomp_acc_declare_allocate): Declare.
8255 (gomp_remove_var): Declare.
8256 * libgomp.map (OACC_2.5): Define.
8257 * oacc-mem.c (acc_map_data): Update refcount.
8258 (acc_unmap_data): Likewise.
8259 (present_create_copy): Likewise.
8260 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
8261 (acc_copyin): Likewise.
8262 (FLAG_FINALIZE): Define.
8263 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
8264 (acc_delete_finalize): New function.
8265 (acc_delete_finalize_async): New function.
8266 (acc_copyout_finalize): New function.
8267 (acc_copyout_finalize_async): New function.
8268 (gomp_acc_insert_pointer): Update refcounts.
8269 (gomp_acc_remove_pointer): Return if data is not present on the
8270 accelerator.
8271 * oacc-parallel.c (find_pset): Rename to find_pointer.
8272 (find_pointer): Add support for GOMP_MAP_POINTER.
8273 (handle_ftn_pointers): New function.
8274 (GOACC_parallel_keyed): Update refcounts of variables.
8275 (GOACC_enter_exit_data): Add support for finalized data mappings.
8276 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
8277 of fortran arrays.
8278 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
8279 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
8280 for GOMP_MAP_FORCE_FROM.
8281 * openacc.f90 (module openacc_internal): Add
8282 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
8283 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
8284 acc_copyout_finalize and acc_delete_finalize.
8285 (acc_copyout_finalize_32_h): New subroutine.
8286 (acc_copyout_finalize_64_h): New subroutine.
8287 (acc_copyout_finalize_array_h): New subroutine.
8288 (acc_delete_finalize_32_h): New subroutine.
8289 (acc_delete_finalize_64_h): New subroutine.
8290 (acc_delete_finalize_array_h): New subroutine.
8291 * openacc.h (acc_copyout_finalize): Declare.
8292 (acc_copyout_finalize_async): Declare.
8293 (acc_delete_finalize): Declare.
8294 (acc_delete_finalize_async): Declare.
8295 * openacc_lib.h (acc_copyout_finalize): New interface.
8296 (acc_delete_finalize): New interface.
8297 * target.c (gomp_map_vars): Update dynamic_refcount.
8298 (gomp_remove_var): New function.
8299 (gomp_unmap_vars): Use it.
8300 (gomp_unload_image_from_device): Likewise.
8301 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
8302 case to utilize OpenACC 2.5 data clause semantics.
8303 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8304 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8305 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8306 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8307 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8308 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8309 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8310 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8311 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8312 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8313 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
8314 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
8315 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
8316 utilize OpenACC 2.5 data clause semantics.
8317 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8318 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8319 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8320 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8321 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8322 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8323 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8324 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8325 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8326
8327 2018-05-21 Janus Weil <janus@gcc.gnu.org>
8328
8329 PR fortran/85841
8330 PR testsuite/85865
8331 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
8332 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
8333 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
8334 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
8335 * testsuite/libgomp.fortran/task2.f90: Ditto.
8336 * testsuite/libgomp.fortran/vla1.f90: Ditto.
8337 * testsuite/libgomp.fortran/vla2.f90: Ditto.
8338 * testsuite/libgomp.fortran/vla3.f90: Ditto.
8339 * testsuite/libgomp.fortran/vla4.f90: Ditto.
8340 * testsuite/libgomp.fortran/vla5.f90: Ditto.
8341 * testsuite/libgomp.fortran/vla6.f90: Ditto.
8342 * testsuite/libgomp.fortran/vla8.f90: Ditto.
8343 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
8344 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
8345
8346 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
8347
8348 PR c++/85782
8349 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
8350
8351 2018-05-09 Tom de Vries <tom@codesourcery.com>
8352
8353 PR libgomp/82901
8354 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
8355 to GOACC_enter_exit_data.
8356
8357 2018-05-09 Tom de Vries <tom@codesourcery.com>
8358
8359 PR libgomp/83792
8360 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
8361 (async_synchronous_p): New function.
8362 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
8363 async_valid_p.
8364 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
8365 async_valid_stream_id_p.
8366 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
8367 * oacc-parallel.c (GOACC_parallel_keyed): Same.
8368
8369 2018-05-07 Tom de Vries <tom@codesourcery.com>
8370
8371 PR testsuite/85677
8372 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
8373 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
8374
8375 2018-05-03 Tom de Vries <tom@codesourcery.com>
8376
8377 PR testsuite/85106
8378 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
8379 extra_tool_flags if it contains an -foffload=-fdump-* flag.
8380 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
8381 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
8382
8383 2018-05-02 Tom de Vries <tom@codesourcery.com>
8384
8385 PR libgomp/85411
8386 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
8387 GOMP_OPENACC_DIM ...
8388 * env.c (parse_gomp_openacc_dim): ... here. New function.
8389 (initialize_env): Call parse_gomp_openacc_dim.
8390 (goacc_default_dims): Define.
8391 * libgomp.h (goacc_default_dims): Declare.
8392 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
8393 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
8394 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
8395 GOMP_PLUGIN_acc_default_dim.
8396 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
8397 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
8398
8399 2018-05-02 Tom de Vries <tom@codesourcery.com>
8400
8401 PR testsuite/83791
8402 * testsuite/libgomp.c++/udr-9.C: Update.
8403 * testsuite/libgomp.c++/atomic-16.C: Remove.
8404 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
8405 * testsuite/libgomp.c++/loop-13.C: Remove.
8406 * testsuite/libgomp.c++/loop-14.C: Remove.
8407 * testsuite/libgomp.c++/loop-15.C: Remove.
8408 * testsuite/libgomp.c++/monotonic-1.C: Remove.
8409 * testsuite/libgomp.c++/monotonic-2.C: Remove.
8410 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
8411 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
8412 * testsuite/libgomp.c++/ordered-1.C: Remove.
8413 * testsuite/libgomp.c++/pr45784.C: Remove.
8414 * testsuite/libgomp.c++/pr64824.C: Remove.
8415 * testsuite/libgomp.c++/pr64868.C: Remove.
8416 * testsuite/libgomp.c++/pr66199-1.C: Remove.
8417 * testsuite/libgomp.c++/pr66199-2.C: Remove.
8418 * testsuite/libgomp.c++/pr66199-3.C: Remove.
8419 * testsuite/libgomp.c++/pr66199-4.C: Remove.
8420 * testsuite/libgomp.c++/pr66199-5.C: Remove.
8421 * testsuite/libgomp.c++/pr66199-6.C: Remove.
8422 * testsuite/libgomp.c++/pr66199-7.C: Remove.
8423 * testsuite/libgomp.c++/pr66199-8.C: Remove.
8424 * testsuite/libgomp.c++/pr66199-9.C: Remove.
8425 * testsuite/libgomp.c++/pr69389.C: Remove.
8426 * testsuite/libgomp.c++/simd10.C: Remove.
8427 * testsuite/libgomp.c++/simd11.C: Remove.
8428 * testsuite/libgomp.c++/simd12.C: Remove.
8429 * testsuite/libgomp.c++/simd13.C: Remove.
8430 * testsuite/libgomp.c++/target-1.C: Remove.
8431 * testsuite/libgomp.c++/target-3.C: Remove.
8432 * testsuite/libgomp.c++/target-4.C: Remove.
8433 * testsuite/libgomp.c++/target-5.C: Remove.
8434 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
8435 * testsuite/libgomp.c++/taskloop-1.C: Remove.
8436 * testsuite/libgomp.c++/taskloop-2.C: Remove.
8437 * testsuite/libgomp.c++/taskloop-3.C: Remove.
8438 * testsuite/libgomp.c++/taskloop-4.C: Remove.
8439 * testsuite/libgomp.c++/udr-9.C: Remove.
8440 * testsuite/libgomp.c++/for-10.C: Remove.
8441 * testsuite/libgomp.c++/for-11.C: Remove.
8442 * testsuite/libgomp.c++/for-12.C: Remove.
8443 * testsuite/libgomp.c++/for-13.C: Remove.
8444 * testsuite/libgomp.c++/for-14.C: Remove.
8445 * testsuite/libgomp.c++/for-9.C: Remove.
8446 * testsuite/libgomp.c/atomic-18.c: Move ...
8447 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
8448 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
8449 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
8450 * testsuite/libgomp.c/loop-13.c: Move ...
8451 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
8452 * testsuite/libgomp.c/loop-14.c: Move ...
8453 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
8454 * testsuite/libgomp.c/loop-15.c: Remove.
8455 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
8456 * testsuite/libgomp.c/monotonic-1.c: Move ...
8457 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
8458 * testsuite/libgomp.c/monotonic-2.c: Move ...
8459 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
8460 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
8461 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
8462 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
8463 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
8464 * testsuite/libgomp.c/ordered-4.c: Move ...
8465 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
8466 * testsuite/libgomp.c/pr45784.c: Move ...
8467 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
8468 * testsuite/libgomp.c/pr64824.c: Move ...
8469 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
8470 * testsuite/libgomp.c/pr64868.c: Move ...
8471 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
8472 * testsuite/libgomp.c/pr66199-1.c: Move ...
8473 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
8474 * testsuite/libgomp.c/pr66199-2.c: Move ...
8475 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
8476 * testsuite/libgomp.c/pr66199-3.c: Move ...
8477 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
8478 * testsuite/libgomp.c/pr66199-4.c: Move ...
8479 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
8480 * testsuite/libgomp.c/pr66199-5.c: Move ...
8481 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
8482 * testsuite/libgomp.c/pr66199-6.c: Move ...
8483 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
8484 * testsuite/libgomp.c/pr66199-7.c: Move ...
8485 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
8486 * testsuite/libgomp.c/pr66199-8.c: Move ...
8487 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
8488 * testsuite/libgomp.c/pr66199-9.c: Move ...
8489 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
8490 * testsuite/libgomp.c/pr69389.c: Move ...
8491 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
8492 * testsuite/libgomp.c/simd-14.c: Move ...
8493 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
8494 * testsuite/libgomp.c/simd-15.c: Move ...
8495 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
8496 * testsuite/libgomp.c/simd-16.c: Move ...
8497 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
8498 * testsuite/libgomp.c/simd-17.c: Move ...
8499 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
8500 * testsuite/libgomp.c/target-1.c: Move ...
8501 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
8502 * testsuite/libgomp.c/target-10.c: Move ...
8503 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
8504 * testsuite/libgomp.c/target-13.c: Move ...
8505 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
8506 * testsuite/libgomp.c/target-2.c: Move ...
8507 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
8508 * testsuite/libgomp.c/taskgroup-1.c: Move ...
8509 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
8510 * testsuite/libgomp.c/taskloop-1.c: Move ...
8511 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
8512 * testsuite/libgomp.c/taskloop-2.c: Move ...
8513 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
8514 * testsuite/libgomp.c/taskloop-3.c: Move ...
8515 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
8516 * testsuite/libgomp.c/taskloop-4.c: Move ...
8517 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
8518 * testsuite/libgomp.c/udr-1.c: Move ...
8519 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
8520 * testsuite/libgomp.c/for-1.c: Move ...
8521 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
8522 * testsuite/libgomp.c/for-1.h: Move ...
8523 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
8524 * testsuite/libgomp.c/for-2.c: Move ...
8525 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
8526 * testsuite/libgomp.c/for-2.h: Move ...
8527 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
8528 * testsuite/libgomp.c/for-3.c: Move ...
8529 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
8530 * testsuite/libgomp.c/for-4.c: Move ...
8531 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
8532 * testsuite/libgomp.c/for-5.c: Move ...
8533 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
8534 * testsuite/libgomp.c/for-6.c: Move ...
8535 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
8536
8537 2018-05-02 Tom de Vries <tom@codesourcery.com>
8538
8539 PR libgomp/82428
8540 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
8541 __builtin_goacc_parlevel_{id,size}.
8542 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
8543 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
8544 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
8545 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
8546 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
8547 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
8548 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
8549 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
8550 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
8551 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
8552 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
8553 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
8554 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
8555 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
8556 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
8557 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
8558 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
8559 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
8560 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
8561 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
8562 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
8563 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
8564 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
8565
8566 2018-05-02 Tom de Vries <tom@codesourcery.com>
8567
8568 PR testsuite/85106
8569 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
8570
8571 2018-05-02 Tom de Vries <tom@codesourcery.com>
8572
8573 PR testsuite/85106
8574 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
8575
8576 2018-04-29 Julian Brown <julian@codesourcery.com>
8577 Tom de Vries <tom@codesourcery.com>
8578
8579 PR testsuite/85527
8580 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
8581 arbitrary order for iterations of atomic subtract check.
8582
8583 2018-04-28 Tom de Vries <tom@codesourcery.com>
8584
8585 PR testsuite/85527
8586 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
8587 atomic capture results obtained in parallel loop to an array, instead of
8588 to a scalar.
8589
8590 2018-04-26 Tom de Vries <tom@codesourcery.com>
8591
8592 PR libgomp/84020
8593 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
8594 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
8595 (process_GOMP_NVPTX_JIT): New function.
8596 (link_ptx): Use process_GOMP_NVPTX_JIT.
8597
8598 2018-04-26 Richard Biener <rguenther@suse.de>
8599 Tom de Vries <tom@codesourcery.com>
8600
8601 PR lto/85422
8602 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
8603
8604 2018-04-26 Tom de Vries <tom@codesourcery.com>
8605
8606 PR target/85519
8607 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
8608 recursion depth from 25 to 23.
8609 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
8610
8611 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
8612
8613 * configure: Regenerated.
8614
8615 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
8616 Tom de Vries <tom@codesourcery.com>
8617
8618 PR target/85445
8619 * testsuite/libgomp.oacc-c++/ref-1.C: New.
8620
8621 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
8622
8623 PR libgomp/85463
8624 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
8625 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8626 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8627 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
8628 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
8629 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
8630
8631 PR libfortran/85166
8632 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
8633 abort".
8634 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8635
8636 2018-04-19 Jakub Jelinek <jakub@redhat.com>
8637
8638 * configure: Regenerated.
8639
8640 2018-04-18 David Malcolm <dmalcolm@redhat.com>
8641
8642 PR jit/85384
8643 * configure: Regenerate.
8644
8645 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
8646 Tom de Vries <tom@codesourcery.com>
8647
8648 PR middle-end/84955
8649 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8650 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8651
8652 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
8653
8654 PR fortran/83064
8655 PR testsuite/85346
8656 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
8657 test from gfortran.dg to here.
8658
8659 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8660
8661 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
8662 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
8663
8664 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8665
8666 PR middle-end/84955
8667 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8668 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8669
8670 2018-04-05 Tom de Vries <tom@codesourcery.com>
8671
8672 PR target/85204
8673 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
8674
8675 2018-03-26 Tom de Vries <tom@codesourcery.com>
8676
8677 PR tree-optimization/85063
8678 * testsuite/libgomp.c/switch-conversion-2.c: New test.
8679 * testsuite/libgomp.c/switch-conversion.c: New test.
8680 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
8681 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
8682
8683 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
8684
8685 PR fortran/84381
8686 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
8687 call abort by STOP n.
8688 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
8689 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
8690 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
8691 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
8692 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
8693 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
8694 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
8695 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
8696 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
8697 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
8698 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
8699 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
8700 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
8701 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
8702 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
8703 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
8704 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
8705 * testsuite/libgomp.fortran/associate1.f90: Likewise.
8706 * testsuite/libgomp.fortran/associate2.f90: Likewise.
8707 * testsuite/libgomp.fortran/associate3.f90: Likewise.
8708 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
8709 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
8710 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
8711 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
8712 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
8713 * testsuite/libgomp.fortran/character1.f90: Likewise.
8714 * testsuite/libgomp.fortran/character2.f90: Likewise.
8715 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
8716 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
8717 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
8718 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
8719 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
8720 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
8721 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
8722 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
8723 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
8724 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
8725 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
8726 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
8727 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
8728 * testsuite/libgomp.fortran/do1.f90: Likewise.
8729 * testsuite/libgomp.fortran/do2.f90: Likewise.
8730 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
8731 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
8732 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
8733 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
8734 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
8735 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
8736 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8737 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
8738 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
8739 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
8740 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
8741 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
8742 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8743 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
8744 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
8745 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
8746 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
8747 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
8748 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
8749 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
8750 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
8751 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
8752 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
8753 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
8754 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
8755 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
8756 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
8757 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8758 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
8759 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
8760 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
8761 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
8762 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
8763 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8764 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8765 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
8766 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
8767 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
8768 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
8769 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
8770 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
8771 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
8772 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
8773 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
8774 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8775 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
8776 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
8777 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
8778 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
8779 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8780 * testsuite/libgomp.fortran/lib2.f: Likewise.
8781 * testsuite/libgomp.fortran/lib3.f: Likewise.
8782 * testsuite/libgomp.fortran/lib4.f90: Likewise.
8783 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
8784 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
8785 * testsuite/libgomp.fortran/nested1.f90: Likewise.
8786 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
8787 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
8788 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
8789 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
8790 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
8791 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
8792 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
8793 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
8794 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
8795 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
8796 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
8797 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
8798 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8799 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8800 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8801 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8802 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8803 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8804 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8805 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8806 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8807 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8808 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
8809 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
8810 * testsuite/libgomp.fortran/pr25162.f: Likewise.
8811 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
8812 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8813 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8814 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8815 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8816 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8817 * testsuite/libgomp.fortran/pr28390.f: Likewise.
8818 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
8819 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
8820 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
8821 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
8822 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
8823 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
8824 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
8825 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
8826 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8827 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8828 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8829 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8830 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
8831 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8832 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
8833 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
8834 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
8835 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8836 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8837 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
8838 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
8839 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
8840 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
8841 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
8842 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
8843 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8844 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
8845 * testsuite/libgomp.fortran/reference1.f90: Likewise.
8846 * testsuite/libgomp.fortran/reference2.f90: Likewise.
8847 * testsuite/libgomp.fortran/retval1.f90: Likewise.
8848 * testsuite/libgomp.fortran/retval2.f90: Likewise.
8849 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
8850 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
8851 * testsuite/libgomp.fortran/simd1.f90: Likewise.
8852 * testsuite/libgomp.fortran/simd2.f90: Likewise.
8853 * testsuite/libgomp.fortran/simd3.f90: Likewise.
8854 * testsuite/libgomp.fortran/simd4.f90: Likewise.
8855 * testsuite/libgomp.fortran/simd5.f90: Likewise.
8856 * testsuite/libgomp.fortran/simd6.f90: Likewise.
8857 * testsuite/libgomp.fortran/simd7.f90: Likewise.
8858 * testsuite/libgomp.fortran/stack.f90: Likewise.
8859 * testsuite/libgomp.fortran/strassen.f90: Likewise.
8860 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
8861 * testsuite/libgomp.fortran/tabs2.f: Likewise.
8862 * testsuite/libgomp.fortran/target1.f90: Likewise.
8863 * testsuite/libgomp.fortran/target2.f90: Likewise.
8864 * testsuite/libgomp.fortran/target3.f90: Likewise.
8865 * testsuite/libgomp.fortran/target4.f90: Likewise.
8866 * testsuite/libgomp.fortran/target5.f90: Likewise.
8867 * testsuite/libgomp.fortran/target6.f90: Likewise.
8868 * testsuite/libgomp.fortran/target7.f90: Likewise.
8869 * testsuite/libgomp.fortran/target8.f90: Likewise.
8870 * testsuite/libgomp.fortran/task1.f90: Likewise.
8871 * testsuite/libgomp.fortran/task2.f90: Likewise.
8872 * testsuite/libgomp.fortran/task3.f90: Likewise.
8873 * testsuite/libgomp.fortran/task4.f90: Likewise.
8874 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8875 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8876 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8877 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8878 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8879 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8880 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8881 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8882 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8883 * testsuite/libgomp.fortran/udr1.f90: Likewise.
8884 * testsuite/libgomp.fortran/udr10.f90: Likewise.
8885 * testsuite/libgomp.fortran/udr11.f90: Likewise.
8886 * testsuite/libgomp.fortran/udr12.f90: Likewise.
8887 * testsuite/libgomp.fortran/udr13.f90: Likewise.
8888 * testsuite/libgomp.fortran/udr14.f90: Likewise.
8889 * testsuite/libgomp.fortran/udr15.f90: Likewise.
8890 * testsuite/libgomp.fortran/udr2.f90: Likewise.
8891 * testsuite/libgomp.fortran/udr3.f90: Likewise.
8892 * testsuite/libgomp.fortran/udr4.f90: Likewise.
8893 * testsuite/libgomp.fortran/udr5.f90: Likewise.
8894 * testsuite/libgomp.fortran/udr6.f90: Likewise.
8895 * testsuite/libgomp.fortran/udr7.f90: Likewise.
8896 * testsuite/libgomp.fortran/udr8.f90: Likewise.
8897 * testsuite/libgomp.fortran/udr9.f90: Likewise.
8898 * testsuite/libgomp.fortran/vla1.f90: Likewise.
8899 * testsuite/libgomp.fortran/vla2.f90: Likewise.
8900 * testsuite/libgomp.fortran/vla3.f90: Likewise.
8901 * testsuite/libgomp.fortran/vla4.f90: Likewise.
8902 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8903 * testsuite/libgomp.fortran/vla6.f90: Likewise.
8904 * testsuite/libgomp.fortran/vla7.f90: Likewise.
8905 * testsuite/libgomp.fortran/vla8.f90: Likewise.
8906 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
8907 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
8908 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8909 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8910 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8911 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8912 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8913 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8914 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8915 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8916 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8917 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8918 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8919 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8920 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8921 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8922 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8923 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8924 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8925 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8926 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8927 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8928 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8929 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
8930 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
8931 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8932 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8933 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8934 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8935 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8936 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8937 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8938 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8939 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8940 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8941 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8942 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8943 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8944 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
8945 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8946 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
8947 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8948 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
8949 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
8950 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
8951 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
8952 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8953 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8954 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8955 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8956 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8957 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8958 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8959 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8960 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8961 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8962 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8963 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8964 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8965 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8966 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8967 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8968 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8969 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8970 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8971 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8972 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
8973 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8974 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
8975 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8976 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
8977 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
8978 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
8979 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
8980 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8981 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8982 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8983 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8984 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8985 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8986 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8987 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8988 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
8989 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
8990 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8991 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8992 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8993 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8994 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
8995 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
8996 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
8997 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8998 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8999 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
9000
9001 2018-03-20 Richard Biener <rguenther@suse.de>
9002
9003 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
9004 parallelizable loop.
9005
9006 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
9007
9008 PR target/84148
9009 * configure: Regenerate.
9010
9011 2018-02-16 Jakub Jelinek <jakub@redhat.com>
9012
9013 PR fortran/84418
9014 * libgomp.fortran/pr84418-1.f90: New test.
9015 * libgomp.fortran/pr84418-2.f90: New test.
9016
9017 2018-02-14 Jakub Jelinek <jakub@redhat.com>
9018
9019 PR fortran/84313
9020 * testsuite/libgomp.fortran/threadprivate4.f90: Add
9021 -std=f2003 -fall-intrinsics into dg-additional-options.
9022
9023 2018-02-08 Martin Jambor <mjambor@suse.cz>
9024
9025 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
9026 clonable.
9027
9028 2018-02-08 Martin Jambor <mjambor@suse.cz>
9029
9030 * testsuite/libgomp.hsa.c/staticvar.c: New test.
9031
9032 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9033
9034 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
9035 [__cplusplus]: Declare extern "C".
9036
9037 2018-02-07 Tom de Vries <tom@codesourcery.com>
9038
9039 PR libgomp/84217
9040 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
9041
9042 2018-01-29 Christoph Spiel <cspiel@freenet.de>
9043 Jakub Jelinek <jakub@redhat.com>
9044
9045 PR libgomp/84096
9046 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
9047 instead of omp_lock_t.
9048
9049 2018-01-25 Tom de Vries <tom@codesourcery.com>
9050
9051 PR target/84028
9052 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
9053
9054 2018-01-24 Tom de Vries <tom@codesourcery.com>
9055
9056 PR target/83589
9057 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
9058
9059 2018-01-24 Tom de Vries <tom@codesourcery.com>
9060
9061 PR target/81352
9062 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
9063
9064 2018-01-19 Tom de Vries <tom@codesourcery.com>
9065 Cesar Philippidis <cesar@codesourcery.com>
9066
9067 PR target/83920
9068 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
9069 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
9070
9071 2018-01-03 Jakub Jelinek <jakub@redhat.com>
9072
9073 Update copyright years.
9074
9075 * libgomp.texi: Bump @copying's copyright year.
9076
9077 2017-12-30 Tom de Vries <tom@codesourcery.com>
9078
9079 PR libgomp/83046
9080 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
9081 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
9082
9083 2017-12-27 Tom de Vries <tom@codesourcery.com>
9084
9085 PR c++/83046
9086 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
9087 (test_nonstatic): Fix return type to workaround PR83046.
9088
9089 2017-12-05 Jakub Jelinek <jakub@redhat.com>
9090
9091 PR testsuite/83281
9092 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
9093 j suffix instead of i.
9094 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
9095 Likewise.
9096
9097 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
9098
9099 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
9100 call to acc_wait (1).
9101
9102 2017-11-24 Jakub Jelinek <jakub@redhat.com>
9103
9104 PR fortran/81304
9105 * testsuite/libgomp.fortran/pr81304.f90: New test.
9106
9107 2017-11-23 Jakub Jelinek <jakub@redhat.com>
9108
9109 PR fortran/81841
9110 * libgomp.fortran/pr81841.f90: New test.
9111
9112 2017-11-22 Jakub Jelinek <jakub@redhat.com>
9113
9114 PR libgomp/83106
9115 * target.c (gomp_target_init): Compute lengths just once and
9116 use them in both malloc size and subsequent copying.
9117
9118 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
9119
9120 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
9121 * acinclude.m4: Add cet.m4.
9122 * configure: Regenerate.
9123 * Makefile.in: Likewise.
9124 * testsuite/Makefile.in: Likewise.
9125
9126 2017-11-15 Tom de Vries <tom@codesourcery.com>
9127
9128 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
9129 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
9130 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
9131 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
9132 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
9133 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
9134
9135 2017-11-14 Tom de Vries <tom@codesourcery.com>
9136
9137 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
9138 non-nvidia devices.
9139
9140 2017-11-07 Jakub Jelinek <jakub@redhat.com>
9141
9142 PR c++/82835
9143 * testsuite/libgomp.c++/pr82835.C: New test.
9144
9145 2017-11-06 Martin Liska <mliska@suse.cz>
9146
9147 * testsuite/libgomp.c++/loop-2.C: Return a value
9148 for functions with non-void return type, or change type to void,
9149 or add -Wno-return-type for test.
9150 * testsuite/libgomp.c++/loop-4.C: Likewise.
9151 * testsuite/libgomp.c++/parallel-1.C: Likewise.
9152 * testsuite/libgomp.c++/shared-1.C: Likewise.
9153 * testsuite/libgomp.c++/single-1.C: Likewise.
9154 * testsuite/libgomp.c++/single-2.C: Likewise.
9155
9156 2017-10-31 Tom de Vries <tom@codesourcery.com>
9157
9158 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
9159 "do {} while (false)".
9160 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
9161 after HSA_DEBUG call.
9162
9163 2017-10-28 Jakub Jelinek <jakub@redhat.com>
9164
9165 * target.c (struct gomp_coalesce_buf): New type.
9166 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
9167 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
9168 (gomp_copy_host2dev): Add CBUF argument, if copying into
9169 the cached ranges, memcpy into buffer instead of copying
9170 into device.
9171 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
9172 Add CBUF argument, pass it through to other calls.
9173 (gomp_map_vars): Aggregate copies from host to device if small enough
9174 and with small enough gaps in between into memcpy into a buffer and
9175 fewer host to device copies from the buffer.
9176 (gomp_update): Adjust gomp_copy_host2dev caller.
9177
9178 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
9179
9180 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
9181 run" directive.
9182 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
9183 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
9184 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
9185 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
9186
9187 2017-10-16 Tom de Vries <tom@codesourcery.com>
9188
9189 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
9190 openacc_nvidia_accel_selected.
9191 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
9192 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
9193 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
9194 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
9195 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
9196 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
9197 openacc_nvidia_accel_selected. Skip for shared memory device.
9198 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
9199 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
9200
9201 2017-10-09 Martin Jambor <mjambor@suse.cz>
9202
9203 PR hsa/82416
9204 * testsuite/libgomp.hsa.c/pr82416.c: New test.
9205
9206 2017-10-07 Tom de Vries <tom@codesourcery.com>
9207
9208 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
9209 Remove acc_device_nvidia references.
9210 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
9211 Same.
9212
9213 2017-10-05 Tom de Vries <tom@codesourcery.com>
9214
9215 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
9216 vector_length(32) clause from acc parallel directive.
9217 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
9218
9219 2017-10-04 Tom de Vries <tom@codesourcery.com>
9220
9221 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
9222 (main): Reduce sum of arr elements. Assert that hres is exactly
9223 representable in 32-bit floating point.
9224 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
9225 (main): Reduce sum of arr elements. Assert that hres and hmres are
9226 exactly representable in 32-bit floating point.
9227 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
9228
9229 2017-09-28 Tom de Vries <tom@codesourcery.com>
9230
9231 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
9232 setting.
9233 * testsuite/libgomp.c++/pr69393.C: Same.
9234 * testsuite/libgomp.c++/taskloop-1.C: Same.
9235 * testsuite/libgomp.c++/taskloop-3.C: Same.
9236 * testsuite/libgomp.c++/taskloop-4.C: Same.
9237 * testsuite/libgomp.c/for-4.c: Same.
9238 * testsuite/libgomp.c/pr66199-3.c: Same.
9239 * testsuite/libgomp.c/pr66199-4.c: Same.
9240 * testsuite/libgomp.c/pr66199-6.c: Same.
9241 * testsuite/libgomp.c/taskloop-1.c: Same.
9242 * testsuite/libgomp.c/taskloop-3.c: Same.
9243 * testsuite/libgomp.c/taskloop-4.c: Same.
9244 * testsuite/libgomp.fortran/aligned1.f03: Same.
9245 * testsuite/libgomp.fortran/condinc1.f: Same.
9246 * testsuite/libgomp.fortran/condinc3.f90: Same.
9247 * testsuite/libgomp.fortran/crayptr1.f90: Same.
9248 * testsuite/libgomp.fortran/crayptr2.f90: Same.
9249 * testsuite/libgomp.fortran/crayptr3.f90: Same.
9250 * testsuite/libgomp.fortran/omp_cond1.f: Same.
9251 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
9252 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
9253 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
9254 * testsuite/libgomp.fortran/recursion1.f90: Same.
9255 * testsuite/libgomp.fortran/target2.f90: Same.
9256 * testsuite/libgomp.fortran/target5.f90: Same.
9257 * testsuite/libgomp.fortran/task3.f90: Same.
9258
9259 2017-09-28 Tom de Vries <tom@codesourcery.com>
9260
9261 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
9262 vector_length(32) clause from acc parallel directive.
9263 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
9264
9265 2017-09-27 Tom de Vries <tom@codesourcery.com>
9266
9267 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
9268 Remove acc_device_nvidia references.
9269
9270 2017-09-16 Tom de Vries <tom@codesourcery.com>
9271
9272 PR c/81875
9273 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
9274
9275 2017-09-14 Tom de Vries <tom@codesourcery.com>
9276
9277 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
9278 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
9279 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
9280 * testsuite/libgomp.c/c.exp: Include test-cases from
9281 libgomp.c-c++-common.
9282 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
9283 files.
9284
9285 2017-09-14 Jakub Jelinek <jakub@redhat.com>
9286
9287 PR c++/81314
9288 * testsuite/libgomp.c++/pr81314.C: New test.
9289
9290 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
9291
9292 * libgomp.texi (Top): www.openacc.org now uses https.
9293 (Enabling OpenACC): Ditto.
9294 (acc_get_num_devices): Ditto.
9295 (acc_set_device_type): Ditto.
9296 (acc_get_device_type): Ditto.
9297 (acc_set_device_num): Ditto.
9298 (acc_get_device_num): Ditto.
9299 (acc_async_test): Ditto.
9300 (acc_async_test_all): Ditto.
9301 (acc_wait): Ditto.
9302 (acc_wait_all): Ditto.
9303 (acc_wait_all_async): Ditto.
9304 (acc_wait_async): Ditto.
9305 (acc_init): Ditto.
9306 (acc_shutdown): Ditto.
9307 (acc_on_device): Ditto.
9308 (acc_malloc): Ditto.
9309 (acc_free): Ditto.
9310 (acc_copyin): Ditto.
9311 (acc_present_or_copyin): Ditto.
9312 (acc_create): Ditto.
9313 (acc_present_or_create): Ditto.
9314 (acc_copyout): Ditto.
9315 (acc_delete): Ditto.
9316 (acc_update_device): Ditto.
9317 (acc_update_self): Ditto.
9318 (acc_map_data): Ditto.
9319 (acc_unmap_data): Ditto.
9320 (acc_deviceptr): Ditto.
9321 (acc_hostptr): Ditto.
9322 (acc_is_present): Ditto.
9323 (acc_memcpy_to_device): Ditto.
9324 (acc_memcpy_from_device): Ditto.
9325 (acc_get_current_cuda_device): Ditto.
9326 (acc_get_current_cuda_context): Ditto.
9327 (acc_get_cuda_stream): Ditto.
9328 (acc_set_cuda_stream): Ditto.
9329 (ACC_DEVICE_TYPE): Ditto.
9330 (ACC_DEVICE_NUM): Ditto.
9331 (OpenACC Library Interoperability): Ditto.
9332
9333 2017-08-09 Jakub Jelinek <jakub@redhat.com>
9334
9335 PR c/81687
9336 * testsuite/libgomp.c/pr81687-1.c: New test.
9337 * testsuite/libgomp.c/pr81687-2.c: New test.
9338
9339 2017-08-07 Jakub Jelinek <jakub@redhat.com>
9340
9341 PR c/69389
9342 * testsuite/libgomp.c/pr69389.c: New test.
9343 * testsuite/libgomp.c++/pr69389.C: New test.
9344
9345 2017-08-07 Tom de Vries <tom@codesourcery.com>
9346
9347 PR middle-end/78266
9348 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
9349 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
9350
9351 2017-07-27 Jakub Jelinek <jakub@redhat.com>
9352
9353 PR c/45784
9354 * testsuite/libgomp.c/pr45784.c: New test.
9355 * testsuite/libgomp.c++/pr45784.C: New test.
9356
9357 2017-07-19 Tom de Vries <tom@codesourcery.com>
9358
9359 * testsuite/libgomp.oacc-c/vec.c: New test.
9360
9361 2017-07-03 Tom de Vries <tom@codesourcery.com>
9362
9363 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
9364
9365 2017-06-27 Tom de Vries <tom@codesourcery.com>
9366
9367 * plugin/plugin-nvptx.c (notify_var): New function.
9368 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
9369
9370 2017-06-27 Tom de Vries <tom@codesourcery.com>
9371
9372 * env.c (parse_unsigned_long_1): Factor out of ...
9373 (parse_unsigned_long): ... here.
9374 (parse_int_1): Factor out of ...
9375 (parse_int): ... here.
9376 (parse_int_secure): New function.
9377 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
9378 * secure_getenv.h: Factor out of ...
9379 * plugin/plugin-hsa.c: ... here.
9380 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
9381
9382 2017-06-21 Jakub Jelinek <jakub@redhat.com>
9383
9384 PR c++/81130
9385 * testsuite/libgomp.c++/pr81130.C: New test.
9386
9387 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9388
9389 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
9390 default args.
9391 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
9392 dg-xfail-run-if default args.
9393
9394 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
9395
9396 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
9397 * testsuite/libgomp.c/pr39591-3.c: Likewise.
9398
9399 2017-05-30 Jakub Jelinek <jakub@redhat.com>
9400
9401 PR libgomp/80822
9402 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
9403 (gomp_affinity_init_level): Use it. Always analyze the core and thread
9404 sibling lists, depending on level just pick up what CPUs to put
9405 together into a place vs. whether add multiple ordered places.
9406
9407 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
9408
9409 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
9410 * libgomp.map (OACC_2.0.1): Add these.
9411 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
9412 for "acc_wait", and "acc_wait_all", respectively.
9413 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
9414 for "acc_wait", and "acc_wait_all", respectively.
9415 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
9416 * libgomp.texi (acc_wait, acc_wait_all): Update.
9417 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
9418 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
9419 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
9420
9421 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
9422 acc_present_or_copyin and acc_present_or_create procedures,
9423 respectively.
9424 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
9425 generally different variants of OpenACC Runtime Library functions.
9426 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
9427
9428 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
9429 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
9430
9431 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
9432 of preprocessor definitions.
9433 * libgomp.h (strong_alias): Guard by "#ifdef
9434 HAVE_ATTRIBUTE_ALIAS".
9435 * oacc-mem.c: Provide "acc_pcreate" as alias for
9436 "acc_present_or_create", and "acc_pcopyin" as alias for
9437 "acc_present_or_copyin".
9438 * libgomp.map: New version "OACC_2.0.1".
9439 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
9440 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
9441 its content into...
9442 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
9443 Extend testing.
9444
9445 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
9446 when disabling nvptx offloading.
9447
9448 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
9449
9450 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
9451 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9452 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
9453
9454 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
9455 * testsuite/lib/libgomp.exp
9456 (check_effective_target_openacc_nvidia_accel_configured): New
9457 proc.
9458 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
9459 (check_effective_target_c++): New procs.
9460 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
9461 (check_effective_target_c++): Likewise.
9462
9463 2017-05-22 Jakub Jelinek <jakub@redhat.com>
9464
9465 PR middle-end/80809
9466 * testsuite/libgomp.c/pr80809-2.c: New test.
9467 * testsuite/libgomp.c/pr80809-3.c: New test.
9468
9469 PR middle-end/80809
9470 * testsuite/libgomp.c/pr80809-1.c: New test.
9471
9472 PR middle-end/80853
9473 * testsuite/libgomp.c/pr80853.c: New test.
9474
9475 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
9476
9477 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
9478 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
9479 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9480 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9481 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
9482
9483 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
9484 Debug output for failure.
9485
9486 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9487
9488 * testsuite/lib/libgomp.exp: Load scanlang.exp.
9489
9490 2017-04-27 Jakub Jelinek <jakub@redhat.com>
9491
9492 PR bootstrap/80531
9493 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
9494 bootstrap compare failures.
9495
9496 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
9497
9498 * testsuite/libgomp.c/target-36.c: New testcase.
9499
9500 2017-04-13 Jakub Jelinek <jakub@redhat.com>
9501
9502 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
9503 instead of char.
9504
9505 2017-04-11 Jakub Jelinek <jakub@redhat.com>
9506
9507 PR libgomp/80394
9508 * testsuite/libgomp.c/pr80394.c: New test.
9509
9510 2017-04-04 Jakub Jelinek <jakub@redhat.com>
9511
9512 PR libgomp/79876
9513 * config/posix/thread-stacksize.h: New file.
9514 * config/darwin/thread-stacksize.h: New file.
9515 * config/nvptx/thread-stacksize.h: New file.
9516 * env.c: Include thread-stacksize.h.
9517 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
9518 instead of 0. Call pthread_attr_setstacksize even if
9519 GOMP_DEFAULT_STACKSIZE is non-zero.
9520
9521 2017-03-30 Jakub Jelinek <jakub@redhat.com>
9522
9523 * env.c (initialize_env): Initialize stacksize to 0.
9524
9525 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
9526
9527 PR c++/80029
9528 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
9529
9530 2017-03-08 Jakub Jelinek <jakub@redhat.com>
9531
9532 PR c/79940
9533 * testsuite/libgomp.c/pr79940.c: New test.
9534
9535 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9536
9537 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
9538 targets.
9539 Add __float128 options.
9540
9541 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
9542
9543 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
9544 hppa*-*-* dg-skip-if directive.
9545
9546 2017-02-09 Jakub Jelinek <jakub@redhat.com>
9547
9548 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
9549 dg-skip-if directive into a comment.
9550
9551 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
9552 Chung-Lin Tang <cltang@codesourcery.com>
9553
9554 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
9555 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
9556 add additional case.
9557 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
9558 "openacc_nvidia_accel_selected".
9559 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
9560 Add num_workers(8) clause.
9561
9562 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
9563
9564 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
9565 hppa*-*-*.
9566 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
9567 include complex.h on hppa*-*-hpux*.
9568 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9569
9570 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
9571
9572 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
9573
9574 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
9575 GOMP_OFFLOAD_openacc_exec. Adjust all users.
9576 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
9577 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
9578 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
9579 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
9580 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
9581 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
9582 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
9583 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
9584
9585 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
9586
9587 * libgomp-plugin.h: #include <stdbool.h>.
9588 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
9589 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
9590 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
9591 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
9592 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
9593 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
9594 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
9595 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
9596 (GOMP_OFFLOAD_openacc_register_async_cleanup)
9597 (GOMP_OFFLOAD_openacc_async_test)
9598 (GOMP_OFFLOAD_openacc_async_test_all)
9599 (GOMP_OFFLOAD_openacc_async_wait)
9600 (GOMP_OFFLOAD_openacc_async_wait_async)
9601 (GOMP_OFFLOAD_openacc_async_wait_all)
9602 (GOMP_OFFLOAD_openacc_async_wait_all_async)
9603 (GOMP_OFFLOAD_openacc_async_set_async)
9604 (GOMP_OFFLOAD_openacc_create_thread_data)
9605 (GOMP_OFFLOAD_openacc_destroy_thread_data)
9606 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
9607 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
9608 (GOMP_OFFLOAD_openacc_get_cuda_stream)
9609 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
9610 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
9611 these.
9612 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
9613 (GOMP_OFFLOAD_unload_image): Fix argument types.
9614
9615 2017-01-26 Jakub Jelinek <jakub@redhat.com>
9616
9617 * testsuite/lib/libgomp.exp
9618 (check_effective_target_hsa_offloading_selected_nocache): Fix up
9619 check_compile invocation. Fix up removal of executable. Drop
9620 bogus "2>&1" argument.
9621
9622 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
9623 directive.
9624
9625 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
9626 Martin Jambor <mjambor@suse.cz>
9627
9628 * plugin/hsa.h: Moved to top level include.
9629 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
9630
9631 2017-01-21 Jakub Jelinek <jakub@redhat.com>
9632
9633 PR other/79046
9634 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
9635 of cat to get version from BASE-VER file.
9636 * testsuite/Makefile.in: Regenerated.
9637
9638 2017-01-19 Jakub Jelinek <jakub@redhat.com>
9639
9640 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
9641 for _WIN64.
9642
9643 2017-01-17 Jakub Jelinek <jakub@redhat.com>
9644
9645 * plugin/hsa.h: Add GCC runtime library exception.
9646 * plugin/hsa_ext_finalize.h: Likewise.
9647
9648 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
9649 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
9650 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
9651 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
9652 plugin/include/cuda as include dir and -ldl instead of -lcuda as
9653 library to link ptx plugin against.
9654 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
9655 (CUDA_CALLS): Define.
9656 (cuda_lib, cuda_lib_inited): New variables.
9657 (init_cuda_lib): New function.
9658 (CUDA_CALL_PREFIX): Define.
9659 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
9660 (CUDA_CALL): Use FN instead of (FN).
9661 (CUDA_CALL_NOCHECK): Define.
9662 (cuda_error, fini_streams_for_device, select_stream_for_async,
9663 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
9664 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
9665 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
9666 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
9667 CUDA_CALL_NOCHECK.
9668 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
9669 CUDA_CALL_NOCHECK.
9670 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
9671 Use CUDA_CALL_NOCHECK.
9672 * plugin/cuda/cuda.h: New file.
9673 * config.h.in: Regenerated.
9674 * configure: Regenerated.
9675
9676 PR other/79046
9677 * configure.ac: Add GCC_BASE_VER.
9678 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
9679 get version from BASE-VER file.
9680 * testsuite/Makefile.in: Regenerated.
9681 * configure: Regenerated.
9682 * Makefile.in: Regenerated.
9683
9684 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9685
9686 PR libgomp/60670
9687 * Makefile.am: Make fincludedir multilib-aware.
9688 * Makefile.in: Regenerate.
9689
9690 2017-01-01 Jakub Jelinek <jakub@redhat.com>
9691
9692 Update copyright years.
9693
9694 * libgomp.texi: Bump @copying's copyright year.
9695
9696 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9697
9698 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
9699 pthread_spinlock_t instead of gomp_mutex_t lock.
9700 (gomp_get_thread_pool): Likewise.
9701 (gomp_release_thread_pool): Likewise.
9702 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
9703 Likewise.
9704
9705 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9706
9707 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
9708 thread pool in case nthreads == 1.
9709
9710 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
9711
9712 * config/nvptx/env.c: Delete.
9713 * icv.c: Move definitions of ICV variables back ...
9714 * env.c: ...here. Do not compile environment-related functionality if
9715 LIBGOMP_OFFLOADED_ONLY is set.
9716
9717 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
9718
9719 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
9720 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
9721 * configure: Regenerate.
9722 * config.h.in: Likewise.
9723
9724 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
9725
9726 * Makefile.in: Regenerate with automake-1.11.6.
9727 * aclocal.m4: Likewise.
9728 * configure: Likewise.
9729 * testsuite/Makefile.in: Likewise.
9730
9731 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
9732
9733 * config/nvptx/critical.c: Delete to use generic implementation.
9734
9735 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
9736
9737 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
9738 ../../affinity.c as fallback.
9739 * config/nvptx/affinity.c: Delete to use fallback implementation.
9740
9741 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
9742 Jakub Jelinek <jakub@redhat.com>
9743 Dmitry Melnik <dm@ispras.ru>
9744
9745 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
9746 * Makefile.in. Regenerate.
9747 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
9748 (LIBGOMP_USE_PTHREADS): ...here; new define.
9749 * configure: Regenerate.
9750 * config.h.in: Likewise.
9751 * config/posix/affinity.c: Move to...
9752 * affinity.c: ...here (new file). Guard use of Pthreads-specific
9753 interface by LIBGOMP_USE_PTHREADS.
9754 * critical.c: Split out GOMP_atomic_{start,end} into...
9755 * atomic.c: ...here (new file).
9756 * env.c: Split out ICV definitions into...
9757 * icv.c: ...here (new file) and...
9758 * icv-device.c: ...here. New file.
9759 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
9760 (gomp_destroy_lock_30): Ditto.
9761 (gomp_set_lock_30): Ditto.
9762 (gomp_unset_lock_30): Ditto.
9763 (gomp_test_lock_30): Ditto.
9764 (gomp_init_nest_lock_30): Ditto.
9765 (gomp_destroy_nest_lock_30): Ditto.
9766 (gomp_set_nest_lock_30): Ditto.
9767 (gomp_unset_nest_lock_30): Ditto.
9768 (gomp_test_nest_lock_30): Ditto.
9769 * lock.c: New.
9770 * config/nvptx/lock.c: New.
9771 * config/nvptx/bar.c: New.
9772 * config/nvptx/bar.h: New.
9773 * config/nvptx/doacross.h: New.
9774 * config/nvptx/error.c: New.
9775 * config/nvptx/icv-device.c: New.
9776 * config/nvptx/mutex.h: New.
9777 * config/nvptx/pool.h: New.
9778 * config/nvptx/proc.c: New.
9779 * config/nvptx/ptrlock.h: New.
9780 * config/nvptx/sem.h: New.
9781 * config/nvptx/simple-bar.h: New.
9782 * config/nvptx/target.c: New.
9783 * config/nvptx/task.c: New.
9784 * config/nvptx/team.c: New.
9785 * config/nvptx/time.c: New.
9786 * config/posix/simple-bar.h: New.
9787 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
9788 (gomp_num_teams_var): Declare.
9789 (struct gomp_thread_pool): Change threads_dock member to
9790 gomp_simple_barrier_t.
9791 [__nvptx__] (gomp_thread): New implementation.
9792 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
9793 (gomp_thread_destructor): Ditto.
9794 (gomp_init_thread_affinity): Ditto.
9795 * team.c: Guard uses of Pthreads-specific interfaces by
9796 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
9797 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
9798 * config/nvptx/alloc.c: Delete.
9799 * config/nvptx/barrier.c: Ditto.
9800 * config/nvptx/fortran.c: Ditto.
9801 * config/nvptx/iter.c: Ditto.
9802 * config/nvptx/iter_ull.c: Ditto.
9803 * config/nvptx/loop.c: Ditto.
9804 * config/nvptx/loop_ull.c: Ditto.
9805 * config/nvptx/ordered.c: Ditto.
9806 * config/nvptx/parallel.c: Ditto.
9807 * config/nvptx/priority_queue.c: Ditto.
9808 * config/nvptx/sections.c: Ditto.
9809 * config/nvptx/single.c: Ditto.
9810 * config/nvptx/splay-tree.c: Ditto.
9811 * config/nvptx/work.c: Ditto.
9812 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9813 -foffload=-lgfortran in addition to -lgfortran.
9814 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9815 * plugin/plugin-nvptx.c: Include <limits.h>.
9816 (struct targ_fn_descriptor): Add new fields.
9817 (struct ptx_device): Ditto. Set them...
9818 (nvptx_open_device): ...here.
9819 (nvptx_adjust_launch_bounds): New.
9820 (nvptx_host2dev): Allow NULL 'nvthd'.
9821 (nvptx_dev2host): Ditto.
9822 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9823 (link_ptx): Adjust log sizes.
9824 (nvptx_host2dev): Allow NULL 'nvthd'.
9825 (nvptx_dev2host): Ditto.
9826 (nvptx_set_clocktick): New. Use it...
9827 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
9828 fields.
9829 (GOMP_OFFLOAD_dev2dev): New.
9830 (nvptx_adjust_launch_bounds): New.
9831 (nvptx_stacks_size): New.
9832 (nvptx_stacks_alloc): New.
9833 (nvptx_stacks_free): New.
9834 (GOMP_OFFLOAD_run): New.
9835 (GOMP_OFFLOAD_async_run): New (stub).
9836
9837 2016-11-23 Martin Jambor <mjambor@suse.cz>
9838
9839 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
9840 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9841 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9842
9843 2016-11-23 Martin Liska <mliska@suse.cz>
9844 Martin Jambor <mjambor@suse.cz>
9845
9846 * plugin/hsa.h: New file.
9847 * plugin/hsa_ext_finalize.h: New file.
9848 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
9849 header file unistd.h, and functions secure_getenv, __secure_getenv,
9850 getuid, geteuid, getgid and getegid.
9851 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9852 -D_GNU_SOURCE.
9853 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9854 Handle various cases of secure_getenv presence, add an implementation
9855 when we can test effective UID and GID.
9856 (struct hsa_runtime_fn_info): New structure.
9857 (hsa_runtime_fn_info hsa_fns): New variable.
9858 (hsa_runtime_lib): Likewise.
9859 (support_cpu_devices): Likewise.
9860 (init_enviroment_variables): Load newly introduced ENV
9861 variables.
9862 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
9863 (hsa_fatal): Likewise.
9864 (DLSYM_FN): New macro.
9865 (init_hsa_runtime_functions): New function.
9866 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9867 structure. Depending on environment, also allow CPU devices.
9868 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9869 (get_kernarg_memory_region): Likewise.
9870 (GOMP_OFFLOAD_init_device): Likewise.
9871 (destroy_hsa_program): Likewise.
9872 (init_basic_kernel_info): New function.
9873 (GOMP_OFFLOAD_load_image): Use it.
9874 (create_and_finalize_hsa_program): Call hsa run-time functions via
9875 hsa_fns structure.
9876 (create_single_kernel_dispatch): Likewise.
9877 (release_kernel_dispatch): Likewise.
9878 (init_single_kernel): Likewise.
9879 (parse_target_attributes): Allow up multiple HSA grid dimensions.
9880 (get_group_size): New function.
9881 (run_kernel): Likewise.
9882 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9883 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9884 structure.
9885 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9886 * testsuite/libgomp-test-support.exp.in: Likewise.
9887 * Makefile.in: Regenerated.
9888 * aclocal.m4: Likewise.
9889 * config.h.in: Likewise.
9890 * configure: Likewise.
9891 * testsuite/Makefile.in: Likewise.
9892
9893 2016-11-15 Martin Jambor <mjambor@suse.cz>
9894 Alexander Monakov <amonakov@ispras.ru>
9895
9896 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9897 mapping clauses to target constructs.
9898 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9899
9900 2016-11-15 Matthias Klose <doko@ubuntu.com>
9901
9902 * configure: Regenerate.
9903
9904 2016-11-10 Jakub Jelinek <jakub@redhat.com>
9905
9906 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9907 * omp_lib.h.in (openmp_version): Likewise.
9908 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9909 of 201307.
9910 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9911
9912 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9913 (fib_wrapper): Add map(from: x) clause.
9914 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9915 (e_53_2): Likewise.
9916 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9917 (accum): Add map(tmp) clause.
9918 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9919 (accum): Add map(tofrom: tmp) clause.
9920 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
9921 (gramSchmidt): Likewise.
9922 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
9923 map(tofrom: sum) clause.
9924 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
9925 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
9926 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
9927 only allowed on the loop iterator.
9928 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
9929 * testsuite/libgomp.fortran/taskloop2.f90: New test.
9930 * testsuite/libgomp.fortran/taskloop4.f90: New test.
9931 * testsuite/libgomp.fortran/doacross1.f90: New test.
9932 * testsuite/libgomp.fortran/doacross3.f90: New test.
9933 * testsuite/libgomp.fortran/taskloop1.f90: New test.
9934 * testsuite/libgomp.fortran/taskloop3.f90: New test.
9935 * testsuite/libgomp.fortran/doacross2.f90: New test.
9936 * testsuite/libgomp.c/doacross-1.c (main): Add missing
9937 #pragma omp atomic read.
9938 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9939 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
9940
9941 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
9942 Nathan Sidwell <nathan@acm.org>
9943
9944 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
9945 to determine default geometry.
9946 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
9947 dimension.
9948
9949 2016-11-01 Jakub Jelinek <jakub@redhat.com>
9950
9951 * hashtab.h: Use standard GPLv3 with runtime exception
9952 boilerplate.
9953
9954 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
9955
9956 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9957 size when allocating new thread.
9958
9959 2016-09-14 Marek Polacek <polacek@redhat.com>
9960
9961 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9962
9963 2016-08-19 Jakub Jelinek <jakub@redhat.com>
9964
9965 PR fortran/71014
9966 * testsuite/libgomp.fortran/pr71014.f90: New test.
9967
9968 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
9969
9970 PR middle-end/70895
9971 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
9972 firstprivate clauses.
9973 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
9974 copy clauses.
9975 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9976 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9977 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
9978 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9979 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9980 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9981 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9982 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9983 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9984 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9985 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9986 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
9987
9988 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
9989
9990 PR fortran/70598
9991 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
9992
9993 2016-08-08 Jakub Jelinek <jakub@redhat.com>
9994
9995 PR c++/58706
9996 * testsuite/libgomp.c++/pr58706.C: New test.
9997
9998 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
9999
10000 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
10001 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
10002 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
10003 Likewise.
10004 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
10005 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
10006 Likewise.
10007 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
10008
10009 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
10010 test, and don't hardcode -O0.
10011
10012 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
10013
10014 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
10015
10016 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
10017
10018 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
10019 test.
10020
10021 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
10022
10023 PR middle-end/71734
10024 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
10025 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
10026
10027 2016-07-01 Jakub Jelinek <jakub@redhat.com>
10028
10029 PR fortran/71717
10030 * testsuite/libgomp.fortran/associate3.f90: New test.
10031
10032 2016-06-17 Jakub Jelinek <jakub@redhat.com>
10033
10034 * testsuite/libgomp.c++/target-21.C: New test.
10035
10036 2016-06-16 Jakub Jelinek <jakub@redhat.com>
10037
10038 * testsuite/libgomp.c++/target-20.C: New test.
10039
10040 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
10041 Cesar Philippidis <cesar@codesourcery.com>
10042
10043 PR middle-end/71373
10044 * libgomp.oacc-c/nested-function-1.c: New file.
10045 * libgomp.oacc-c/nested-function-2.c: Likewise.
10046 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
10047 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
10048 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
10049
10050 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
10051
10052 PR c/71381
10053 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
10054 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
10055 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
10056
10057 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
10058
10059 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
10060 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
10061
10062 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
10063
10064 PR c/70688
10065 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
10066
10067 2016-05-26 Jakub Jelinek <jakub@redhat.com>
10068
10069 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
10070 instead of invalid schedule(static, 0).
10071 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
10072
10073 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
10074
10075 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
10076 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
10077 parameter, use to set async stream around call to gomp_unmap_vars,
10078 call gomp_unmap_vars() with 'do_copyfrom' set to true.
10079 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
10080 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
10081 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
10082 (event_add): Add int parameter, initialize 'val' field when
10083 adding new ptx_event struct.
10084 (nvptx_evec): Adjust event_add() call arguments.
10085 (nvptx_host2dev): Likewise.
10086 (nvptx_dev2host): Likewise.
10087 (nvptx_wait_async): Likewise.
10088 (nvptx_wait_all_async): Likewise.
10089 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
10090 pass to event_add() call.
10091 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
10092 parameter.
10093 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
10094 call openacc.register_async_cleanup_func() hook.
10095 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
10096 * target.c (gomp_copy_from_async): Delete function.
10097 (gomp_map_vars): Remove async_refcount.
10098 (gomp_unmap_vars): Likewise.
10099 (gomp_load_image_to_device): Likewise.
10100 (omp_target_associate_ptr): Likewise.
10101 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
10102 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
10103 (gomp_copy_from_async): Remove.
10104
10105 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
10106
10107 * target.c (gomp_device_copy): New function.
10108 (gomp_copy_host2dev): Likewise.
10109 (gomp_copy_dev2host): Likewise.
10110 (gomp_free_device_memory): Likewise.
10111 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
10112 (gomp_map_pointer): Likewise.
10113 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
10114 NULL value from alloc_func plugin hook.
10115 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
10116 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
10117 (gomp_unmap_vars): Likewise.
10118 (gomp_update): Adjust to call gomp_copy_dev2host and
10119 gomp_copy_host2dev functions.
10120 (gomp_unload_image_from_device): Handle false value from
10121 unload_image_func plugin hook.
10122 (gomp_init_device): Handle false value from init_device_func
10123 plugin hook.
10124 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
10125 (omp_target_free): Adjust to call gomp_free_device_memory.
10126 (omp_target_memcpy): Handle return values from host2dev_func,
10127 dev2host_func, and dev2dev_func plugin hooks.
10128 (omp_target_memcpy_rect_worker): Likewise.
10129 (gomp_target_fini): Handle false value from fini_device_func
10130 plugin hook.
10131 * libgomp.h (struct gomp_device_descr): Adjust return type of
10132 init_device_func, fini_device_func, unload_image_func, free_func,
10133 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
10134 * oacc-init.c (acc_shutdown_1): Handle false value from
10135 fini_device_func plugin hook.
10136 * oacc-host.c (host_init_device): Change return type to bool.
10137 (host_fini_device): Likewise.
10138 (host_unload_image): Likewise.
10139 (host_free): Likewise.
10140 (host_dev2host): Likewise.
10141 (host_host2dev): Likewise.
10142 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
10143 (acc_memcpy_to_device): Likewise.
10144 (acc_memcpy_from_device): Likewise.
10145 (delete_copyout): Add libfnname parameter, handle free_func
10146 hook fatal error case.
10147 (acc_delete): Adjust delete_copyout call.
10148 (acc_copyout): Likewise.
10149 (update_dev_host): Move gomp_mutex_unlock to after
10150 host2dev/dev2host hook calls.
10151
10152 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
10153 to 'hsa_error_msg', for clarity.
10154 (hsa_fatal): Likewise.
10155 (hsa_error): New function.
10156 (init_hsa_context): Change return type to bool, adjust to return
10157 false on error.
10158 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
10159 return value.
10160 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
10161 return false on error.
10162 (get_agent_info): Adjust to return NULL on error.
10163 (destroy_hsa_program): Change return type to bool, adjust to
10164 return false on error.
10165 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
10166 (destroy_module): Change return type to bool, adjust to
10167 return false on error.
10168 (GOMP_OFFLOAD_unload_image): Likewise.
10169 (GOMP_OFFLOAD_fini_device): Likewise.
10170 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
10171 (GOMP_OFFLOAD_free): Change to return false when called.
10172 (GOMP_OFFLOAD_dev2host): Likewise.
10173 (GOMP_OFFLOAD_host2dev): Likewise.
10174 (GOMP_OFFLOAD_dev2dev): Likewise.
10175
10176 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
10177 (CUDA_CALL): Likewise.
10178 (CUDA_CALL_ASSERT): Likewise.
10179 (map_init): Change return type to bool, use CUDA_CALL* macros.
10180 (map_fini): Likewise.
10181 (init_streams_for_device): Change return type to bool, adjust
10182 call to map_init.
10183 (fini_streams_for_device): Change return type to bool, adjust
10184 call to map_fini.
10185 (select_stream_for_async): Release stream_lock before calls to
10186 GOMP_PLUGIN_fatal, adjust call to map_init.
10187 (nvptx_init): Use CUDA_CALL* macros.
10188 (nvptx_attach_host_thread_to_device): Change return type to bool,
10189 use CUDA_CALL* macros.
10190 (nvptx_open_device): Use CUDA_CALL* macros.
10191 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
10192 macros.
10193 (nvptx_get_num_devices): Use CUDA_CALL* macros.
10194 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
10195 (nvptx_exec): Use CUDA_CALL* macros.
10196 (nvptx_alloc): Use CUDA_CALL* macros.
10197 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
10198 (nvptx_host2dev): Likewise.
10199 (nvptx_dev2host): Likewise.
10200 (nvptx_wait): Use CUDA_CALL* macros.
10201 (nvptx_wait_async): Likewise.
10202 (nvptx_wait_all): Likewise.
10203 (nvptx_wait_all_async): Likewise.
10204 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
10205 use CUDA_CALL* macros, adjust call to map_fini.
10206 (GOMP_OFFLOAD_init_device): Change return type to bool,
10207 adjust code accordingly.
10208 (GOMP_OFFLOAD_fini_device): Likewise.
10209 (GOMP_OFFLOAD_load_image): Adjust calls to
10210 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
10211 use CUDA_CALL* macros.
10212 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
10213 return code.
10214 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
10215 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
10216 handle error return.
10217 (GOMP_OFFLOAD_dev2host): Likewise.
10218 (GOMP_OFFLOAD_host2dev): Likewise.
10219 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
10220 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
10221
10222 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
10223
10224 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
10225 (acc_free): Likewise.
10226 (acc_memcpy_to_device): Likewise.
10227 (acc_memcpy_from_device): Likewise.
10228 (acc_deviceptr): Likewise.
10229 (acc_hostptr): Likewise.
10230 (acc_is_present): Likewise.
10231 (acc_map_data): Likewise.
10232 (acc_unmap_data): Likewise.
10233 (present_create_copy): Likewise.
10234 (delete_copyout): Likewise.
10235 (update_dev_host): Likewise.
10236 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
10237 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
10238 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
10239 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10240 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
10241 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
10242 it only runs on nvptx targets.
10243 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
10244 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
10245 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10246 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10247 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10248 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
10249 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
10250 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
10251 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
10252 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
10253 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10254 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
10255 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
10256 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
10257 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
10258 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10259 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
10260 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
10261 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
10262 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
10263 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
10264 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
10265 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
10266
10267 2016-05-23 Martin Jambor <mjambor@suse.cz>
10268
10269 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
10270
10271 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
10272
10273 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
10274 to gomp_init_targets_once.
10275 (acc_set_device_type): Remove !cached_base_dev condition on call to
10276 gomp_init_targets_once, move call to before acc_device_lock acquire,
10277 to avoid deadlock.
10278 (acc_get_device_num): Remove !cached_base_dev condition on call to
10279 gomp_init_targets_once.
10280 (acc_set_device_num): Likewise.
10281
10282 2016-05-16 Martin Jambor <mjambor@suse.cz>
10283
10284 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
10285
10286 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
10287
10288 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
10289 expected partitioning.
10290
10291 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
10292
10293 PR middle-end/70626
10294 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
10295 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
10296 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
10297
10298 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
10299
10300 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
10301 non-fatal.
10302
10303 2016-04-19 Jakub Jelinek <jakub@redhat.com>
10304
10305 PR middle-end/70680
10306 * testsuite/libgomp.c/pr70680-1.c: New test.
10307 * testsuite/libgomp.c/pr70680-2.c: New test.
10308
10309 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
10310
10311 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
10312 pass parameter variables to subroutines.
10313
10314 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
10315
10316 PR middle-end/70643
10317 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
10318
10319 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
10320
10321 PR testsuite/68242
10322 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
10323 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10324
10325 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
10326
10327 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
10328 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
10329 GOACC_declare prototype.
10330
10331 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
10332 Merge this file, and...
10333 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
10334 ... this file, and...
10335 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
10336 ... this file, and...
10337 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
10338 ... this file, and...
10339 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
10340 ... this file, and...
10341 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
10342 ... this file, and...
10343 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
10344 ... this file, and...
10345 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
10346 ... this file, and...
10347 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
10348 ... this file, and...
10349 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
10350 ... this file, and...
10351 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
10352 ... this file, and...
10353 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
10354 ... this file, and...
10355 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
10356 ... this file into...
10357 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
10358 file.
10359
10360 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
10361 Make failure observable.
10362
10363 2016-04-12 Jakub Jelinek <jakub@redhat.com>
10364
10365 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
10366 field.
10367 * target.c (gomp_target_fallback_firstprivate,
10368 gomp_target_unshare_firstprivate): Removed.
10369 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
10370 before waiting for dependencies.
10371 (gomp_target_task_fn): Don't copy firstprivate vars here.
10372 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
10373 firstprivate_copies here.
10374 (gomp_create_target_task): Don't initialize firstprivate_copies field.
10375 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
10376 explicit/implicit firstprivate.
10377
10378 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
10379
10380 PR lto/70289
10381 PR ipa/70348
10382 PR tree-optimization/70373
10383 PR middle-end/70533
10384 PR middle-end/70534
10385 PR middle-end/70535
10386 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
10387 test.
10388 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
10389 test.
10390 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
10391 test.
10392 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
10393 test.
10394 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
10395 test.
10396 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
10397 test.
10398 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
10399 test.
10400 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
10401 test.
10402 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
10403 test.
10404 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
10405 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
10406 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
10407 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
10408 test.
10409 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
10410 test.
10411 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
10412 test.
10413 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
10414 test.
10415 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
10416 coverage.
10417 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10418 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
10419 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
10420 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
10421 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
10422 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
10423 coverage.
10424 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10425 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10426 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10427 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10428 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
10429 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
10430 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
10431 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
10432 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
10433 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10434 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10435 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10436 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
10437 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10438 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
10439
10440 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
10441 James Norris <jnorris@codesourcery.com>
10442 Nathan Sidwell <nathan@codesourcery.com>
10443 Julian Brown <julian@codesourcery.com>
10444 Cesar Philippidis <cesar@codesourcery.com>
10445 Chung-Lin Tang <cltang@codesourcery.com>
10446 Tom de Vries <tom@codesourcery.com>
10447
10448 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
10449 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
10450 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
10451 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
10452 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
10453 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
10454 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
10455 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
10456 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
10457 XFAIL.
10458 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
10459 Incorporate...
10460 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
10461 file.
10462 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
10463 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
10464 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
10465 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
10466 Likewise.
10467 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
10468 Likewise.
10469 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
10470 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
10471 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
10472 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
10473 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
10474 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
10475 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
10476 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
10477 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
10478 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
10479 Likewise.
10480 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
10481 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
10482 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
10483 file...
10484 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
10485 file into...
10486 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
10487 file. Update.
10488 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
10489 file.
10490 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
10491 Likewise.
10492 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
10493 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
10494 ... this new file. Update.
10495 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
10496 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
10497 ... this new file. Update.
10498 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
10499 file. Incorporate...
10500 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
10501 file, and...
10502 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
10503 file, and...
10504 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
10505 file.
10506 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
10507
10508 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
10509
10510 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
10511 set-torture-options.
10512
10513 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
10514
10515 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
10516 gcc-dg-runtest.
10517 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10518 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
10519 -fno-builtin-acc_on_device instead of -O0.
10520 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
10521 -O0.
10522 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10523 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
10524 Likewise.
10525 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10526 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10527 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10528 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10529 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10530 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10531 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10532 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10533 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10534 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10535 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10536 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10537 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10538 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10539 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10540 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10541 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10542 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
10543 Don't specify -O2.
10544 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
10545 Likewise.
10546 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
10547 Likewise.
10548
10549 2016-03-24 Martin Liska <mliska@suse.cz>
10550
10551 * plugin/plugin-hsa.c (packet_store_release): New function
10552 that is taken from the HSA runtime manual.
10553 (GOMP_OFFLOAD_run): Use the function.
10554
10555 2016-03-23 Jakub Jelinek <jakub@redhat.com>
10556
10557 PR c++/70376
10558 * testsuite/libgomp.c++/pr70376.C: New test.
10559
10560 2016-03-23 Tom de Vries <tom@codesourcery.com>
10561
10562 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
10563 initialization of lresult and lvresult.
10564 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
10565
10566 2016-03-23 James Norris <jnorris@codesourcery.com>
10567 Daichi Fukuoka <dc-fukuoka@sgi.com>
10568
10569 PR libgomp/69414
10570 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
10571 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
10572 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
10573 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
10574
10575 2016-03-23 Martin Liska <mliska@suse.cz>
10576
10577 PR hsa/70337
10578 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
10579 argument just in case a dispatched kernel uses that argument.
10580
10581 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
10582
10583 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
10584 -ftree-parallelize-loops/-fopenacc changes.
10585 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
10586 Likewise.
10587 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10588 Likewise.
10589 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
10590 Likewise.
10591 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
10592 Likewise.
10593 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
10594 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
10595
10596 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
10597
10598 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
10599 always_ld_library_path the path to libgcc_s.
10600
10601 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
10602
10603 PR testsuite/70009
10604 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
10605
10606 2016-03-09 Tom de Vries <tom@codesourcery.com>
10607
10608 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
10609 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
10610 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10611 Same.
10612 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
10613 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
10614 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
10615 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
10616
10617 2016-03-07 Martin Jambor <mjambor@suse.cz>
10618
10619 * testsuite/lib/libgomp.exp
10620 (check_effective_target_hsa_offloading_selected_nocache): New.
10621 (check_effective_target_hsa_offloading_selected): Likewise.
10622 * testsuite/libgomp.hsa.c/c.exp: Likewise.
10623 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
10624 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
10625 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
10626 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
10627 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
10628 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
10629 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
10630 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
10631 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
10632 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
10633 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
10634 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
10635 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
10636 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
10637 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
10638 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
10639
10640 2016-03-07 Martin Jambor <mjambor@suse.cz>
10641
10642 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
10643 non-shared memory accelerators.
10644 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
10645 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
10646 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
10647 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
10648 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
10649 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
10650 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
10651 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
10652 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
10653
10654 2016-03-07 Martin Jambor <mjambor@suse.cz>
10655
10656 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
10657 ALWAYS_CFLAGS.
10658
10659 2016-03-02 Jakub Jelinek <jakub@redhat.com>
10660
10661 PR libgomp/69555
10662 * testsuite/libgomp.c++/pr69555-1.C: New test.
10663 * testsuite/libgomp.c++/pr69555-2.C: New test.
10664
10665 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
10666 Martin Jambor <mjambor@suse.cz>
10667
10668 * testsuite/lib/libgomp.exp
10669 (check_effective_target_offload_device_shared_as): New proc.
10670 * testsuite/libgomp.c++/declare_target-1.C: New test.
10671
10672 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
10673
10674 PR driver/68463
10675 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
10676
10677 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
10678
10679 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
10680 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
10681 dims.
10682 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
10683 -ftree-parallelize-loops/-fopenacc changes.
10684 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
10685 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
10686 Likewise.
10687 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10688 Likewise.
10689 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10690 Likewise.
10691 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10692 Likewise.
10693 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10694 Likewise.
10695 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10696 Likewise.
10697 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
10698 Likewise.
10699 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
10700 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
10701 Likewise.
10702 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10703 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10704 Likewise.
10705 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10706 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10707 Likewise.
10708
10709 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
10710
10711 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10712
10713 2016-02-19 Jakub Jelinek <jakub@redhat.com>
10714
10715 PR driver/69805
10716 * testsuite/libgomp.c/pr69805.c: New test.
10717
10718 2016-02-16 Tom de Vries <tom@codesourcery.com>
10719
10720 PR lto/67709
10721 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10722
10723 2016-02-09 Tom de Vries <tom@codesourcery.com>
10724
10725 PR tree-optimization/69599
10726 * testsuite/libgomp.c/omp-nested-3.c: New test.
10727 * testsuite/libgomp.c/pr46032-2.c: New test.
10728 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
10729 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
10730
10731 2016-02-09 Tom de Vries <tom@codesourcery.com>
10732
10733 PR lto/69707
10734 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10735
10736 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
10737
10738 * testsuite/libgomp.c/target-31.c: Fix testcase.
10739
10740 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
10741
10742 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
10743 clause.
10744 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
10745 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
10746 reduction and map clauses.
10747 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10748
10749 2016-02-02 James Norris <jnorris@codesourcery.com>
10750
10751 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10752
10753 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
10754
10755 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10756 * oacc-parallel.c (GOACC_host_data): Remove function definition.
10757
10758 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10759 cases.
10760
10761 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
10762 variables.
10763 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
10764 (hsa_kmt_lib): Set variables.
10765 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
10766 always_ld_library_path.
10767 * Makefile.in: Regenerate.
10768 * configure: Likewise.
10769 * testsuite/Makefile.in: Likewise.
10770
10771 * plugin/configfrag.ac (offload_additional_options)
10772 (offload_additional_lib_paths): Don't amend for hsa offloading.
10773 * configure: Regenerate.
10774
10775 * plugin/configfrag.ac: Don't configure for offloading target if
10776 we don't build the corresponding plugin.
10777 * configure: Regenerate.
10778
10779 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
10780
10781 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10782 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10783
10784 2016-01-26 Tom de Vries <tom@codesourcery.com>
10785
10786 PR tree-optimization/69110
10787 * testsuite/libgomp.c/pr69110.c: New test.
10788
10789 2016-01-25 Richard Biener <rguenther@suse.de>
10790
10791 PR lto/69393
10792 * testsuite/libgomp.c++/pr69393.C: New testcase.
10793
10794 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
10795
10796 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
10797 function wasn't mapped to the device with non-shared memory.
10798
10799 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
10800
10801 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10802
10803 2016-01-19 Martin Jambor <mjambor@suse.cz>
10804 Martin Liska <mliska@suse.cz>
10805
10806 * plugin/Makefrag.am: Add HSA plugin requirements.
10807 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10808 (HSA_RUNTIME_LIB): Likewise.
10809 (HSA_RUNTIME_CPPFLAGS): Likewise.
10810 (HSA_RUNTIME_INCLUDE): New substitution.
10811 (HSA_RUNTIME_LIB): Likewise.
10812 (HSA_RUNTIME_LDFLAGS): Likewise.
10813 (hsa-runtime): New configure option.
10814 (hsa-runtime-include): Likewise.
10815 (hsa-runtime-lib): Likewise.
10816 (PLUGIN_HSA): New substitution variable.
10817 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10818 configure options.
10819 (PLUGIN_HSA_CPPFLAGS): Likewise.
10820 (PLUGIN_HSA_LDFLAGS): Likewise.
10821 (PLUGIN_HSA_LIBS): Likewise.
10822 Check that we have access to HSA run-time.
10823 * libgomp-plugin.h (offload_target_type): New element
10824 OFFLOAD_TARGET_TYPE_HSA.
10825 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
10826 args.
10827 (bool gomp_create_target_task): Updated.
10828 (gomp_device_descr): Extra parameter of run_func and async_run_func,
10829 new field can_run_func.
10830 * libgomp_g.h (GOMP_target_ext): Update prototype.
10831 * oacc-host.c (host_run): Added a new parameter args.
10832 * target.c (calculate_firstprivate_requirements): New function.
10833 (copy_firstprivate_data): Likewise.
10834 (gomp_target_fallback_firstprivate): Use them.
10835 (gomp_target_unshare_firstprivate): New function.
10836 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
10837 devices.
10838 (GOMP_target): Do host fallback for all shared memory devices. Do not
10839 pass any args to plugins.
10840 (GOMP_target_ext): Introduce device-specific argument parameter args.
10841 Allow host fallback if device shares memory. Do not remap data if
10842 device has shared memory.
10843 (gomp_target_task_fn): Likewise. Also treat shared memory devices
10844 like host fallback for mappings.
10845 (GOMP_target_data): Treat shared memory devices like host fallback.
10846 (GOMP_target_data_ext): Likewise.
10847 (GOMP_target_update): Likewise.
10848 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
10849 gomp_create_target_task.
10850 (GOMP_target_enter_exit_data): Likewise.
10851 (omp_target_alloc): Treat shared memory devices like host fallback.
10852 (omp_target_free): Likewise.
10853 (omp_target_is_present): Likewise.
10854 (omp_target_memcpy): Likewise.
10855 (omp_target_memcpy_rect): Likewise.
10856 (omp_target_associate_ptr): Likewise.
10857 (gomp_load_plugin_for_device): Also load can_run.
10858 * task.c (GOMP_PLUGIN_target_task_completion): Free
10859 firstprivate_copies.
10860 (gomp_create_target_task): Accept new argument args and store it to
10861 ttask.
10862 * plugin/plugin-hsa.c: New file.
10863
10864 2016-01-18 Tom de Vries <tom@codesourcery.com>
10865
10866 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10867 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10868 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10869 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10870 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10871 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10872 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10873 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10874 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10875 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10876 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10877 Same.
10878 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10879 Same.
10880 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10881 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10882 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10883 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10884 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10885 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10886 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10887 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10888 Same.
10889 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10890
10891 2016-01-15 Jakub Jelinek <jakub@redhat.com>
10892
10893 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10894
10895 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
10896
10897 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10898
10899 2016-01-12 James Norris <jnorris@codesourcery.com>
10900
10901 * libgomp.texi: Updates for OpenACC.
10902
10903 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
10904
10905 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10906
10907 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
10908
10909 PR fortran/66680
10910 * testsuite/libgomp.fortran/pr66680.f90: New test.
10911
10912 2016-01-07 Jakub Jelinek <jakub@redhat.com>
10913
10914 PR middle-end/68960
10915 * testsuite/libgomp.c/pr68960.c: New test.
10916
10917 2016-01-06 Nathan Sidwell <nathan@acm.org>
10918
10919 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
10920 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10921
10922 2016-01-04 Jakub Jelinek <jakub@redhat.com>
10923
10924 Update copyright years.
10925
10926 * libgomp.texi: Bump @copying's copyright year.
10927
10928 2015-12-31 Nathan Sidwell <nathan@acm.org>
10929
10930 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
10931 dg-additional-options syntax.
10932 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10933 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10934 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10935 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10936 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10937 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10938 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10939 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10940 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10941 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10942 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10943 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10944 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10945 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10946 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10947 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10948 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10949 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10950
10951 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
10952
10953 * libgomp.h (REFCOUNT_LINK): Define.
10954 (struct splay_tree_key_s): Add link_key.
10955 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
10956 Replace target address of the pointer with target address of newly
10957 mapped object in the splay tree. Set link pointer on target to the
10958 device address of the mapped object.
10959 (gomp_unmap_vars): Restore target address of the pointer in the splay
10960 tree for REFCOUNT_LINK objects after unmapping.
10961 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
10962 declare target link" objects.
10963 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
10964 "omp declare target link" objects, which were mapped for the image.
10965 (gomp_exit_data): Restore target address of the pointer in the splay
10966 tree for REFCOUNT_LINK objects after unmapping.
10967 * testsuite/libgomp.c/target-link-1.c: New file.
10968
10969 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
10970
10971 * libgomp.h (gomp_device_state): New enum.
10972 (struct gomp_device_descr): Replace is_initialized with state.
10973 (gomp_fini_device): Remove declaration.
10974 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
10975 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
10976 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
10977 (acc_set_device_type): Use state instead of is_initialized.
10978 (acc_set_device_num): Likewise.
10979 * target.c (resolve_device): Use state instead of is_initialized.
10980 Do not initialize finalized device.
10981 (gomp_map_vars): Do nothing if device is finalized.
10982 (gomp_unmap_vars): Likewise.
10983 (gomp_update): Likewise.
10984 (GOMP_offload_register_ver): Use state instead of is_initialized.
10985 (GOMP_offload_unregister_ver): Likewise.
10986 (gomp_init_device): Likewise.
10987 (gomp_unload_device): Likewise.
10988 (gomp_fini_device): Remove.
10989 (gomp_get_target_fn_addr): Do nothing if device is finalized.
10990 (GOMP_target): Go to host fallback if device is finalized.
10991 (GOMP_target_ext): Likewise.
10992 (gomp_exit_data): Do nothing if device is finalized.
10993 (gomp_target_task_fn): Go to host fallback if device is finalized.
10994 (gomp_target_fini): New static function.
10995 (gomp_target_init): Use state instead of is_initialized.
10996 Call gomp_target_fini at exit.
10997
10998 2015-12-09 Tom de Vries <tom@codesourcery.com>
10999
11000 PR tree-optimization/68716
11001 * testsuite/libgomp.c/omp-nested-2.c: New test.
11002
11003 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
11004
11005 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
11006 target openacc_nvidia_accel_selected.
11007 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
11008 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
11009 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
11010 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
11011
11012 2015-12-01 Julian Brown <julian@codesourcery.com>
11013 James Norris <James_Norris@mentor.com>
11014
11015 * oacc-parallel.c (GOACC_host_data): New function.
11016 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
11017 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
11018 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
11019 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
11020 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
11021 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
11022 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
11023
11024 2015-11-30 James Norris <jnorris@codesourcery.com>
11025 Cesar Philippidis <cesar@codesourcery.com>
11026
11027 libgomp/
11028 * libgomp.oacc-fortran/routine-5.f90: New test.
11029 * libgomp.oacc-fortran/routine-7.f90: New test.
11030 * libgomp.oacc-fortran/routine-9.f90: New test.
11031
11032 2015-11-30 Tom de Vries <tom@codesourcery.com>
11033
11034 PR tree-optimization/46032
11035 * testsuite/libgomp.c/pr46032.c: New test.
11036
11037 2015-11-27 Jakub Jelinek <jakub@redhat.com>
11038
11039 PR libgomp/68579
11040 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
11041 (gomp_create_target_task): Call it before freeing
11042 GOMP_TARGET_TASK_DATA tasks.
11043
11044 PR c/63326
11045 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
11046 in between case label and OpenMP standalone directives.
11047 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
11048
11049 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
11050
11051 * configure: Regenerate.
11052
11053 2015-11-26 Jakub Jelinek <jakub@redhat.com>
11054
11055 * testsuite/libgomp.c/target-35.c: New test.
11056
11057 2015-11-22 James Norris <jnorris@codesourcery.com>
11058 Cesar Philippidis <cesar@codesourcery.com>
11059
11060 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
11061 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11062 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11063 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11064 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11065
11066 2015-11-20 Jakub Jelinek <jakub@redhat.com>
11067
11068 PR middle-end/68221
11069 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
11070 * testsuite/libgomp.c/reduction-12.c: Likewise.
11071 * testsuite/libgomp.c++/reduction-11.C: Likewise.
11072 * testsuite/libgomp.c++/reduction-12.C: Likewise.
11073
11074 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
11075
11076 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
11077 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
11078 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
11079 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
11080 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
11081 and fix.
11082 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
11083 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
11084
11085 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
11086
11087 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
11088 worker & gang cases.
11089 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
11090
11091 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
11092
11093 * config/nvptx/priority_queue.c: New file.
11094
11095 2015-11-14 Jakub Jelinek <jakub@redhat.com>
11096
11097 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
11098 sections.
11099
11100 2015-11-14 Jakub Jelinek <jakub@redhat.com>
11101 Aldy Hernandez <aldyh@redhat.com>
11102 Ilya Verbin <ilya.verbin@intel.com>
11103
11104 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
11105 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
11106 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
11107 iterators or IV by chunk size.
11108 * parallel.c (gomp_resolve_num_threads): Don't assume that
11109 if thr->ts.team is non-NULL, then pool must be non-NULL.
11110 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
11111 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
11112 GOMP_PLUGIN_target_task_completion.
11113 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
11114 * Makefile.in: Regenerate.
11115 * libgomp.h: Shuffle prototypes and forward definitions around so
11116 priority queues can be defined.
11117 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
11118 (enum gomp_target_task_state): New enum.
11119 (struct gomp_target_task): Add state, tgt, task and team fields.
11120 (gomp_create_target_task): Change return type to bool, add
11121 state argument.
11122 (gomp_target_task_fn): Change return type to bool.
11123 (struct gomp_device_descr): Add async_run_func.
11124 (struct gomp_task): Remove children, next_child, prev_child,
11125 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
11126 Add pnode field.
11127 (struct gomp_taskgroup): Remove children.
11128 Add taskgroup_queue.
11129 (struct gomp_team): Change task_queue type to a priority queue.
11130 (splay_compare): Define inline.
11131 (priority_queue_offset): New.
11132 (priority_node_to_task): New.
11133 (task_to_priority_node): New.
11134 * oacc-mem.c: Do not include splay-tree.h.
11135 * priority_queue.c: New file.
11136 * priority_queue.h: New file.
11137 * splay-tree.c: Do not include splay-tree.h.
11138 (splay_tree_foreach_internal): New.
11139 (splay_tree_foreach): New.
11140 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
11141 (splay_tree_callback): Define typedef.
11142 * target.c (splay_compare): Move to libgomp.h.
11143 (GOMP_target): Don't adjust *thr in any way around running offloaded
11144 task.
11145 (GOMP_target_ext): Likewise. Handle target nowait.
11146 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
11147 return value from gomp_create_target_task, if false, fallthrough
11148 as if no dependencies exist.
11149 (gomp_target_task_fn): Change return type to bool, return true
11150 if the task should have another part scheduled later. Handle
11151 target nowait.
11152 (gomp_load_plugin_for_device): Initialize async_run.
11153 * task.c (gomp_init_task): Initialize children_queue.
11154 (gomp_clear_parent_in_list): New.
11155 (gomp_clear_parent_in_tree): New.
11156 (gomp_clear_parent): Handle priorities.
11157 (GOMP_task): Likewise.
11158 (priority_queue_move_task_first,
11159 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
11160 New functions.
11161 (gomp_create_target_task): Use priority queues. Change return type
11162 to bool, add state argument, return false if for async
11163 {{enter,exit} data,update} constructs no dependencies need to be
11164 waited for, handle target nowait. Set task->fn to NULL instead of
11165 gomp_target_task_fn.
11166 (verify_children_queue): Remove.
11167 (priority_list_upgrade_task): New.
11168 (priority_queue_upgrade_task): New.
11169 (verify_task_queue): Remove.
11170 (priority_list_downgrade_task): New.
11171 (priority_queue_downgrade_task): New.
11172 (gomp_task_run_pre): Use priority queues.
11173 Abstract code out to priority_queue_downgrade_task.
11174 (gomp_task_run_post_handle_dependers): Use priority queues.
11175 (gomp_task_run_post_remove_parent): Likewise.
11176 (gomp_task_run_post_remove_taskgroup): Likewise.
11177 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
11178 tasks specially.
11179 (GOMP_taskwait): Likewise.
11180 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
11181 priority-queue_upgrade_task.
11182 (GOMP_taskgroup_start): Use priority queues.
11183 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
11184 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
11185 barrier.
11186 * taskloop.c (GOMP_taskloop): Handle priorities.
11187 * team.c (gomp_new_team): Call priority_queue_init.
11188 (free_team): Call priority_queue_free.
11189 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
11190 team created for target nowait in implicit parallel region.
11191 (gomp_team_start): For nested check, test thr->ts.level instead of
11192 thr->ts.team != NULL.
11193 * testsuite/libgomp.c/doacross-3.c: New test.
11194 * testsuite/libgomp.c/ordered-5.c: New test.
11195 * testsuite/libgomp.c/priority.c: New test.
11196 * testsuite/libgomp.c/target-31.c: New test.
11197 * testsuite/libgomp.c/target-32.c: New test.
11198 * testsuite/libgomp.c/target-33.c: New test.
11199 * testsuite/libgomp.c/target-34.c: New test.
11200
11201 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
11202
11203 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
11204
11205 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
11206 loop is sequential.
11207
11208 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
11209
11210 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
11211 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
11212
11213 2015-11-12 James Norris <jnorris@codesourcery.com>
11214 Joseph Myers <joseph@codesourcery.com>
11215
11216 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
11217 * oacc-parallel.c (GOACC_declare): New function.
11218 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
11219 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
11220 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
11221 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
11222 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
11223
11224 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
11225
11226 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
11227
11228 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
11229
11230 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
11231 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
11232
11233 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
11234
11235 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
11236 inadvertent commit.
11237
11238 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
11239
11240 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
11241 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
11242 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
11243 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
11244 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
11245
11246 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
11247
11248 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
11249 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
11250
11251 2015-11-05 Jakub Jelinek <jakub@redhat.com>
11252 Ilya Verbin <ilya.verbin@intel.com>
11253
11254 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
11255 GOMP_loop_nonmonotonic_dynamic_start,
11256 GOMP_loop_nonmonotonic_guided_next,
11257 GOMP_loop_nonmonotonic_guided_start,
11258 GOMP_loop_ull_nonmonotonic_dynamic_next,
11259 GOMP_loop_ull_nonmonotonic_dynamic_start,
11260 GOMP_loop_ull_nonmonotonic_guided_next,
11261 GOMP_loop_ull_nonmonotonic_guided_start,
11262 GOMP_parallel_loop_nonmonotonic_dynamic,
11263 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
11264 (GOMP_target_41): Renamed to ...
11265 (GOMP_target_ext): ... this. Add num_teams and thread_limit
11266 arguments.
11267 (GOMP_target_data_41): Renamed to ...
11268 (GOMP_target_data_ext): ... this.
11269 (GOMP_target_update_41): Renamed to ...
11270 (GOMP_target_update_ext): ... this.
11271 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
11272 GOMP_target_data_ext and GOMP_target_update_ext instead of
11273 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
11274 Export GOMP_loop_nonmonotonic_dynamic_next,
11275 GOMP_loop_nonmonotonic_dynamic_start,
11276 GOMP_loop_nonmonotonic_guided_next,
11277 GOMP_loop_nonmonotonic_guided_start,
11278 GOMP_loop_ull_nonmonotonic_dynamic_next,
11279 GOMP_loop_ull_nonmonotonic_dynamic_start,
11280 GOMP_loop_ull_nonmonotonic_guided_next,
11281 GOMP_loop_ull_nonmonotonic_guided_start,
11282 GOMP_parallel_loop_nonmonotonic_dynamic and
11283 GOMP_parallel_loop_nonmonotonic_guided.
11284 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
11285 GOMP_parallel_loop_nonmonotonic_guided,
11286 GOMP_loop_nonmonotonic_dynamic_start,
11287 GOMP_loop_nonmonotonic_guided_start,
11288 GOMP_loop_nonmonotonic_dynamic_next,
11289 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
11290 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
11291 GOMP_loop_ull_nonmonotonic_guided_start,
11292 GOMP_loop_ull_nonmonotonic_dynamic_next,
11293 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
11294 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
11295 functions.
11296 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
11297 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
11298 Use gomp_map_val function.
11299 (gomp_target_fallback_firstprivate): New static function.
11300 (GOMP_target_41): Renamed to ...
11301 (GOMP_target_ext): ... this. Add num_teams and thread_limit
11302 arguments. Move firstprivate fallback handling into a new
11303 function.
11304 (GOMP_target_data_41): Renamed to ...
11305 (GOMP_target_data_ext): ... this.
11306 (GOMP_target_update_41): Renamed to ...
11307 (GOMP_target_update_ext): ... this.
11308 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
11309 gomp_map_0len_lookup instead of gomp_map_lookup.
11310 (omp_target_is_present): Use gomp_map_0len_lookup instead of
11311 gomp_map_lookup.
11312 * testsuite/libgomp.c/target-28.c: Likewise.
11313 * testsuite/libgomp.c/monotonic-1.c: New test.
11314 * testsuite/libgomp.c/monotonic-2.c: New test.
11315 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
11316 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
11317 * testsuite/libgomp.c/pr66199-5.c: New test.
11318 * testsuite/libgomp.c/pr66199-6.c: New test.
11319 * testsuite/libgomp.c/pr66199-7.c: New test.
11320 * testsuite/libgomp.c/pr66199-8.c: New test.
11321 * testsuite/libgomp.c/pr66199-9.c: New test.
11322 * testsuite/libgomp.c/reduction-11.c: New test.
11323 * testsuite/libgomp.c/reduction-12.c: New test.
11324 * testsuite/libgomp.c/reduction-13.c: New test.
11325 * testsuite/libgomp.c/reduction-14.c: New test.
11326 * testsuite/libgomp.c/reduction-15.c: New test.
11327 * testsuite/libgomp.c/target-12.c (main): Adjust for
11328 omp_target_is_present change for one-past-last element.
11329 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
11330 the same var is both mapped and privatized.
11331 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
11332 handling of zero-length array sections.
11333 * testsuite/libgomp.c/target-28.c: New test.
11334 * testsuite/libgomp.c/target-29.c: New test.
11335 * testsuite/libgomp.c/target-30.c: New test.
11336 * testsuite/libgomp.c/target-teams-1.c: New test.
11337 * testsuite/libgomp.c++/member-6.C: New test.
11338 * testsuite/libgomp.c++/member-7.C: New test.
11339 * testsuite/libgomp.c++/monotonic-1.C: New test.
11340 * testsuite/libgomp.c++/monotonic-2.C: New test.
11341 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
11342 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
11343 * testsuite/libgomp.c++/pr66199-3.C: New test.
11344 * testsuite/libgomp.c++/pr66199-4.C: New test.
11345 * testsuite/libgomp.c++/pr66199-5.C: New test.
11346 * testsuite/libgomp.c++/pr66199-6.C: New test.
11347 * testsuite/libgomp.c++/pr66199-7.C: New test.
11348 * testsuite/libgomp.c++/pr66199-8.C: New test.
11349 * testsuite/libgomp.c++/pr66199-9.C: New test.
11350 * testsuite/libgomp.c++/reduction-11.C: New test.
11351 * testsuite/libgomp.c++/reduction-12.C: New test.
11352 * testsuite/libgomp.c++/target-13.C: New test.
11353 * testsuite/libgomp.c++/target-14.C: New test.
11354 * testsuite/libgomp.c++/target-15.C: New test.
11355 * testsuite/libgomp.c++/target-16.C: New test.
11356 * testsuite/libgomp.c++/target-17.C: New test.
11357 * testsuite/libgomp.c++/target-18.C: New test.
11358 * testsuite/libgomp.c++/target-19.C: New test.
11359
11360 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
11361
11362 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
11363 and reduction copy.
11364 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11365 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11366 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11367 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11368 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
11369 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
11370 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
11371 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
11372 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
11373 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
11374 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
11375 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
11376 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
11377 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
11378
11379 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
11380
11381 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
11382 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
11383 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
11384 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
11385 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
11386 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
11387 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
11388 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
11389
11390 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
11391
11392 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
11393 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
11394 (GOMP_OFFLOAD_openacc_parallel): Likewise.
11395 * oacc-host.c (host_openacc_exec): Likewise.
11396 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
11397
11398 2015-11-03 Julian Brown <julian@codesourcery.com>
11399 Thomas Schwinge <thomas@codesourcery.com>
11400
11401 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
11402 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
11403 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
11404 Likewise.
11405 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
11406 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
11407
11408 2015-11-03 James Norris <jnorris@codesourcery.com>
11409
11410 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
11411 file.
11412 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
11413 Likewise.
11414 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
11415 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
11416 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11417 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
11418 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11419
11420 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
11421
11422 * openacc.h (enum acc_device_t): Reformat. Ensure layout
11423 compatibility.
11424 (enum acc_async_t): Reformat.
11425 (acc_on_device): Declare compatible with builtin and provide C++
11426 wrapper.
11427 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
11428
11429 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
11430 Cesar Philippidis <cesar@codesourcery.com>
11431
11432 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
11433 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
11434 ... this. Add a description of the test at the top of the file.
11435 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
11436 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
11437 ... this. Add a description of the test at the top of the file.
11438
11439 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
11440
11441 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
11442 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
11443 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
11444 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
11445 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
11446 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
11447
11448 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
11449
11450 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
11451 dimensions.
11452
11453 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
11454
11455 PR testsuite/68063
11456 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
11457
11458 2015-10-27 James Norris <jnorris@codesourcery.com>
11459
11460 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
11461 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
11462
11463 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
11464
11465 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
11466 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11467
11468 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
11469 acc_device_nvidia usage.
11470 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
11471 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11472 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
11473
11474 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
11475 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
11476
11477 PR libgomp/66518
11478 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
11479
11480 PR libgomp/65437
11481 PR libgomp/66518
11482 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
11483 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
11484
11485 2015-10-23 Tom de Vries <tom@codesourcery.com>
11486
11487 PR testsuite/68063
11488 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
11489
11490 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
11491
11492 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
11493 vector_length.
11494 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11495
11496 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
11497 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
11498
11499 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
11500 to 0 when mapnum is 0.
11501
11502 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
11503
11504 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
11505 Cast to int from int32_t.
11506
11507 2015-10-13 Jakub Jelinek <jakub@redhat.com>
11508 Aldy Hernandez <aldyh@redhat.com>
11509 Ilya Verbin <ilya.verbin@intel.com>
11510
11511 * config/linux/affinity.c (omp_get_place_num_procs,
11512 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
11513 * config/linux/doacross.h: New file.
11514 * config/posix/affinity.c (omp_get_place_num_procs,
11515 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
11516 * config/posix/doacross.h: New file.
11517 * env.c: Include gomp-constants.h.
11518 (struct gomp_task_icv): Rename run_sched_modifier to
11519 run_sched_chunk_size.
11520 (gomp_max_task_priority_var): New variable.
11521 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
11522 (handle_omp_display_env): Change _OPENMP value from 201307 to
11523 201511. Print OMP_MAX_TASK_PRIORITY.
11524 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
11525 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
11526 chunk_size and run_sched_modifier to run_sched_chunk_size.
11527 (omp_get_max_task_priority, omp_get_initial_device,
11528 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
11529 omp_get_partition_place_nums): New functions.
11530 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
11531 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
11532 to chunk_size.
11533 (omp_get_num_places_, omp_get_place_num_procs_,
11534 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
11535 omp_get_place_proc_ids_8_, omp_get_place_num_,
11536 omp_get_partition_num_places_, omp_get_partition_place_nums_,
11537 omp_get_partition_place_nums_8_, omp_get_initial_device_,
11538 omp_get_max_task_priority_): New functions.
11539 * libgomp_g.h (GOMP_loop_doacross_static_start,
11540 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
11541 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
11542 GOMP_loop_ull_doacross_dynamic_start,
11543 GOMP_loop_ull_doacross_guided_start,
11544 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
11545 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
11546 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
11547 GOMP_target_data_41, GOMP_target_update_41,
11548 GOMP_target_enter_exit_data): New prototypes.
11549 (GOMP_task): Add prototype argument.
11550 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
11551 (struct gomp_doacross_work_share): New type.
11552 (struct gomp_work_share): Add doacross field.
11553 (struct gomp_task_icv): Rename run_sched_modifier to
11554 run_sched_chunk_size.
11555 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
11556 GOMP_TASK_UNDEFERRED. Add comments.
11557 (struct gomp_task_depend_entry): Add comments.
11558 (struct gomp_task): Likewise.
11559 (struct gomp_taskgroup): Likewise.
11560 (struct gomp_target_task): New type.
11561 (struct gomp_team): Add comment.
11562 (gomp_get_place_proc_ids_8, gomp_doacross_init,
11563 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
11564 gomp_create_target_task, gomp_target_task_fn): New prototypes.
11565 (struct target_var_desc): New type.
11566 (struct target_mem_desc): Adjust comment. Use struct
11567 target_var_desc instead of splay_tree_key for list.
11568 (REFCOUNT_INFINITY): Define.
11569 (struct splay_tree_key_s): Remove copy_from field.
11570 (struct gomp_device_descr): Add dev2dev_func field.
11571 (enum gomp_map_vars_kind): New enum.
11572 (gomp_map_vars): Add one argument.
11573 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
11574 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
11575 omp_get_place_num_procs, omp_get_place_num_procs_,
11576 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
11577 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
11578 omp_get_place_num_, omp_get_partition_num_places,
11579 omp_get_partition_num_places_, omp_get_partition_place_nums,
11580 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
11581 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
11582 omp_target_free, omp_target_is_present, omp_target_memcpy,
11583 omp_target_memcpy_rect, omp_target_associate_ptr and
11584 omp_target_disassociate_ptr.
11585 (GOMP_4.0.2): Renamed to ...
11586 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
11587 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
11588 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
11589 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11590 GOMP_loop_doacross_static_start, GOMP_doacross_post,
11591 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
11592 GOMP_loop_ull_doacross_guided_start,
11593 GOMP_loop_ull_doacross_runtime_start,
11594 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
11595 GOMP_doacross_ull_wait.
11596 * libgomp.texi: Document omp_get_max_task_priority.
11597 Rename modifier argument to chunk_size for omp_set_schedule and
11598 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
11599 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
11600 to run_sched_chunk_size renaming.
11601 (GOMP_loop_ordered_runtime_start): Likewise.
11602 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
11603 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11604 GOMP_parallel_loop_runtime_start): New functions.
11605 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
11606 to run_sched_chunk_size renaming.
11607 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
11608 GOMP_loop_doacross_guided_start): New functions or aliases.
11609 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
11610 run_sched_modifier to run_sched_chunk_size renaming.
11611 (GOMP_loop_ull_ordered_runtime_start): Likewise.
11612 (gomp_loop_ull_doacross_static_start,
11613 gomp_loop_ull_doacross_dynamic_start,
11614 gomp_loop_ull_doacross_guided_start,
11615 GOMP_loop_ull_doacross_runtime_start): New functions.
11616 (GOMP_loop_ull_doacross_static_start,
11617 GOMP_loop_ull_doacross_dynamic_start,
11618 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
11619 * oacc-mem.c (acc_map_data, present_create_copy,
11620 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
11621 to gomp_map_vars.
11622 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
11623 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
11624 instead of false to gomp_map_vars.
11625 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
11626 * omp.h.in (omp_lock_hint_t): New type.
11627 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11628 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11629 omp_get_place_num, omp_get_partition_num_places,
11630 omp_get_partition_place_nums, omp_get_initial_device,
11631 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
11632 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
11633 omp_target_associate_ptr, omp_target_disassociate_ptr): New
11634 prototypes.
11635 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
11636 (omp_lock_hint_none, omp_lock_hint_uncontended,
11637 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11638 omp_lock_hint_speculative): New parameters.
11639 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11640 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11641 omp_get_place_num, omp_get_partition_num_places,
11642 omp_get_partition_place_nums, omp_get_initial_device,
11643 omp_get_max_task_priority): New interfaces.
11644 (omp_set_schedule, omp_get_schedule): Rename modifier argument
11645 to chunk_size.
11646 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
11647 (omp_lock_hint_none, omp_lock_hint_uncontended,
11648 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11649 omp_lock_hint_speculative): New parameters.
11650 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11651 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11652 omp_get_place_num, omp_get_partition_num_places,
11653 omp_get_partition_place_nums, omp_get_initial_device,
11654 omp_get_max_task_priority): New functions and subroutines.
11655 * ordered.c: Include stdarg.h and string.h.
11656 (MAX_COLLAPSED_BITS): Define.
11657 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
11658 gomp_doacross_ull_init, GOMP_doacross_ull_post,
11659 GOMP_doacross_ull_wait): New functions.
11660 * target.c: Include errno.h.
11661 (resolve_device): If device is not initialized, call
11662 gomp_init_device on it.
11663 (gomp_map_lookup): New function.
11664 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
11665 Don't bump refcount if REFCOUNT_INFINITY. Handle
11666 GOMP_MAP_ALWAYS_TO_P.
11667 (get_kind): Rename is_openacc argument to short_mapkind.
11668 (gomp_map_pointer): Use gomp_map_lookup.
11669 (gomp_map_fields_existing): New function.
11670 (gomp_map_vars): Rename is_openacc argument to short_mapkind
11671 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
11672 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
11673 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
11674 Adjust for tgt->list changed type and copy_from living in there.
11675 (gomp_copy_from_async): Adjust for tgt->list changed type and
11676 copy_from living in there.
11677 (gomp_unmap_vars): Likewise.
11678 (gomp_update): Likewise. Rename is_openacc argument to
11679 short_mapkind. Don't fail if object is not mapped.
11680 (gomp_load_image_to_device): Initialize refcount to
11681 REFCOUNT_INFINITY.
11682 (gomp_target_fallback): New function.
11683 (gomp_get_target_fn_addr): Likewise.
11684 (GOMP_target): Adjust gomp_map_vars caller, use
11685 gomp_get_target_fn_addr and gomp_target_fallback.
11686 (GOMP_target_41): New function.
11687 (gomp_target_data_fallback): New function.
11688 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
11689 (GOMP_target_data_41): New function.
11690 (GOMP_target_update): Adjust gomp_update caller.
11691 (GOMP_target_update_41): New function.
11692 (gomp_exit_data, GOMP_target_enter_exit_data,
11693 gomp_target_task_fn, omp_target_alloc, omp_target_free,
11694 omp_target_is_present, omp_target_memcpy,
11695 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
11696 omp_target_associate_ptr, omp_target_disassociate_ptr,
11697 gomp_load_plugin_for_device): New functions.
11698 * task.c: Include gomp-constants.h. Include taskloop.c
11699 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
11700 (gomp_task_handle_depend): New function.
11701 (GOMP_task): Use it. Add priority argument. Use
11702 gomp-constant.h constants instead of hardcoded numbers.
11703 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
11704 (gomp_create_target_task): New function.
11705 (verify_children_queue, verify_taskgroup_queue,
11706 verify_task_queue): New functions.
11707 (gomp_task_run_pre): Call verify_*_queue functions.
11708 If an upcoming tied task is about to leave the sibling or
11709 taskgroup queues in an invalid state, adjust appropriately.
11710 Remove taskgroup argument. Add comments.
11711 (gomp_task_run_post_handle_dependers): Add comments.
11712 (gomp_task_run_post_remove_parent): Likewise.
11713 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
11714 (GOMP_taskwait): Likewise. Add comments.
11715 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
11716 problem such that the first non parent_depends_on task does not
11717 end up at the end of the children queue.
11718 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
11719 GOMP_TASK_UNDEFERRED.
11720 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
11721 * taskloop.c: New file.
11722 * testsuite/lib/libgomp.exp
11723 (check_effective_target_offload_device_nonshared_as): New proc.
11724 * testsuite/libgomp.c/affinity-2.c: New test.
11725 * testsuite/libgomp.c/doacross-1.c: New test.
11726 * testsuite/libgomp.c/doacross-2.c: New test.
11727 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
11728 Add map clause to target.
11729 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
11730 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
11731 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
11732 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
11733 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
11734 Likewise.
11735 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
11736 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
11737 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
11738 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
11739 not defined. Use those where needed.
11740 * testsuite/libgomp.c/for-4.c: New test.
11741 * testsuite/libgomp.c/for-5.c: New test.
11742 * testsuite/libgomp.c/for-6.c: New test.
11743 * testsuite/libgomp.c/linear-1.c: New test.
11744 * testsuite/libgomp.c/ordered-4.c: New test.
11745 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
11746 only allowed on the loop iterator.
11747 * testsuite/libgomp.c/pr66199-3.c: New test.
11748 * testsuite/libgomp.c/pr66199-4.c: New test.
11749 * testsuite/libgomp.c/reduction-7.c: New test.
11750 * testsuite/libgomp.c/reduction-8.c: New test.
11751 * testsuite/libgomp.c/reduction-9.c: New test.
11752 * testsuite/libgomp.c/reduction-10.c: New test.
11753 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
11754 map(tofrom:s).
11755 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
11756 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
11757 * testsuite/libgomp.c/target-11.c: New test.
11758 * testsuite/libgomp.c/target-12.c: New test.
11759 * testsuite/libgomp.c/target-13.c: New test.
11760 * testsuite/libgomp.c/target-14.c: New test.
11761 * testsuite/libgomp.c/target-15.c: New test.
11762 * testsuite/libgomp.c/target-16.c: New test.
11763 * testsuite/libgomp.c/target-17.c: New test.
11764 * testsuite/libgomp.c/target-18.c: New test.
11765 * testsuite/libgomp.c/target-19.c: New test.
11766 * testsuite/libgomp.c/target-20.c: New test.
11767 * testsuite/libgomp.c/target-21.c: New test.
11768 * testsuite/libgomp.c/target-22.c: New test.
11769 * testsuite/libgomp.c/target-23.c: New test.
11770 * testsuite/libgomp.c/target-24.c: New test.
11771 * testsuite/libgomp.c/target-25.c: New test.
11772 * testsuite/libgomp.c/target-26.c: New test.
11773 * testsuite/libgomp.c/target-27.c: New test.
11774 * testsuite/libgomp.c/taskloop-1.c: New test.
11775 * testsuite/libgomp.c/taskloop-2.c: New test.
11776 * testsuite/libgomp.c/taskloop-3.c: New test.
11777 * testsuite/libgomp.c/taskloop-4.c: New test.
11778 * testsuite/libgomp.c++/ctor-13.C: New test.
11779 * testsuite/libgomp.c++/doacross-1.C: New test.
11780 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
11781 Replace offload_device with offload_device_nonshared_as.
11782 * testsuite/libgomp.c++/for-12.C: New test.
11783 * testsuite/libgomp.c++/for-13.C: New test.
11784 * testsuite/libgomp.c++/for-14.C: New test.
11785 * testsuite/libgomp.c++/linear-1.C: New test.
11786 * testsuite/libgomp.c++/member-1.C: New test.
11787 * testsuite/libgomp.c++/member-2.C: New test.
11788 * testsuite/libgomp.c++/member-3.C: New test.
11789 * testsuite/libgomp.c++/member-4.C: New test.
11790 * testsuite/libgomp.c++/member-5.C: New test.
11791 * testsuite/libgomp.c++/ordered-1.C: New test.
11792 * testsuite/libgomp.c++/reduction-5.C: New test.
11793 * testsuite/libgomp.c++/reduction-6.C: New test.
11794 * testsuite/libgomp.c++/reduction-7.C: New test.
11795 * testsuite/libgomp.c++/reduction-8.C: New test.
11796 * testsuite/libgomp.c++/reduction-9.C: New test.
11797 * testsuite/libgomp.c++/reduction-10.C: New test.
11798 * testsuite/libgomp.c++/reference-1.C: New test.
11799 * testsuite/libgomp.c++/simd14.C: New test.
11800 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11801 * testsuite/libgomp.c++/target-5.C: New test.
11802 * testsuite/libgomp.c++/target-6.C: New test.
11803 * testsuite/libgomp.c++/target-7.C: New test.
11804 * testsuite/libgomp.c++/target-8.C: New test.
11805 * testsuite/libgomp.c++/target-9.C: New test.
11806 * testsuite/libgomp.c++/target-10.C: New test.
11807 * testsuite/libgomp.c++/target-11.C: New test.
11808 * testsuite/libgomp.c++/target-12.C: New test.
11809 * testsuite/libgomp.c++/taskloop-1.C: New test.
11810 * testsuite/libgomp.c++/taskloop-2.C: New test.
11811 * testsuite/libgomp.c++/taskloop-3.C: New test.
11812 * testsuite/libgomp.c++/taskloop-4.C: New test.
11813 * testsuite/libgomp.c++/taskloop-5.C: New test.
11814 * testsuite/libgomp.c++/taskloop-6.C: New test.
11815 * testsuite/libgomp.c++/taskloop-7.C: New test.
11816 * testsuite/libgomp.c++/taskloop-8.C: New test.
11817 * testsuite/libgomp.c++/taskloop-9.C: New test.
11818 * testsuite/libgomp.fortran/affinity1.f90: New test.
11819 * testsuite/libgomp.fortran/affinity2.f90: New test.
11820
11821 2015-10-13 Tom de Vries <tom@codesourcery.com>
11822
11823 PR tree-optimization/67476
11824 * testsuite/libgomp.c/autopar-3.c: New test.
11825 * testsuite/libgomp.c/autopar-4.c: New test.
11826 * testsuite/libgomp.c/autopar-5.c: New test.
11827 * testsuite/libgomp.c/autopar-6.c: New test.
11828 * testsuite/libgomp.c/autopar-7.c: New test.
11829 * testsuite/libgomp.c/autopar-8.c: New test.
11830
11831 2015-10-12 James Norris <jnorris@codesourcery.com>
11832
11833 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11834 initializer.
11835
11836 2015-10-09 David Malcolm <dmalcolm@redhat.com>
11837
11838 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11839 using load_gcc_lib.
11840
11841 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
11842
11843 * oacc-ptx.h: Remove file, moving its content into...
11844 * config/nvptx/fortran.c: ... here...
11845 * config/nvptx/oacc-init.c: ..., here...
11846 * config/nvptx/oacc-parallel.c: ..., and here.
11847 * config/nvptx/openacc.f90: New file.
11848 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11849 (link_ptx): Don't link in predefined bits of PTX code.
11850
11851 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
11852 Bernd Schmidt <bernds@codesourcery.com>
11853
11854 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11855 (struct targ_ptx_obj): New.
11856 (nvptx_tdata): Move earlier, change data format.
11857 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
11858 objects.
11859 (GOMP_OFFLOAD_load_image): Adjust.
11860
11861 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
11862
11863 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11864 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11865 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11866 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11867 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11868 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11869 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11870 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11871 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11872 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11873 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11874 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11875 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11876 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11877 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11878 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11879 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11880 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11881 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11882 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11883 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11884 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11885 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11886 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11887 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11888 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11889 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11890 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11891 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11892 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11893 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11894 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11895 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11896 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11897 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11898 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11899 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11900 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11901 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11902 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11903 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11904 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11905 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11906 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11907 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11908 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11909 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11910 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11911 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11912 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11913 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11914 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11915 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11916 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11917 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11918 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11919 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11920 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11921 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11922 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11923 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11924 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11925 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11926
11927 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11928
11929 * oacc-init.c (acc_on_device): Force optimization level.
11930
11931 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11932
11933 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11934 (cuda_errlist): Delete.
11935 (cuda_error): Reimplement.
11936
11937 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
11938
11939 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
11940 array.
11941 * libgomp.map (GOACC_parallel_keyed): New.
11942 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
11943 all callers.
11944 (GOACC_parallel_keyed): New interface. Lose geometry arguments
11945 and take keyed varargs list. Adjust call to exec_func.
11946 (GOACC_parallel): Force host fallback.
11947 * libgomp_g.h (GOACC_parallel): Remove.
11948 (GOACC_parallel_keyed): Declare.
11949 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
11950 (struct targ_gn_descriptor): Replace name field with launch field.
11951 (nvptx_exec): Lose separate geometry args, take array. Process
11952 dynamic dimensions and adjust.
11953 (struct nvptx_tdata): Replace fn_names field with fn_descs.
11954 (GOMP_OFFLOAD_load_image): Adjust for change in function table
11955 data.
11956 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11957 passing.
11958 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
11959 passing.
11960
11961 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
11962
11963 PR libgomp/67141
11964 * oacc-int.h (goacc_host_init): Add declaration.
11965 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
11966 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
11967
11968 2015-09-08 Aditya Kumar <hiraditya@msn.com>
11969 Sebastian Pop <s.pop@samsung.com>
11970
11971 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
11972 match o/p.
11973 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
11974 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
11975 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
11976 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
11977 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
11978
11979 2015-09-03 Jakub Jelinek <jakub@redhat.com>
11980
11981 * configure.tgt: Add missing ;; in between nvptx and rtems
11982 snippets.
11983
11984 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11985
11986 * config/posix/pool.h (gomp_adjust_thread_attr): New.
11987 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
11988 (gomp_thread_pool_reservoir): Add priority member.
11989 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
11990 priority.
11991 (parse_thread_pools): Likewise.
11992 * team.c (gomp_team_start): Call configuration provided
11993 gomp_adjust_thread_attr(). Destroy thread attributes if
11994 necessary.
11995 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
11996
11997 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11998
11999 * config/posix/pool.h: New.
12000 * config/rtems/pool.h: Likewise.
12001 * config/rtems/proc.c: Likewise.
12002 * libgomp.h (gomp_thread_destructor): Declare.
12003 * team.c: Include configuration provided "pool.h".
12004 (gomp_get_thread_pool): Define in configuration.
12005 (gomp_team_end): Call configuration defined
12006 gomp_release_thread_pool().
12007
12008 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
12009
12010 * config/rtems/bar.c: New.
12011 * config/rtems/bar.h: Likewise.
12012 * config/rtems/mutex.c: Likewise.
12013 * config/rtems/mutex.h: Likewise.
12014 * config/rtems/sem.c: Likewise.
12015 * config/rtems/sem.h: Likewise.
12016 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
12017 <sys/lock.h> header file.
12018 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
12019 supported by Newlib.
12020 * configure: Regenerate.
12021
12022 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
12023
12024 * team.c (gomp_new_thread_pool): Delete and move content to ...
12025 (gomp_get_thread_pool): ... new function. Allocate and
12026 initialize thread pool on demand.
12027 (get_last_team): Use gomp_get_thread_pool().
12028 (gomp_team_start): Delete thread pool initialization.
12029
12030 2015-09-03 Tom de Vries <tom@codesourcery.com>
12031
12032 PR tree-optimization/65637
12033 * testsuite/libgomp.c/autopar-2.c: New test.
12034
12035 2015-08-29 Tom de Vries <tom@codesourcery.com>
12036
12037 PR tree-optimization/46193
12038 * testsuite/libgomp.c/pr46193.c: New test.
12039
12040 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
12041
12042 libgomp/
12043 * libgomp.map: Add 4.0.2 version.
12044 * target.c (offload_image_descr): Add version field.
12045 (gomp_load_image_to_device): Add version argument. Adjust plugin
12046 call. Improve load mismatch diagnostic.
12047 (gomp_unload_image_from_device): Add version argument. Adjust plugin
12048 call.
12049 (GOMP_offload_regster): Make stub function, move bulk to ...
12050 (GOMP_offload_register_ver): ... here. Process version argument.
12051 (GOMP_offload_unregister): Make stub function, move bulk to ...
12052 (GOMP_offload_unregister_ver): ... here. Process version argument.
12053 (gomp_init_device): Process version field.
12054 (gomp_unload_device): Process version field.
12055 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
12056 macros. Check plugin version.
12057 * libgomp.h (gomp_device_descr): Add version function field. Adjust
12058 loader and unloader types.
12059 * oacc-host.c: Include gomp-constants.h.
12060 (host_version): New.
12061 (host_load_image, host_unload_image): Adjust.
12062 (host_dispatch): Add host_version.
12063 * plugin/plugin-nvptx.c: Include gomp-constants.h.
12064 (GOMP_OFFLOAD_version): New.
12065 (GOMP_OFFLOAD_load_image): Add version arg and check it.
12066 (GOMP_OFFLOAD_unload_image): Likewise.
12067 * plugin/plugin-host.c: Include gomp-constants.h.
12068 (GOMP_OFFLOAD_version): New.
12069 (GOMP_OFFLOAD_load_image): Add version arg.
12070 (GOMP_OFFLOAD_unload_image): Likewise.
12071
12072 2015-08-24 Tom de Vries <tom@codesourcery.com>
12073
12074 PR tree-optimization/65468
12075 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
12076
12077 2015-08-24 Tom de Vries <tom@codesourcery.com>
12078
12079 PR tree-optimization/65468
12080 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
12081
12082 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
12083
12084 PR libgomp/66761
12085 PR libgomp/67303
12086 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
12087 (gomp_iter_guided_next): Idem.
12088 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
12089 (gomp_iter_ull_guided_next): Idem.
12090 * config/linux/wait.h (do_spin): Idem.
12091
12092 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
12093
12094 * libgomp-plugin.h (enum offload_target_type): Remove
12095 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
12096 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
12097 * openacc.h (enum acc_device_t): Likewise.
12098 * openacc_lib.h: Likewise.
12099 * oacc-init.c (name_of_acc_device_t): Don't handle it.
12100 (acc_on_device): Just use __builtin_acc_on_device.
12101 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
12102 of acc_on_device builtin.
12103 * plugin/plugin-host.h: Remove file.
12104 * plugin/plugin-host.c: Likewise, but salvage some content into...
12105 * oacc-host.c: ... this file.
12106 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
12107 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
12108 * Makefile.in: Regenerate.
12109 * configure: Likewise.
12110 * testsuite/lib/libgomp.exp
12111 (check_effective_target_openacc_host_nonshm_selected): Remove.
12112 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
12113 ACC_DEVICE_TYPE=host_nonshm.
12114 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12115 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12116 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12117 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12118 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12119 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12120
12121 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
12122 Jakub Jelinek <jakub@redhat.com>
12123
12124 * config/nvptx/affinity.c: New file.
12125 * config/nvptx/alloc.c: Likewise.
12126 * config/nvptx/bar.c: Likewise.
12127 * config/nvptx/barrier.c: Likewise.
12128 * config/nvptx/critical.c: Likewise.
12129 * config/nvptx/env.c: Likewise.
12130 * config/nvptx/error.c: Likewise.
12131 * config/nvptx/fortran.c: Likewise.
12132 * config/nvptx/iter.c: Likewise.
12133 * config/nvptx/iter_ull.c: Likewise.
12134 * config/nvptx/libgomp-plugin.c: Likewise.
12135 * config/nvptx/lock.c: Likewise.
12136 * config/nvptx/loop.c: Likewise.
12137 * config/nvptx/loop_ull.c: Likewise.
12138 * config/nvptx/mutex.c: Likewise.
12139 * config/nvptx/oacc-async.c: Likewise.
12140 * config/nvptx/oacc-cuda.c: Likewise.
12141 * config/nvptx/oacc-host.c: Likewise.
12142 * config/nvptx/oacc-init.c: Likewise.
12143 * config/nvptx/oacc-mem.c: Likewise.
12144 * config/nvptx/oacc-parallel.c: Likewise.
12145 * config/nvptx/oacc-plugin.c: Likewise.
12146 * config/nvptx/omp-lock.h: Likewise.
12147 * config/nvptx/ordered.c: Likewise.
12148 * config/nvptx/parallel.c: Likewise.
12149 * config/nvptx/proc.c: Likewise.
12150 * config/nvptx/ptrlock.c: Likewise.
12151 * config/nvptx/sections.c: Likewise.
12152 * config/nvptx/sem.c: Likewise.
12153 * config/nvptx/single.c: Likewise.
12154 * config/nvptx/splay-tree.c: Likewise.
12155 * config/nvptx/target.c: Likewise.
12156 * config/nvptx/task.c: Likewise.
12157 * config/nvptx/team.c: Likewise.
12158 * config/nvptx/time.c: Likewise.
12159 * config/nvptx/work.c: Likewise.
12160 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
12161 * configure: Regenerate.
12162 * configure.tgt (config_path): Set to "nvptx" for target
12163 nvptx*-*-*.
12164
12165 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
12166
12167 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
12168
12169 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
12170
12171 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
12172 (cuda_errlist): Constify.
12173 (errmsg): Move into ...
12174 (cuda_error): ... here. Make smaller.
12175 (_XSTR, _STR): Delete.
12176 (cuda_synames): Delete.
12177 (verify_device_library): Delete.
12178 (nvptx_init): Don't call it.
12179
12180 2015-07-28 Tom de Vries <tom@codesourcery.com>
12181
12182 * testsuite/libgomp.c/uns-outer-4.c: New test.
12183
12184 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
12185
12186 * testsuite/libgomp.c/pr66714.c: New test.
12187
12188 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
12189
12190 PR libgomp/66950
12191 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
12192 (fib_ref): New function.
12193 (fib): Correct corner cases in the recursion.
12194 (main): Replace the non-simd loop with fib_ref call.
12195 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
12196 subroutine.
12197 (fibonacci): Lower the parameter N to 30. Correct accordingly check
12198 for the last array element value. Replace the non-simd loop with
12199 fib_ref call. Remove redundant b_ref array. Remove the comparison
12200 of the last array element with according Fibonacci sequence element.
12201 (fib): Correct corner cases in the recursion.
12202
12203 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
12204
12205 * target.c (gomp_offload_image_to_device): Rename to ...
12206 (gomp_load_image_to_device): ... here.
12207 (GOMP_offload_register): Adjust call.
12208 (gomp_init_device): Likewise.
12209 (gomp_unload_image_from_device): New. Broken out of ...
12210 (GOMP_offload_unregister): ... here. Call it.
12211 (gomp_unload_device): New.
12212 * libgomp.h (gomp_unload_device): Declare.
12213 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
12214 mem maps.
12215
12216 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
12217
12218 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
12219 wait=-specific if.
12220 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
12221 !=0 condition.
12222 (goacc_waits): Move !num_waits handling to ...
12223 (GOACC_wait): ... here, the only caller that might have zero waits.
12224
12225 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
12226 (struct ptx_image_data): Move earlier, add fns field.
12227 (struct ptx_device): Add images and image_lock fields.
12228 (ptx_images, ptx_image_lock): Delete.
12229 (nvptx_open_device): Initialize images and image_lock fields.
12230 (nvptx_close_device): Destroy image_lock.
12231 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
12232 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
12233 fields.
12234
12235 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
12236
12237 * target.c (GOMP_offload_register): Use int for device type arg.
12238 (GOMP_offload_unregister): Likewise.
12239
12240 * target.c (struct_offload_image_descr): Constify host_table.
12241 (gomp_offload_image_to_device): Likewise.
12242 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
12243
12244 * libgomp.h (gomp_device_descr): Constify target data arguments.
12245 * target.c (struct offload_image_descr): Constify target_data.
12246 (gomp_offload_image_to_device): Likewise.
12247 (GOMP_offload_register): Likewise.
12248 (GOMP_offload_unregister): Likewise.
12249 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
12250 GOMP_OFFLOAD_unload_image): Constify target data.
12251 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
12252 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
12253
12254 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
12255
12256 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
12257 Workaround driver library const error.
12258 (struct nvptx_tdata, nvptx_tdata_t): New.
12259 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
12260 type.
12261
12262 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
12263
12264 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
12265 of EPS parameter from integer to real.
12266 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
12267 type of EPS parameter from integer to real.
12268
12269 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
12270
12271 * team.c (get_last_team): New.
12272 (gomp_new_team): Recycle last non-nested team if possible.
12273 (gomp_team_end): Move team work share list free lock destruction
12274 to ...
12275 (free_team): ... here.
12276
12277 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
12278
12279 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
12280 and ref from int to double. Replaced their comparison with
12281 an inequality of their difference and EPS.
12282 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
12283 comparison of pri and a reference number with an inequality of their
12284 difference and EPS.
12285 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
12286 the comparison of sum and sum_ref with an inequality of their
12287 difference and EPS.
12288 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
12289 the comparison of pri and a reference number with an inequality of
12290 their difference and EPS.
12291
12292 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
12293
12294 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
12295 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
12296 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
12297 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
12298 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
12299 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
12300 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
12301 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
12302 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
12303 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
12304 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
12305 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
12306 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
12307 variables.
12308 (vec_mult): Likewise. Add #pragma omp taskwait.
12309 (main): Adjust caller.
12310 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
12311 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
12312 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
12313 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
12314 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
12315 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
12316 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
12317 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
12318 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
12319 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
12320 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
12321 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
12322 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
12323 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
12324 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
12325 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
12326 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
12327 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
12328 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
12329 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
12330 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
12331 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
12332 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
12333 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
12334 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
12335 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
12336 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
12337 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
12338 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
12339 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
12340 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
12341 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
12342 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
12343 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
12344 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
12345 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
12346 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
12347 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
12348 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
12349 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
12350 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
12351 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
12352 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
12353 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
12354 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
12355 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
12356 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
12357 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
12358 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
12359 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
12360 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
12361 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
12362 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
12363 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
12364 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
12365 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
12366 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
12367 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
12368 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
12369 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
12370 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
12371 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
12372 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
12373 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
12374 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
12375 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
12376 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
12377 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
12378 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
12379 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
12380 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
12381 (vec_mult): Add !$omp taskwait.
12382 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
12383 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
12384 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
12385 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
12386 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
12387 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
12388 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
12389 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
12390 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
12391 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
12392 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
12393 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
12394 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
12395 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
12396 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
12397 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
12398 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
12399 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
12400 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
12401 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
12402 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
12403 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
12404 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
12405 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
12406 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
12407 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
12408 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
12409 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
12410 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
12411 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
12412 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
12413 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
12414 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
12415 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
12416 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
12417 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
12418 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
12419 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
12420 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
12421 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
12422 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
12423 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
12424 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
12425 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
12426 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
12427 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
12428 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
12429 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
12430 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
12431 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
12432 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
12433 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
12434 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
12435 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
12436 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
12437 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
12438 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
12439 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
12440 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
12441 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
12442 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
12443 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
12444 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
12445 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
12446 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
12447 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
12448 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
12449
12450 2015-07-10 Tom de Vries <tom@codesourcery.com>
12451
12452 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
12453 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
12454
12455 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
12456
12457 PR libgomp/65099
12458 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
12459 in a 64-bit configuration.
12460 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
12461 offloading testing if no such device is available.
12462 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12463 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12464
12465 2015-07-08 Tom de Vries <tom@codesourcery.com>
12466
12467 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
12468 second call to f.
12469 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12470
12471 2015-07-07 Tom de Vries <tom@codesourcery.com>
12472
12473 PR tree-optimization/66642
12474 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
12475 iteration count case.
12476 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
12477 function, factor out of ...
12478 (main): ... here. Test low iteration count case.
12479
12480 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
12481
12482 * libgomp.h (gomp_thread_pool): Comment last_team field.
12483
12484 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
12485
12486 * testsuite/libgomp.c++/pr66702-1.C: Require
12487 vect_simd_clones effective target.
12488 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
12489
12490 2015-06-30 Tom de Vries <tom@codesourcery.com>
12491
12492 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
12493 already set. Use DEFAULT_CFLAGS in dg-runtest.
12494 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
12495 "-O2".
12496
12497 2015-06-30 Tom de Vries <tom@codesourcery.com>
12498
12499 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
12500 already set. Use DEFAULT_CFLAGS in dg-runtest.
12501 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
12502 * testsuite/libgomp.c++/pr64824.C: Same.
12503 * testsuite/libgomp.c++/pr64868.C: Same.
12504 * testsuite/libgomp.c++/pr66199-1.C: Same.
12505 * testsuite/libgomp.c++/pr66199-2.C: Same.
12506 * testsuite/libgomp.c++/target-2.C: Same.
12507 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
12508 -std=<standard> option.
12509 * testsuite/libgomp.c++/udr-11.C: Same.
12510 * testsuite/libgomp.c++/udr-12.C: Same.
12511 * testsuite/libgomp.c++/udr-13.C: Same.
12512 * testsuite/libgomp.c++/udr-14.C: Same.
12513 * testsuite/libgomp.c++/udr-15.C: Same.
12514 * testsuite/libgomp.c++/udr-16.C: Same.
12515 * testsuite/libgomp.c++/udr-17.C: Same.
12516 * testsuite/libgomp.c++/udr-18.C: Same.
12517 * testsuite/libgomp.c++/udr-19.C: Same.
12518 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
12519 * testsuite/libgomp.c++/simd-1.C: Same.
12520 * testsuite/libgomp.c++/simd-2.C: Same.
12521 * testsuite/libgomp.c++/simd-3.C: Same.
12522 * testsuite/libgomp.c++/simd-4.C: Same.
12523 * testsuite/libgomp.c++/simd-5.C: Same.
12524 * testsuite/libgomp.c++/simd-6.C: Same.
12525 * testsuite/libgomp.c++/simd-7.C: Same.
12526 * testsuite/libgomp.c++/simd-8.C: Same.
12527 * testsuite/libgomp.c++/simd-9.C: Same.
12528 * testsuite/libgomp.c++/simd10.C: Same.
12529 * testsuite/libgomp.c++/simd11.C: Same.
12530 * testsuite/libgomp.c++/simd12.C: Same.
12531 * testsuite/libgomp.c++/simd13.C: Same.
12532
12533 2015-06-30 Jakub Jelinek <jakub@redhat.com>
12534
12535 PR middle-end/66702
12536 * testsuite/libgomp.c++/pr66702-1.C: New test.
12537 * testsuite/libgomp.c++/pr66702-2.C: New test.
12538
12539 2015-06-30 Tom de Vries <tom@codesourcery.com>
12540
12541 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
12542 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
12543 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
12544 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
12545
12546 2015-06-30 Tom de Vries <tom@codesourcery.com>
12547
12548 PR tree-optimization/66652
12549 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
12550 using restrict pointers.
12551 (main): Add arguments to calls to f.
12552 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12553
12554 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
12555
12556 * configure.ac: Fix check for header <sys/sysctl.h>.
12557 * configure: Regenerate.
12558 * config.h.in: Likewise.
12559
12560 2015-06-23 Tom de Vries <tom@codesourcery.com>
12561
12562 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
12563 abort.
12564 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
12565
12566 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
12567
12568 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
12569 acc_device_nvidia.
12570
12571 PR libgomp/66518
12572 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
12573 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12574
12575 2015-06-15 Tom de Vries <tom@codesourcery.com>
12576
12577 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
12578 dg-additional-options for any remaining options.
12579 * testsuite/libgomp.c/atomic-2.c: Same.
12580 * testsuite/libgomp.c/atomic-4.c: Same.
12581 * testsuite/libgomp.c/atomic-5.c: Same.
12582 * testsuite/libgomp.c/atomic-6.c: Same.
12583 * testsuite/libgomp.c/autopar-1.c: Same.
12584 * testsuite/libgomp.c/copyin-1.c: Same.
12585 * testsuite/libgomp.c/copyin-2.c: Same.
12586 * testsuite/libgomp.c/copyin-3.c: Same.
12587 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
12588 * testsuite/libgomp.c/nestedfn-5.c: Same.
12589 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
12590 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
12591 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
12592 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12593 * testsuite/libgomp.c/pr32362-1.c: Same.
12594 * testsuite/libgomp.c/pr32362-2.c: Same.
12595 * testsuite/libgomp.c/pr32362-3.c: Same.
12596 * testsuite/libgomp.c/pr39591-1.c: Same.
12597 * testsuite/libgomp.c/pr39591-2.c: Same.
12598 * testsuite/libgomp.c/pr39591-3.c: Same.
12599 * testsuite/libgomp.c/pr58392.c: Same.
12600 * testsuite/libgomp.c/pr58756.c: Same.
12601 * testsuite/libgomp.c/simd-1.c: Same.
12602 * testsuite/libgomp.c/simd-10.c: Same.
12603 * testsuite/libgomp.c/simd-11.c: Same.
12604 * testsuite/libgomp.c/simd-12.c: Same.
12605 * testsuite/libgomp.c/simd-13.c: Same.
12606 * testsuite/libgomp.c/simd-14.c: Same.
12607 * testsuite/libgomp.c/simd-15.c: Same.
12608 * testsuite/libgomp.c/simd-2.c: Same.
12609 * testsuite/libgomp.c/simd-3.c: Same.
12610 * testsuite/libgomp.c/simd-4.c: Same.
12611 * testsuite/libgomp.c/simd-5.c: Same.
12612 * testsuite/libgomp.c/simd-6.c: Same.
12613 * testsuite/libgomp.c/simd-7.c: Same.
12614 * testsuite/libgomp.c/simd-8.c: Same.
12615 * testsuite/libgomp.c/simd-9.c: Same.
12616
12617 2015-06-15 Tom de Vries <tom@codesourcery.com>
12618
12619 * testsuite/libgomp.c/pr35625.c: Fix typo.
12620
12621 2015-06-15 Tom de Vries <tom@codesourcery.com>
12622
12623 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
12624 in dg-options.
12625 * testsuite/libgomp.c/atomic-3.c: Same.
12626 * testsuite/libgomp.c/debug-1.c: Same.
12627 * testsuite/libgomp.c/nqueens-1.c: Same.
12628 * testsuite/libgomp.c/pr26171.c: Same.
12629 * testsuite/libgomp.c/pr48591.c: Same.
12630 * testsuite/libgomp.c/pr64824.c: Same.
12631 * testsuite/libgomp.c/pr64868.c: Same.
12632 * testsuite/libgomp.c/pr66133.c: Same.
12633 * testsuite/libgomp.c/pr66199-1.c: Same.
12634 * testsuite/libgomp.c/pr66199-2.c: Same.
12635 * testsuite/libgomp.c/target-8.c: Same.
12636
12637 2015-06-15 Tom de Vries <tom@codesourcery.com>
12638
12639 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
12640 -std={gnu99,c99}.
12641 * testsuite/libgomp.c/for-1.c: Same.
12642 * testsuite/libgomp.c/for-2.c: Same.
12643 * testsuite/libgomp.c/for-3.c: Same.
12644 * testsuite/libgomp.c/pr35625.c: Same.
12645 * testsuite/libgomp.c/pr39154.c: Same.
12646 * testsuite/libgomp.c/simd-16.c: Same.
12647 * testsuite/libgomp.c/simd-17.c: Same.
12648
12649 2015-06-13 Tom de Vries <tom@codesourcery.com>
12650
12651 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
12652
12653 2015-06-13 Tom de Vries <tom@codesourcery.com>
12654
12655 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
12656 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12657 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
12658 (N): Define.
12659 (main): Use N instead of hardcoded constants.
12660
12661 2015-06-05 Tom de Vries <tom@codesourcery.com>
12662
12663 merge from gomp4 branch:
12664 2015-05-28 Tom de Vries <tom@codesourcery.com>
12665
12666 PR tree-optimization/65443
12667 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
12668 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
12669 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
12670
12671 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
12672
12673 * testsuite/libgomp.graphite/bounds.c: Adjust for
12674 cleanup-tree-dump removal.
12675 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
12676 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12677 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12678 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12679 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12680 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12681 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12682 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12683 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12684 * testsuite/libgomp.graphite/pr41118.c: Likewise.
12685
12686 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
12687
12688 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
12689 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
12690 (futex_wake) [!__x86_64__]: Ditto.
12691
12692 2015-05-28 Julian Brown <julian@codesourcery.com>
12693
12694 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
12695 function comment. Only call gomp_fatal if new argument is true.
12696 (acc_dev_num_out_of_range): New function.
12697 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
12698 acc_dev_num_out_of_range as appropriate.
12699 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12700 (acc_get_device_num, acc_set_device_num): Update calls to
12701 resolve_device.
12702 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12703 output.
12704
12705 2015-05-28 Julian Brown <julian@codesourcery.com>
12706
12707 PR libgomp/65742
12708 * oacc-init.c (plugin/plugin-host.h): Include.
12709 (acc_on_device): Check whether we're in an offloaded region for
12710 host_nonshm
12711 plugin. Don't use __builtin_acc_on_device.
12712 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
12713 nonshm_exec flag in thread-local data.
12714 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
12715 data for host_nonshm plugin.
12716 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
12717 for host_nonshm plugin.
12718 * plugin/plugin-host.h: New.
12719
12720 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12721
12722 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12723
12724 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12725
12726 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12727 Declare as int.
12728 (FUTEX_PRIVATE_FLAG): Remove L suffix.
12729 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12730 Declare as int.
12731
12732 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12733
12734 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
12735
12736 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
12737
12738 * target.c (gomp_map_pointer): New function abstracting out
12739 GOMP_MAP_POINTER handling.
12740 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
12741 gomp_map_pointer().
12742
12743 2015-05-19 Jakub Jelinek <jakub@redhat.com>
12744
12745 PR middle-end/66199
12746 * testsuite/libgomp.c/pr66199-1.c: New test.
12747 * testsuite/libgomp.c/pr66199-2.c: New test.
12748 * testsuite/libgomp.c++/pr66199-1.C: New test.
12749 * testsuite/libgomp.c++/pr66199-2.C: New test.
12750 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
12751 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
12752
12753 2015-05-19 Julian Brown <julian@codesourcery.com>
12754
12755 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12756 on cuInit failure.
12757
12758 2015-05-13 Jakub Jelinek <jakub@redhat.com>
12759
12760 PR middle-end/66133
12761 * testsuite/libgomp.c/pr66133.c: New test.
12762
12763 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
12764
12765 * Makefile.in: Regenerated with automake-1.11.6.
12766 * aclocal.m4: Likewise.
12767 * config.h.in: Likewise.
12768 * configure: Likewise.
12769 * testsuite/Makefile.in: Likewise.
12770
12771 2015-05-08 Jason Merrill <jason@redhat.com>
12772
12773 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12774 _Complex.
12775
12776 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12777
12778 2015-05-06 Julian Brown <julian@codesourcery.com>
12779
12780 * oacc-init.c (acc_device_lock): Add explanatory comment.
12781 (resolve_device): Add comment about locking requirement.
12782 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
12783 gomp_init_device and gomp_fini_device calls.
12784 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12785 (acc_get_device_num, acc_set_device_num): Add locking around
12786 resolve_device and gomp_init_device calls.
12787
12788 2015-05-06 Julian Brown <julian@codesourcery.com>
12789
12790 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
12791 goacc_thread_lock on error paths.
12792 * oacc-mem.c (lookup_host): Remove locking from function. Note
12793 locking requirement for caller in function comment.
12794 (lookup_dev): Likewise.
12795 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
12796 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
12797 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
12798 Add locking.
12799
12800 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
12801
12802 PR testsuite/65205
12803 PR libgomp/65993
12804 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12805 don't expect "0x" prefix for "%p" format specifier, don't expect
12806 "(nil)" for NULL pointer.
12807 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12808 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12809 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12810 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12811 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12812 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12813 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12814 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12815 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12816 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12817 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12818 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12819 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12820 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12821 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12822 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12823 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12824 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12825 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12826 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12827 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12828 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12829 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12830 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12831 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12832 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12833 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12834 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12835 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12836 accurately specify what we're looking for.
12837 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12838 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12839 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12840 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12841 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12842
12843 2015-04-30 James Norris <jnorris@codesourcery.com>
12844
12845 PR testsuite/65205
12846 * testsuite/lib/libgomp.exp
12847 (check_effective_target_openacc_host_selected)
12848 (check_effective_target_openacc_host_nonshm_selected): New
12849 procedures.
12850 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12851 dg-shouldfail.
12852 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12853 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12854 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12855 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12856 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12857 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12858 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12859 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12860 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12861 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12862 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12863 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12864 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12865 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12866 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12867 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12868 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12869 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12870 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12871 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12872 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12873 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12874 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12875 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12876 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12877 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12878 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12879 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12880 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12881 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12882 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12883 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12884 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12885 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12886 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12887 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12888 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12889 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12890 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12891 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12892 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12893 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12894 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12895
12896 2015-04-08 Julian Brown <julian@codesourcery.com>
12897
12898 * libgomp.h (target_mem_desc: Remove mem_map field.
12899 (acc_dispatch_t): Remove open_device_func, close_device_func,
12900 get_device_num_func, set_device_num_func, target_data members.
12901 Change create_thread_data_func argument to device number instead of
12902 generic pointer.
12903 * oacc-async.c (assert.h): Include.
12904 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12905 (acc_wait_all, acc_wait_all_async): Use current host thread's
12906 active device, not base_dev.
12907 * oacc-cuda.c (acc_get_current_cuda_device)
12908 (acc_get_current_cuda_context, acc_get_cuda_stream)
12909 (acc_set_cuda_stream): Likewise.
12910 * oacc-host.c (host_dispatch): Don't set open_device_func,
12911 close_device_func, get_device_num_func or set_device_num_func.
12912 * oacc-init.c (base_dev, init_key): Remove.
12913 (cached_base_dev): New.
12914 (name_of_acc_device_t): New.
12915 (acc_init_1): Initialise default-numbered device, not zeroth.
12916 (acc_shutdown_1): Close all devices of a given type.
12917 (goacc_destroy_thread): Don't use base_dev.
12918 (lazy_open, lazy_init, lazy_init_and_open): Remove.
12919 (goacc_attach_host_thread_to_device): New.
12920 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
12921 (acc_get_num_devices): Don't use base_dev.
12922 (acc_set_device_type): Reimplement.
12923 (acc_get_device_type): Don't use base_dev.
12924 (acc_get_device_num): Tweak logic.
12925 (acc_set_device_num): Likewise.
12926 (acc_on_device): Use acc_get_device_type.
12927 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
12928 (goacc_lazy_initialize): Reimplement with acc_init and
12929 goacc_attach_host_thread_to_device.
12930 * oacc-int.h (goacc_thread): Add base_dev field.
12931 (base_dev): Remove extern declaration.
12932 (goacc_attach_host_thread_to_device): Add prototype.
12933 * oacc-mem.c (acc_malloc): Use current thread's device instead of
12934 base_dev.
12935 (acc_free): Likewise.
12936 (acc_memcpy_to_device): Likewise.
12937 (acc_memcpy_from_device): Likewise.
12938 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
12939 goacc_lazy_initialize (throughout).
12940 (GOACC_parallel): Use tgt_offset to locate target functions.
12941 * target.c (gomp_map_vars): Don't set tgt->mem_map.
12942 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
12943 (gomp_load_plugin_for_device): Remove open_device, close_device,
12944 get_device_num, set_device_num openacc hook initialisation. Don't set
12945 openacc.target_data.
12946 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
12947 (GOMP_OFFLOAD_openacc_close_device)
12948 (GOMP_OFFLOAD_openacc_get_device_num)
12949 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
12950 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
12951 to int.
12952 * plugin/plugin-nvptx.c (ptx_inited): Remove.
12953 (instantiated_devices, ptx_dev_lock): New.
12954 (struct ptx_image_data): New.
12955 (ptx_devices, ptx_images, ptx_image_lock): New.
12956 (fini_streams_for_device): Reorder cuStreamDestroy call.
12957 (nvptx_get_num_devices): Remove forward declaration.
12958 (nvptx_init): Change return type to bool.
12959 (nvptx_fini): Remove.
12960 (nvptx_attach_host_thread_to_device): New.
12961 (nvptx_open_device): Return struct ptx_device* instead of void*.
12962 (nvptx_close_device): Change argument type to struct ptx_device*,
12963 return type to void.
12964 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
12965 (kernel_target_data, kernel_host_table): Remove static globals.
12966 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
12967 (GOMP_OFFLOAD_init_device): Reimplement.
12968 (GOMP_OFFLOAD_fini_device): Likewise.
12969 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
12970 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
12971 (GOMP_OFFLOAD_host2dev): Use ORD argument.
12972 (GOMP_OFFLOAD_openacc_open_device)
12973 (GOMP_OFFLOAD_openacc_close_device)
12974 (GOMP_OFFLOAD_openacc_set_device_num)
12975 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
12976 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
12977 (device number).
12978
12979 testsuite/
12980 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
12981
12982 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
12983
12984 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
12985 * libgomp.h (struct gomp_memory_mapping): Remove.
12986 (struct target_mem_desc): Change type of mem_map from
12987 gomp_memory_mapping * to splay_tree_s *.
12988 (struct gomp_device_descr): Remove register_image_func, get_table_func.
12989 Add load_image_func, unload_image_func.
12990 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
12991 Remove offload_regions_registered.
12992 (gomp_init_tables): Remove.
12993 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12994 to splay_tree_s *.
12995 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
12996 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
12997 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
12998 offload_regions_registered.
12999 Initialize load_image_func, unload_image_func, mem_map.root.
13000 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
13001 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
13002 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
13003 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
13004 gomp_memory_mapping *. Use dev's lock and splay_tree.
13005 (lookup_dev): Use dev's lock.
13006 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
13007 (acc_is_present): Likewise.
13008 (acc_map_data): Likewise.
13009 (acc_unmap_data): Likewise. Use dev's lock.
13010 (present_create_copy): Likewise.
13011 (delete_copyout): Pass dev to lookup_host instead of mem_map.
13012 (update_dev_host): Likewise.
13013 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
13014 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
13015 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
13016 (GOMP_OFFLOAD_get_table): Remove
13017 (GOMP_OFFLOAD_load_image): New function.
13018 (GOMP_OFFLOAD_unload_image): New function.
13019 * target.c (register_lock): New mutex for offload image registration.
13020 (num_devices): Do not guard with PLUGIN_SUPPORT.
13021 (gomp_realloc_unlock): New static function.
13022 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
13023 before gomp_fatal.
13024 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
13025 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
13026 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
13027 mem_map's.
13028 (gomp_unmap_vars): Likewise.
13029 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
13030 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
13031 (gomp_offload_image_to_device): New static function.
13032 (GOMP_offload_register): Add mutex lock.
13033 Call gomp_offload_image_to_device for all initialized devices.
13034 Replace gomp_realloc with gomp_realloc_unlock.
13035 (GOMP_offload_unregister): New function.
13036 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
13037 get_table_func from the plugin with calls to init_device_func and
13038 gomp_offload_image_to_device.
13039 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
13040 to splay_tree_s *.
13041 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
13042 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
13043 (GOMP_target_data): Do not call gomp_init_tables.
13044 (GOMP_target_update): Likewise. Remove argument from gomp_update.
13045 (gomp_load_plugin_for_device): Replace register_image and get_table
13046 with load_image and unload_image in DLSYM ().
13047 (gomp_register_images_for_device): Remove function.
13048 (gomp_target_init): Do not initialize current_device.mem_map.*,
13049 current_device.offload_regions_registered.
13050 Remove call to gomp_register_images_for_device.
13051 Do not free offload_images and num_offload_images.
13052
13053 2015-03-30 Jakub Jelinek <jakub@redhat.com>
13054
13055 PR fortran/65597
13056 * testsuite/libgomp.fortran/pr65597.f90: New test.
13057
13058 2015-03-27 Tom de Vries <tom@codesourcery.com>
13059
13060 PR testsuite/65594
13061 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
13062 (init, check): New function.
13063 (foo): Change return type to void.
13064 (main): Call init and check.
13065
13066 2015-03-27 Tom de Vries <tom@codesourcery.com>
13067
13068 PR testsuite/65594
13069 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
13070 (foo): Use M for non-inner loops to scale down test-case.
13071
13072 2015-03-25 Kai Tietz <ktietz@redhat.com>
13073
13074 PR libgomp/64972
13075 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
13076 (GOACC_data_start): Likewise.
13077 * target.c (gomp_map_vars): Likewise.
13078
13079 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
13080
13081 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
13082 hppa*-*-hpux*.
13083
13084 2015-03-19 Jakub Jelinek <jakub@redhat.com>
13085
13086 * testsuite/libgomp.c/target-10.c: New test.
13087 * testsuite/libgomp.c++/target-4.C: New test.
13088
13089 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
13090
13091 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
13092 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
13093
13094 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
13095
13096 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
13097 * configure.ac (*-*-rtems*): Assume Pthread is supported.
13098 (pthread.h): Check for this header file.
13099 * configure: Regenerate.
13100
13101 2015-02-25 Tom de Vries <tom@codesourcery.com>
13102
13103 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
13104 (check_reduction_op, check_reduction_macro, max, min):
13105 Declare.
13106 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
13107 function.
13108 (main): Use new functions.
13109
13110 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
13111
13112 * target.c (gomp_load_plugin_for_device): Use const char * instead of
13113 char * for variables holding dlerror return values.
13114 (DLSYM_OPT): Ditto.
13115
13116 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
13117
13118 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
13119
13120 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
13121 Cesar Philippidis <cesar@codesourcery.com>
13122
13123 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
13124 GOACC_ctaid, and GOACC_nctaid routines.
13125
13126 2015-02-11 Jakub Jelinek <jakub@redhat.com>
13127
13128 PR c/64824
13129 * testsuite/libgomp.c/atomic-18.c: New test.
13130 * testsuite/libgomp.c++/atomic-16.C: New test.
13131
13132 2015-02-04 Jakub Jelinek <jakub@redhat.com>
13133
13134 PR c/64824
13135 PR c/64868
13136 * testsuite/libgomp.c/pr64824.c: New test.
13137 * testsuite/libgomp.c/pr64868.c: New test.
13138 * testsuite/libgomp.c++/pr64824.C: New test.
13139 * testsuite/libgomp.c++/pr64868.C: New test.
13140
13141 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
13142
13143 PR libgomp/64635
13144 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
13145 Link with -lpthread.
13146 * config/aix/plugin-suffix.h: Delete.
13147
13148 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
13149
13150 PR libgomp/64635
13151 * configure.tgt (*-*-aix*): Use config_path "aix posix".
13152 (*-*-darwin*): Use config_path "bsd darwin posix".
13153 (*-*-hpux*): Use config_path "hpux posix".
13154 * target.c: Add include of plugin-suffix.h and use
13155 SONAME_SUFFIX macro.
13156 * config/aix/plugin-suffix.h: New file.
13157 * config/darwin/plugin-suffix.h: New file.
13158 * config/hpux/plugin-suffix.h: New file.
13159 * config/posix/plugin-suffix.h: New file.
13160
13161 2015-01-23 Jakub Jelinek <jakub@redhat.com>
13162
13163 PR middle-end/64734
13164 * libgomp.c/pr64734.c: New test.
13165
13166 2015-01-23 Tom de Vries <tom@codesourcery.com>
13167
13168 PR libgomp/64672
13169 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
13170
13171 2015-01-23 Tom de Vries <tom@codesourcery.com>
13172
13173 PR libgomp/64707
13174 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
13175 dg-options.
13176
13177 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
13178
13179 PR libgomp/64625
13180 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
13181 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
13182 formal parameter. Update all users.
13183 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
13184 Document unused formal parameter.
13185
13186 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
13187
13188 * oacc-parallel.c: Don't include <alloca.h>.
13189 (GOACC_parallel): Use gomp_alloca instead of alloca.
13190
13191 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
13192
13193 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
13194
13195 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
13196 James Norris <jnorris@codesourcery.com>
13197 Tom de Vries <tom@codesourcery.com>
13198 Julian Brown <julian@codesourcery.com>
13199 Cesar Philippidis <cesar@codesourcery.com>
13200 Nathan Sidwell <nathan@codesourcery.com>
13201 Tobias Burnus <burnus@net-b.de>
13202
13203 * Makefile.am (search_path): Add $(top_srcdir)/../include.
13204 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
13205 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
13206 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
13207 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
13208 Include $(top_srcdir)/plugin/Makefrag.am.
13209 (nodist_libsubinclude_HEADERS): Add openacc.h.
13210 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
13211 openacc.f90, openacc.mod, openacc_kinds.mod.
13212 (omp_lib.mod): Generalize into...
13213 (%.mod): ... this new rule.
13214 (openacc_kinds.mod, openacc.mod): New rules.
13215 * plugin/configfrag.ac: New file.
13216 * configure.ac: Move plugin/offloading support into it. Include
13217 it. Instantiate testsuite/libgomp-test-support.pt.exp.
13218 * plugin/Makefrag.am: New file.
13219 * testsuite/Makefile.am (OFFLOAD_TARGETS)
13220 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
13221 export.
13222 (libgomp-test-support.exp): New rule.
13223 (all-local): Depend on it.
13224 * Makefile.in: Regenerate.
13225 * testsuite/Makefile.in: Regenerate.
13226 * config.h.in: Likewise.
13227 * configure: Likewise.
13228 * configure.tgt: Harden shell syntax.
13229 * env.c: Include "oacc-int.h".
13230 (parse_acc_device_type): New function.
13231 (gomp_debug_var, goacc_device_type, goacc_device_num): New
13232 variables.
13233 (initialize_env): Initialize those. Call
13234 goacc_runtime_initialize.
13235 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
13236 (gomp_fatal): Call gomp_vfatal.
13237 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
13238 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
13239 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
13240 (splay_tree_node, splay_tree, splay_tree_key)
13241 (struct target_mem_desc, struct splay_tree_key_s)
13242 (struct gomp_memory_mapping, struct acc_dispatch_t)
13243 (struct gomp_device_descr, gomp_acc_insert_pointer)
13244 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
13245 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
13246 (gomp_free_memmap, gomp_fini_device): New declarations.
13247 (gomp_vdebug, gomp_debug): New macros.
13248 Include "splay-tree.h".
13249 * libgomp.map (OACC_2.0): New symbol version. Use for
13250 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
13251 acc_set_device_type_h_, acc_get_device_type,
13252 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
13253 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
13254 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
13255 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
13256 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
13257 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
13258 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
13259 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
13260 acc_copyin_array_h_, acc_present_or_copyin,
13261 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
13262 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
13263 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
13264 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
13265 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
13266 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
13267 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
13268 acc_update_device, acc_update_device_32_h_,
13269 acc_update_device_64_h_, acc_update_device_array_h_,
13270 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
13271 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
13272 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
13273 acc_is_present_64_h_, acc_is_present_array_h_,
13274 acc_memcpy_to_device, acc_memcpy_from_device,
13275 acc_get_current_cuda_device, acc_get_current_cuda_context,
13276 acc_get_cuda_stream, acc_set_cuda_stream.
13277 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
13278 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
13279 GOACC_update, GOACC_wait, GOACC_get_thread_num,
13280 GOACC_get_num_threads.
13281 (GOMP_PLUGIN_1.0): New symbol version. Use for
13282 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
13283 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
13284 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
13285 GOMP_PLUGIN_acc_thread.
13286 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
13287 environment variable.
13288 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
13289 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
13290 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
13291 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
13292 (splay_tree_remove): New declarations.
13293 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
13294 (splay_tree_remove, splay_tree_lookup): Move into...
13295 * splay-tree.c: ... this new file.
13296 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
13297 (splay_tree_node, splay_tree, splay_tree_key)
13298 (struct target_mem_desc, struct splay_tree_key_s)
13299 (struct gomp_device_descr): Don't declare.
13300 (num_devices_openmp): New variable.
13301 (gomp_get_num_devices ): Use it.
13302 (gomp_init_targets_once): New function.
13303 (gomp_get_num_devices ): Use it.
13304 (get_kind, gomp_copy_from_async, gomp_free_memmap)
13305 (gomp_fini_device, gomp_register_image_for_device): New functions.
13306 (gomp_map_vars): Add devaddrs parameter.
13307 (gomp_update): Add mm parameter.
13308 (gomp_init_device): Move most of it into...
13309 (gomp_init_tables): ... this new function.
13310 (gomp_register_images_for_device): Remove function.
13311 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
13312 Make them hidden instead of static.
13313 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
13314 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
13315 (GOMP_target_end_data, GOMP_target_update)
13316 (gomp_load_plugin_for_device, gomp_target_init): Update for
13317 OpenACC changes.
13318 * oacc-async.c: New file.
13319 * oacc-cuda.c: Likewise.
13320 * oacc-host.c: Likewise.
13321 * oacc-init.c: Likewise.
13322 * oacc-int.h: Likewise.
13323 * oacc-mem.c: Likewise.
13324 * oacc-parallel.c: Likewise.
13325 * oacc-plugin.c: Likewise.
13326 * oacc-plugin.h: Likewise.
13327 * oacc-ptx.h: Likewise.
13328 * openacc.f90: Likewise.
13329 * openacc.h: Likewise.
13330 * openacc_lib.h: Likewise.
13331 * plugin/plugin-host.c: Likewise.
13332 * plugin/plugin-nvptx.c: Likewise.
13333 * libgomp-plugin.c: Likewise.
13334 * libgomp-plugin.h: Likewise.
13335 * libgomp_target.h: Remove file after merging content into the
13336 former file. Update all users.
13337 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
13338 (offload_targets_s, offload_targets_s_openacc): New variables.
13339 (check_effective_target_openacc_nvidia_accel_present)
13340 (check_effective_target_openacc_nvidia_accel_selected): New
13341 procedures.
13342 (libgomp_init): Update for OpenACC changes.
13343 * testsuite/libgomp-test-support.exp.in: New file.
13344 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
13345 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13346 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
13347 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
13348 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
13349 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
13350 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
13351 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
13352 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13353 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
13354 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
13355 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
13356 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
13357 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
13358 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
13359 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
13360 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
13361 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
13362 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
13363 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
13364 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
13365 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
13366 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13367 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
13368 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
13369 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
13370 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
13371 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
13372 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
13373 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
13374 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
13375 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13376 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13377 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
13378 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
13379 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
13380 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
13381 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
13382 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
13383 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
13384 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13385 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13386 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13387 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13388 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13389 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
13390 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
13391 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13392 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13393 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13394 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13395 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13396 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13397 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
13398 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
13399 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13400 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13401 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
13402 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13403 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
13404 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
13405 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
13406 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13407 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
13408 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
13409 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
13410 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
13411 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
13412 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
13413 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
13414 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
13415 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13416 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13417 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13418 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
13419 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
13420 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13421 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13422 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
13423 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
13424 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
13425 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
13426 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13427 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13428 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13429 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
13430 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
13431 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
13432 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
13433 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
13434 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
13435 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
13436 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
13437 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
13438 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
13439 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
13440 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
13441 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
13442 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
13443 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
13444 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
13445 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
13446 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
13447 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
13448 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
13449 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
13450 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
13451 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
13452 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
13453 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
13454 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
13455 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
13456 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
13457 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
13458 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
13459 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
13460 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
13461 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
13462 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
13463 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
13464 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
13465 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
13466 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
13467 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
13468 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
13469 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
13470 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
13471 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
13472 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
13473 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
13474 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
13475 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
13476 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
13477 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
13478 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
13479 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13480 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13481 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13482 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13483 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
13484 Likewise.
13485 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
13486 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
13487 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
13488 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13489 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
13490 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
13491 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
13492 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
13493 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
13494 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
13495 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13496 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13497 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13498 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
13499 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
13500 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
13501 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
13502 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
13503 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
13504 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
13505 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
13506 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
13507 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
13508 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
13509 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
13510 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
13511 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
13512 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
13513 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
13514 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
13515 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
13516 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
13517 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
13518 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
13519 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
13520 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
13521 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
13522 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
13523 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
13524 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
13525 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
13526 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
13527 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
13528 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
13529 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
13530 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
13531 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
13532 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
13533 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
13534 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13535 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13536 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13537 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13538 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13539 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
13540 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
13541 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
13542 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
13543 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
13544 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
13545
13546 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
13547 Julian Brown <julian@codesourcery.com>
13548 David Malcolm <dmalcolm@redhat.com>
13549
13550 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
13551 to "GNU Offloading and Multi Processing Runtime Library". Change
13552 all users.
13553 * configure: Regenerate.
13554 * libgomp.texi: Update.
13555
13556 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
13557
13558 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
13559 "$tgt_dir/lib32".
13560 * configure: Regenerate.
13561
13562 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
13563 "intelmic" in $offload_targets.
13564
13565 2015-01-05 Jakub Jelinek <jakub@redhat.com>
13566
13567 Update copyright years.
13568
13569 * libgomp.texi: Bump @copying's copyright year.
13570
13571 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13572
13573 * testsuite/lib/libgomp.exp: Load target-utils.exp.
13574 Move load of target-supports.exp earlier.
13575
13576 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
13577
13578 * testsuite/libgomp.c/target-9.c: New test.
13579
13580 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
13581
13582 * config.h.in: Regenerate.
13583 * configure: Regenerate.
13584 * configure.ac: Add GCC_CHECK_EMUTLS.
13585 * libgomp.h: Add check for USE_EMUTLS: this case
13586 is equal to HAVE_TLS.
13587 * team.c: Likewise.
13588
13589 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
13590
13591 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
13592
13593 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
13594 Ilya Verbin <ilya.verbin@intel.com>
13595
13596 * testsuite/libgomp.c/target-critical-1.c: New test.
13597
13598 2014-11-26 Jakub Jelinek <jakub@redhat.com>
13599
13600 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
13601 to dg-options unless expensive testing is on.
13602 (TESTITERS): Define to N if not defined.
13603 (main): Use TESTITERS instead of N.
13604 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
13605 dg-additional-options depending on whether expensive testing is on.
13606 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
13607 Decrease N to 100000 and CHUNKSZ to 10000.
13608
13609 2014-11-24 Jakub Jelinek <jakub@redhat.com>
13610
13611 PR fortran/63938
13612 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
13613 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
13614
13615 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
13616
13617 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
13618
13619 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
13620
13621 PR bootstrap/63784
13622 * configure: Regenerated.
13623
13624 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
13625
13626 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
13627 vect_simd_clones effective target.
13628 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13629
13630 2014-11-14 Jakub Jelinek <jakub@redhat.com>
13631
13632 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
13633 of 32 as block_size.
13634 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
13635 instead of 32 as block_size.
13636
13637 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
13638 Ilya Verbin <ilya.verbin@intel.com>
13639
13640 * Makefile.in: Regenerate.
13641 * configure: Regenerate.
13642 * configure.ac: Set up offload_additional_options,
13643 offload_additional_lib_paths and offload_targets.
13644 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
13645 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
13646 * testsuite/Makefile.in: Regenerate.
13647 * testsuite/lib/libgomp.exp (libgomp_init): Append
13648 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
13649 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
13650 build directory to LD_LIBRARY_PATH for intelmic offload targets.
13651
13652 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
13653 Ilya Verbin <ilya.verbin@intel.com>
13654 Kirill Yukhin <kirill.yukhin@intel.com>
13655 Ilya Tocar <ilya.tocar@intel.com>
13656
13657 * testsuite/lib/libgomp.exp
13658 (check_effective_target_offload_device): New.
13659 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
13660 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
13661 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
13662 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
13663 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
13664 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
13665 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
13666 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
13667 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
13668 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
13669 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
13670 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
13671 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
13672 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
13673 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
13674 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
13675 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
13676 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
13677 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
13678 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
13679 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
13680 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
13681 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
13682 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
13683 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
13684 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
13685 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
13686 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
13687 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
13688 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
13689 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
13690 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
13691 * testsuite/libgomp.c/target-7.c: Fix test.
13692 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
13693 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
13694 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
13695 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
13696 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
13697 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
13698 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
13699 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
13700 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
13701 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
13702 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
13703 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
13704 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
13705 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
13706 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
13707 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
13708 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
13709 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
13710 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13711 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
13712 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
13713 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
13714 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
13715 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
13716 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
13717 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
13718 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
13719 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
13720 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
13721 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
13722 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
13723
13724 2014-11-13 Jakub Jelinek <jakub@redhat.com>
13725 Ilya Verbin <ilya.verbin@intel.com>
13726 Thomas Schwinge <thomas@codesourcery.com>
13727 Andrey Turetskiy <andrey.turetskiy@intel.com>
13728
13729 * libgomp.map (GOMP_4.0.1): New symbol version.
13730 Add GOMP_offload_register.
13731 * libgomp_target.h: New file.
13732 * splay-tree.h: New file.
13733 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
13734 (gomp_target_init): New forward declaration.
13735 (gomp_is_initialized): New static variable.
13736 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
13737 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
13738 New structures.
13739 (offload_images, num_offload_images, devices, num_devices): New static
13740 variables.
13741 (splay_compare): New static function.
13742 (struct gomp_device_descr): New structure.
13743 (gomp_get_num_devices): Call gomp_target_init.
13744 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
13745 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
13746 (GOMP_offload_register): New function.
13747 (GOMP_target): Arrange for host callback to be performed in a separate
13748 initial thread and contention group, inheriting ICVs from
13749 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
13750 Add device initialization and lookup for target function in splay tree.
13751 (GOMP_target_data): Add device initialization and call gomp_map_vars.
13752 (GOMP_target_end_data): Call gomp_unmap_vars.
13753 (GOMP_target_update): Add device initialization and call gomp_update.
13754 (gomp_load_plugin_for_device, gomp_register_images_for_device)
13755 (gomp_target_init): New static functions.
13756
13757 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
13758 Thomas Schwinge <thomas@codesourcery.com>
13759 Ilya Verbin <ilya.verbin@intel.com>
13760 Andrey Turetskiy <andrey.turetskiy@intel.com>
13761
13762 * config.h.in: Regenerate.
13763 * configure: Regenerate.
13764 * configure.ac: Check for libdl, required for plugin support.
13765 (PLUGIN_SUPPORT): Define if plugins are supported.
13766 (enable_offload_targets): Support Intel MIC targets.
13767 (OFFLOAD_TARGETS): List of target names suitable for offloading.
13768
13769 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13770
13771 PR target/63610
13772 * configure: Regenerate.
13773
13774 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13775
13776 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13777
13778 2014-10-06 Marek Polacek <polacek@redhat.com>
13779
13780 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
13781 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
13782 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
13783 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13784
13785 2014-10-06 Marek Polacek <polacek@redhat.com>
13786
13787 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
13788 * testsuite/libgomp.c/nqueens-1.c: Likewise.
13789 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13790 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13791 * testsuite/libgomp.c/pr36802-2.c: Likewise.
13792 * testsuite/libgomp.c/pr36802-3.c: Likewise.
13793 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
13794 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13795 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
13796 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
13797 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
13798 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13799 * testsuite/libgomp.c/omp-single-1.c: Likewise.
13800 * testsuite/libgomp.c/omp-single-2.c: Likewise.
13801 * testsuite/libgomp.c/omp_matvec.c: Likewise.
13802 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
13803 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
13804 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
13805 declarations.
13806
13807 2014-10-03 Jakub Jelinek <jakub@redhat.com>
13808
13809 PR libgomp/61200
13810 * testsuite/libgomp.c/pr61200.c: New test.
13811
13812 2014-09-18 Jakub Jelinek <jakub@redhat.com>
13813
13814 PR c++/63248
13815 * testsuite/libgomp.c++/pr63248.C: New test.
13816
13817 2014-08-04 Jakub Jelinek <jakub@redhat.com>
13818
13819 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
13820 is not zero, but taskgroup->children is NULL and there are
13821 any task->children, schedule those instead of waiting.
13822 * testsuite/libgomp.c/depend-6.c: New test.
13823 * testsuite/libgomp.c/depend-7.c: New test.
13824 * testsuite/libgomp.c/depend-8.c: New test.
13825 * testsuite/libgomp.c/depend-9.c: New test.
13826 * testsuite/libgomp.c/depend-10.c: New test.
13827
13828 2014-08-01 Jakub Jelinek <jakub@redhat.com>
13829
13830 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13831 (struct gomp_taskwait): New type.
13832 (struct gomp_task): Add taskwait and parent_depends_on, remove
13833 in_taskwait and taskwait_sem fields.
13834 (gomp_finish_task): Don't destroy taskwait_sem.
13835 * task.c (gomp_init_task): Don't init in_taskwait, instead init
13836 taskwait and parent_depends_on.
13837 (GOMP_task): For if (0) tasks with depend clause that depend on
13838 earlier tasks don't defer them, instead call
13839 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13840 Initialize redundant_out field, for redundant out entries just
13841 move them at the end of linked list instead of removing them
13842 completely, and set redundant_out flag instead of redundant.
13843 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
13844 that task.
13845 (gomp_task_run_post_handle_dependers): If parent is in
13846 gomp_task_maybe_wait_for_dependencies and newly runnable task
13847 is not parent_depends_on, queue it in parent->children linked
13848 list after all runnable tasks with parent_depends_on set.
13849 Adjust for addition of taskwait indirection.
13850 (gomp_task_run_post_remove_parent): If parent is in
13851 gomp_task_maybe_wait_for_dependencies and task to be removed
13852 is parent_depends_on, decrement n_depend and if needed awake
13853 parent. Adjust for addition of taskwait indirection.
13854 (GOMP_taskwait): Adjust for addition of taskwait indirection.
13855 (gomp_task_maybe_wait_for_dependencies): New function.
13856 * testsuite/libgomp.c/depend-5.c: New test.
13857
13858 2014-07-13 Tobias Burnus <burnus@net-b.de>
13859
13860 * testsuite/libgomp.fortran/pr34020.f90: Make compile
13861 with TS 18508/Fortran 2015.
13862
13863 2014-07-06 Marek Polacek <polacek@redhat.com>
13864
13865 PR c/6940
13866 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13867
13868 2014-07-03 Jakub Jelinek <jakub@redhat.com>
13869
13870 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13871 matches regex $lang_source_re, add $lang_include_flags to options.
13872 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13873 * testsuite/libgomp.c++/c++.exp: Likewise.
13874 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
13875 and lang_include_flags instead of adding -fintrinsic-modules-path= to
13876 ALWAYS_CFLAGS.
13877 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13878
13879 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
13880
13881 * testsuite/libgomp.fortran/fortran.exp: Explain
13882 gfortran-dg-runtest usage.
13883
13884 2014-06-25 Jakub Jelinek <jakub@redhat.com>
13885
13886 * testsuite/libgomp.fortran/simd5.f90: New test.
13887 * testsuite/libgomp.fortran/simd6.f90: New test.
13888 * testsuite/libgomp.fortran/simd7.f90: New test.
13889
13890 2014-06-24 Jakub Jelinek <jakub@redhat.com>
13891
13892 * testsuite/libgomp.c/for-2.c: Define SC to static for
13893 #pragma omp for simd testing.
13894 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13895 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13896 SC macro.
13897 * testsuite/libgomp.c/simd-14.c: New test.
13898 * testsuite/libgomp.c/simd-15.c: New test.
13899 * testsuite/libgomp.c/simd-16.c: New test.
13900 * testsuite/libgomp.c/simd-17.c: New test.
13901 * testsuite/libgomp.c++/for-10.C: Define SC to static for
13902 #pragma omp for simd testing.
13903 * testsuite/libgomp.c++/simd10.C: New test.
13904 * testsuite/libgomp.c++/simd11.C: New test.
13905 * testsuite/libgomp.c++/simd12.C: New test.
13906 * testsuite/libgomp.c++/simd13.C: New test.
13907
13908 * testsuite/libgomp.fortran/aligned1.f03: New test.
13909 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
13910 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13911 tasks with !$omp parallel !$omp single.
13912 * testsuite/libgomp.fortran/target8.f90: New test.
13913 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13914 not to use trim in the combiner, instead call elemental function.
13915 (fn): New elemental function.
13916 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13917 Make elemental.
13918 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13919 omp_in): Likewise.
13920 * testsuite/libgomp.fortran/udr12.f90: New test.
13921 * testsuite/libgomp.fortran/udr13.f90: New test.
13922 * testsuite/libgomp.fortran/udr14.f90: New test.
13923 * testsuite/libgomp.fortran/udr15.f90: New test.
13924
13925 2014-06-18 Jakub Jelinek <jakub@redhat.com>
13926
13927 * omp_lib.f90.in (openmp_version): Set to 201307.
13928 * omp_lib.h.in (openmp_version): Likewise.
13929 * testsuite/libgomp.c/target-8.c: New test.
13930 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
13931 and inbranch clauses.
13932 * testsuite/libgomp.fortran/depend-3.f90: New test.
13933 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
13934 openmp_version.
13935 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13936 * testsuite/libgomp.fortran/target1.f90: New test.
13937 * testsuite/libgomp.fortran/target2.f90: New test.
13938 * testsuite/libgomp.fortran/target3.f90: New test.
13939 * testsuite/libgomp.fortran/target4.f90: New test.
13940 * testsuite/libgomp.fortran/target5.f90: New test.
13941 * testsuite/libgomp.fortran/target6.f90: New test.
13942 * testsuite/libgomp.fortran/target7.f90: New test.
13943
13944 2014-06-10 Jakub Jelinek <jakub@redhat.com>
13945
13946 PR fortran/60928
13947 * testsuite/libgomp.fortran/allocatable9.f90: New test.
13948 * testsuite/libgomp.fortran/allocatable10.f90: New test.
13949 * testsuite/libgomp.fortran/allocatable11.f90: New test.
13950 * testsuite/libgomp.fortran/allocatable12.f90: New test.
13951 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
13952 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
13953 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
13954 * testsuite/libgomp.fortran/associate1.f90: New test.
13955 * testsuite/libgomp.fortran/associate2.f90: New test.
13956 * testsuite/libgomp.fortran/procptr1.f90: New test.
13957
13958 2014-06-06 Jakub Jelinek <jakub@redhat.com>
13959
13960 * testsuite/libgomp.fortran/simd1.f90: New test.
13961 * testsuite/libgomp.fortran/udr1.f90: New test.
13962 * testsuite/libgomp.fortran/udr2.f90: New test.
13963 * testsuite/libgomp.fortran/udr3.f90: New test.
13964 * testsuite/libgomp.fortran/udr4.f90: New test.
13965 * testsuite/libgomp.fortran/udr5.f90: New test.
13966 * testsuite/libgomp.fortran/udr6.f90: New test.
13967 * testsuite/libgomp.fortran/udr7.f90: New test.
13968 * testsuite/libgomp.fortran/udr8.f90: New test.
13969 * testsuite/libgomp.fortran/udr9.f90: New test.
13970 * testsuite/libgomp.fortran/udr10.f90: New test.
13971 * testsuite/libgomp.fortran/udr11.f90: New test.
13972
13973 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
13974
13975 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
13976 vect_simd_clones effective target.
13977 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
13978
13979 2014-05-21 Jakub Jelinek <jakub@redhat.com>
13980
13981 PR middle-end/61252
13982 * testsuite/libgomp.c++/simd-9.C: New test.
13983
13984 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
13985
13986 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
13987 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
13988 texts according to their @menu entry positions.
13989
13990 2014-05-11 Jakub Jelinek <jakub@redhat.com>
13991
13992 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
13993 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
13994 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
13995 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
13996 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
13997 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
13998 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
13999 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
14000 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
14001 * testsuite/libgomp.fortran/depend-1.f90: New test.
14002 * testsuite/libgomp.fortran/depend-2.f90: New test.
14003 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
14004 * testsuite/libgomp.fortran/simd1.f90: New test.
14005 * testsuite/libgomp.fortran/simd2.f90: New test.
14006 * testsuite/libgomp.fortran/simd3.f90: New test.
14007 * testsuite/libgomp.fortran/simd4.f90: New test.
14008 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
14009
14010 2014-05-02 Jakub Jelinek <jakub@redhat.com>
14011
14012 * testsuite/libgomp.c/simd-10.c: New test.
14013 * testsuite/libgomp.c/simd-11.c: New test.
14014 * testsuite/libgomp.c/simd-12.c: New test.
14015 * testsuite/libgomp.c/simd-13.c: New test.
14016
14017 2014-04-24 Jakub Jelinek <jakub@redhat.com>
14018
14019 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
14020 atomic type clauses in any order and optional comma in between.
14021 * testsuite/libgomp.c++/atomic-15.C: Likewise.
14022 * testsuite/libgomp.c/atomic-17.c: Likewise.
14023
14024 * testsuite/libgomp.c/simd-7.c: New test.
14025 * testsuite/libgomp.c/simd-8.c: New test.
14026 * testsuite/libgomp.c/simd-9.c: New test.
14027 * testsuite/libgomp.c/loop-16.c: New test.
14028
14029 2014-04-02 Richard Henderson <rth@redhat.com>
14030
14031 * config/linux/futex.h (futex_wait): Get error value from errno.
14032 (futex_wake): Likewise.
14033
14034 2014-03-25 Jakub Jelinek <jakub@redhat.com>
14035
14036 PR c++/60331
14037 * testsuite/libgomp.c++/udr-11.C: New test.
14038 * testsuite/libgomp.c++/udr-12.C: New test.
14039 * testsuite/libgomp.c++/udr-13.C: New test.
14040 * testsuite/libgomp.c++/udr-14.C: New test.
14041 * testsuite/libgomp.c++/udr-15.C: New test.
14042 * testsuite/libgomp.c++/udr-16.C: New test.
14043 * testsuite/libgomp.c++/udr-17.C: New test.
14044 * testsuite/libgomp.c++/udr-18.C: New test.
14045 * testsuite/libgomp.c++/udr-19.C: New test.
14046
14047 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14048
14049 Update copyright years
14050
14051 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14052
14053 * hashtab.h: Use the standard form for the copyright notice.
14054
14055 2014-01-02 Tobias Burnus <burnus@net-b.de>
14056
14057 * libgomp.texi: Bump @copying's copyright year.
14058
14059 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
14060
14061 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
14062 alloca () with __builtin_alloca ().
14063 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
14064 * testsuite/libgomp.c/lock-3.c: Likewise.
14065 * testsuite/libgomp.c/pr48591.c: Likewise.
14066
14067 2013-12-17 Jakub Jelinek <jakub@redhat.com>
14068
14069 PR testsuite/59534
14070 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
14071 comparisons.
14072
14073 2013-12-16 Jakub Jelinek <jakub@redhat.com>
14074
14075 PR libgomp/58756
14076 * testsuite/libgomp.c/pr58756.c: New test.
14077
14078 2013-12-12 Jakub Jelinek <jakub@redhat.com>
14079
14080 PR libgomp/59467
14081 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
14082 !$omp parallel.
14083
14084 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
14085
14086 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
14087 ALWAYS_CFLAGS.
14088 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
14089 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
14090 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
14091 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
14092 Likewise.
14093
14094 * libgomp_g.h: Include <stddef.h> for size_t.
14095
14096 * libgomp.spec.in: Update comment about libgomp's dependencies.
14097 * configure.ac: Likewise.
14098 * configure: Regenerate.
14099
14100 2013-10-16 Tobias Burnus <burnus@net-b.de>
14101
14102 * libgomp.texi: (Runtime Library Routines): Update references for
14103 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
14104 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
14105 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
14106 (Environment Variables): Update references for OpenMP 4.0. Add
14107 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
14108 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
14109 order.
14110
14111 2013-10-14 Jakub Jelinek <jakub@redhat.com>
14112
14113 * env.c (parse_bind_var): Initialize value to avoid
14114 (false positive) warning.
14115
14116 2013-10-12 Jakub Jelinek <jakub@redhat.com>
14117
14118 PR libgomp/58691
14119 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
14120 to check variable.
14121 (gomp_init_num_threads): Move i variable declaration into
14122 #ifdef CPU_ALLOC_SIZE block.
14123 * config/linux/affinity.c (gomp_affinity_init_level): Test
14124 gomp_places_list_len == 0 rather than gomp_places_list == 0
14125 when checking for topology reading error.
14126 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
14127 * env.c (parse_affinity): Add ignore argument, if true, don't populate
14128 gomp_places_list, only parse env var and always return false.
14129 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
14130 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
14131 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
14132 and either of these variables were parsed correctly into a places
14133 list.
14134
14135 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
14136 Jakub Jelinek <jakub@redhat.com>
14137
14138 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
14139 of 5 loopfn matches.
14140 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14141 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14142 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
14143 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14144 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14145 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14146 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14147 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14148
14149 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
14150
14151 * Makefile.am (omp_lib.mod): Streamline rule.
14152 * Makefile.in: Regenerate.
14153
14154 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
14155 exceptions.
14156
14157 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
14158 * testsuite/libgomp.fortran/lib1.f90: Likewise.
14159 * testsuite/libgomp.fortran/lib2.f: Likewise.
14160 * testsuite/libgomp.fortran/lib3.f: Likewise.
14161
14162 * configure.ac: Typo fix.
14163 * configure: Regenerate.
14164
14165 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
14166 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
14167
14168 * omp.h.in: Don't touch the user's namespace.
14169
14170 2013-10-11 Jakub Jelinek <jakub@redhat.com>
14171 Tobias Burnus <burnus@net-b.de>
14172 Richard Henderson <rth@redhat.com>
14173
14174 * target.c: New file.
14175 * Makefile.am (libgomp_la_SOURCES): Add target.c.
14176 * Makefile.in: Regenerated.
14177 * libgomp_g.h (GOMP_task): Add depend argument.
14178 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
14179 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
14180 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
14181 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
14182 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
14183 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
14184 GOMP_taskgroup_start, GOMP_taskgroup_end,
14185 GOMP_parallel_sections): New prototypes.
14186 * fortran.c (omp_is_initial_device): Add ialias_redirect.
14187 (omp_is_initial_device_): New function.
14188 (ULP, STR1, STR2, ialias_redirect): Removed.
14189 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
14190 omp_set_default_device_8_, omp_get_default_device_,
14191 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
14192 functions.
14193 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
14194 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
14195 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
14196 @@GOMP_4.0.
14197 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
14198 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
14199 omp_set_default_device, omp_set_default_device_,
14200 omp_set_default_device_8_, omp_get_default_device,
14201 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
14202 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
14203 omp_get_team_num_): Export @@OMP_4.0.
14204 * team.c (struct gomp_thread_start_data): Add place field.
14205 (gomp_thread_start): Clear thr->thread_pool and
14206 thr->task before returning. Use gomp_team_barrier_wait_final
14207 instead of gomp_team_barrier_wait. Initialize thr->place.
14208 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
14209 team_cancelled and task_queued_count fields.
14210 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
14211 before calling pthread_exit.
14212 (gomp_free_thread): No longer static. Use
14213 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
14214 (gomp_team_start): Add flags argument. Set
14215 thr->thread_pool->threads_busy to nthreads immediately after creating
14216 new pool. Use gomp_managed_threads_lock instead of
14217 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
14218 (gomp_team_end): Use gomp_managed_threads_lock instead of
14219 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
14220 of gomp_team_barrier_wait. If team->team_cancelled, call
14221 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
14222 rather than thr->ts.work_share.
14223 (initialize_team): Don't call gomp_sem_init here.
14224 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
14225 caller.
14226 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
14227 * env.c (gomp_global_icv): Add default_device_var, target_data and
14228 bind_var initializers.
14229 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
14230 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
14231 gomp_places_list_len): New variables.
14232 (parse_bind_var, parse_one_place, parse_places_var): New functions.
14233 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
14234 sized places.
14235 (gomp_cancel_var): New global variable.
14236 (parse_int): New function.
14237 (handle_omp_display_env): New function.
14238 (initialize_env): Use it. Initialize default_device_var.
14239 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
14240 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
14241 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
14242 been successfully parsed (and call gomp_init_affinity in that case).
14243 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
14244 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
14245 omp_get_team_num, omp_is_initial_device): New functions.
14246 * libgomp.h: Include stdlib.h.
14247 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
14248 Define.
14249 (struct target_mem_desc): Forward declare.
14250 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
14251 and thread_limit_var fields.
14252 (gomp_get_num_devices): New prototype.
14253 (gomp_cancel_var): New extern decl.
14254 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
14255 team_cancelled and task_queued_count fields. Add comments about
14256 task_{,queued_,running_}count.
14257 (gomp_cancel_kind): New enum.
14258 (gomp_work_share_end_cancel): New prototype.
14259 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
14260 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
14261 and depend fields.
14262 (struct gomp_taskgroup): New type.
14263 (struct gomp_task_depend_entry,
14264 struct gomp_dependers_vec): New types.
14265 (gomp_finish_task): Free depend_hash if non-NULL.
14266 (struct gomp_team_state): Add place_partition_off
14267 and place_partition_len fields.
14268 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
14269 gomp_places_list_len): New extern decls.
14270 (struct gomp_thread): Add place field.
14271 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
14272 (gomp_init_thread_affinity): Add place argument.
14273 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
14274 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
14275 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
14276 gomp_affinity_init_level, gomp_affinity_print_place): New
14277 prototypes.
14278 (gomp_team_start): Add flags argument.
14279 (gomp_thread_limit_var, gomp_remaining_threads_count,
14280 gomp_remaining_threads_lock): Remove.
14281 (gomp_managed_threads_lock): New variable.
14282 (struct gomp_thread_pool): Add threads_busy field.
14283 (gomp_free_thread): New prototype.
14284 * task.c: Include hashtab.h.
14285 (hash_entry_type): New typedef.
14286 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
14287 (gomp_init_task): Clear dependers, depend_hash, depend_count,
14288 copy_ctors_done and taskgroup fields.
14289 (GOMP_task): Add depend argument, handle depend clauses. If
14290 gomp_team_barrier_cancelled or if it's taskgroup has been
14291 cancelled, don't queue or start new tasks. Set copy_ctors_done
14292 field if needed. Initialize taskgroup field. If copy_ctors_done
14293 and already cancelled, don't discard the task. If taskgroup is
14294 non-NULL, enqueue the task into taskgroup queue. Increment
14295 num_children field in taskgroup. Increment task_queued_count.
14296 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
14297 gomp_task_run_post_remove_taskgroup): New inline functions.
14298 (gomp_task_run_post_handle_depend_hash,
14299 gomp_task_run_post_handle_dependers,
14300 gomp_task_run_post_handle_depend): New functions.
14301 (GOMP_taskwait): Use them. If more than one new tasks
14302 have been queued, wake other threads if needed.
14303 (gomp_barrier_handle_tasks): Likewise. If
14304 gomp_team_barrier_cancelled, don't start any new tasks, just free
14305 all tasks.
14306 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
14307 * omp_lib.f90.in
14308 (omp_proc_bind_kind, omp_proc_bind_false,
14309 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
14310 omp_proc_bind_spread): New params.
14311 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
14312 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
14313 omp_get_team_num, omp_is_initial_device): New interfaces.
14314 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
14315 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
14316 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
14317 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
14318 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
14319 useless use omp_lib_kinds.
14320 * omp.h.in (omp_proc_bind_t): New typedef.
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 prototypes.
14324 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
14325 through to gomp_team_start.
14326 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
14327 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
14328 Adjust gomp_parallel_loop_start callers.
14329 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
14330 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
14331 GOMP_loop_end_cancel): New functions.
14332 (GOMP_parallel_end): Add ialias_redirect.
14333 * hashtab.h: New file.
14334 * libgomp.texi (Environment Variables): Minor cleanup,
14335 update section refs to OpenMP 4.0rc2.
14336 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
14337 environment variables.
14338 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
14339 team->work_shares_to_free to thr->ts.work_share before calling
14340 free_work_share.
14341 (gomp_work_share_end_cancel): New function.
14342 * config/linux/proc.c: Include errno.h.
14343 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
14344 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
14345 sizeof (cpu_set_t) to determine number of iterations. Fix up check
14346 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
14347 gomp_cpuset_size is sizeof (cpu_set_t).
14348 (gomp_init_num_threads): Initialize gomp_cpuset_size,
14349 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
14350 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
14351 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
14352 contain any logical CPUs.
14353 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
14354 is NULL. Use gomp_cpusetp instead of &cpuset and pass
14355 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
14356 pthread_getaffinity_np. Check gomp_places_list instead of
14357 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
14358 * config/linux/bar.c (gomp_barrier_wait_end,
14359 gomp_barrier_wait_last): Use BAR_* defines.
14360 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
14361 from state where needed. Set work_share_cancelled to 0 on last
14362 thread.
14363 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
14364 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
14365 functions.
14366 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
14367 Add cpusetsize argument.
14368 (gomp_cpuset_size, gomp_cpusetp): Declare.
14369 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
14370 (affinity_counter): Remove.
14371 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
14372 if CPU_ALLOC_SIZE isn't defined.
14373 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
14374 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
14375 bind current thread to the first place.
14376 (gomp_init_thread_affinity): Rewritten. Add place argument, just
14377 pthread_setaffinity_np to gomp_places_list[place].
14378 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
14379 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
14380 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
14381 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
14382 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
14383 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
14384 (gomp_barrier_t): Add awaited_final field.
14385 (gomp_barrier_init): Initialize awaited_final field.
14386 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
14387 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
14388 prototypes.
14389 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
14390 defines.
14391 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
14392 gomp_team_barrier_cancelled): New inline functions.
14393 (gomp_barrier_last_thread,
14394 gomp_team_barrier_set_task_pending,
14395 gomp_team_barrier_clear_task_pending,
14396 gomp_team_barrier_set_waiting_for_tasks,
14397 gomp_team_barrier_waiting_for_tasks,
14398 gomp_team_barrier_done): Use BAR_* defines.
14399 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
14400 (gomp_barrier_wait_end): Use BAR_* defines.
14401 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
14402 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
14403 Use BAR_* defines.
14404 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
14405 gomp_team_barrier_cancel): New functions.
14406 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
14407 argument.
14408 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
14409 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
14410 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
14411 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
14412 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
14413 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
14414 (gomp_barrier_t): Add cancellable field.
14415 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
14416 gomp_team_barrier_cancel): New prototypes.
14417 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
14418 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
14419 gomp_team_barrier_cancelled): New inline functions.
14420 (gomp_barrier_wait_start, gomp_barrier_last_thread,
14421 gomp_team_barrier_set_task_pending,
14422 gomp_team_barrier_clear_task_pending,
14423 gomp_team_barrier_set_waiting_for_tasks,
14424 gomp_team_barrier_waiting_for_tasks,
14425 gomp_team_barrier_done): Use BAR_* defines.
14426 * barrier.c (GOMP_barrier_cancel): New function.
14427 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
14428 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
14429 omp_proc_bind_spread): New params.
14430 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
14431 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
14432 omp_get_team_num, omp_is_initial_device): New externals.
14433 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
14434 New functions.
14435 (gomp_resolve_num_threads): Adjust for thread_limit now being in
14436 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
14437 infinity. If not nested, just return minimum of max_num_threads
14438 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
14439 to the returned value. Otherwise, don't update atomically
14440 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
14441 (GOMP_parallel_end): Adjust for thread_limit now being in
14442 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
14443 infinity. Adjust threads_busy in the pool rather than
14444 gomp_remaining_threads_count. Remember team->nthreads and call
14445 gomp_team_end before adjusting threads_busy, if not nested
14446 afterwards, just set it to 1 non-atomically. Add ialias.
14447 (GOMP_parallel_start): Adjust gomp_team_start caller.
14448 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
14449 * testsuite/libgomp.c/affinity-1.c: New test.
14450 * testsuite/libgomp.c/atomic-15.c: New test.
14451 * testsuite/libgomp.c/atomic-16.c: New test.
14452 * testsuite/libgomp.c/atomic-17.c: New test.
14453 * testsuite/libgomp.c/cancel-for-1.c: New test.
14454 * testsuite/libgomp.c/cancel-for-2.c: New test.
14455 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
14456 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
14457 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
14458 * testsuite/libgomp.c/cancel-sections-1.c: New test.
14459 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
14460 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
14461 * testsuite/libgomp.c/depend-1.c: New test.
14462 * testsuite/libgomp.c/depend-2.c: New test.
14463 * testsuite/libgomp.c/depend-3.c: New test.
14464 * testsuite/libgomp.c/depend-4.c: New test.
14465 * testsuite/libgomp.c/for-1.c: New test.
14466 * testsuite/libgomp.c/for-1.h: New file.
14467 * testsuite/libgomp.c/for-2.c: New test.
14468 * testsuite/libgomp.c/for-2.h: New file.
14469 * testsuite/libgomp.c/for-3.c: New test.
14470 * testsuite/libgomp.c/pr58392.c: New test.
14471 * testsuite/libgomp.c/simd-1.c: New test.
14472 * testsuite/libgomp.c/simd-2.c: New test.
14473 * testsuite/libgomp.c/simd-3.c: New test.
14474 * testsuite/libgomp.c/simd-4.c: New test.
14475 * testsuite/libgomp.c/simd-5.c: New test.
14476 * testsuite/libgomp.c/simd-6.c: New test.
14477 * testsuite/libgomp.c/target-1.c: New test.
14478 * testsuite/libgomp.c/target-2.c: New test.
14479 * testsuite/libgomp.c/target-3.c: New test.
14480 * testsuite/libgomp.c/target-4.c: New test.
14481 * testsuite/libgomp.c/target-5.c: New test.
14482 * testsuite/libgomp.c/target-6.c: New test.
14483 * testsuite/libgomp.c/target-7.c: New test.
14484 * testsuite/libgomp.c/taskgroup-1.c: New test.
14485 * testsuite/libgomp.c/thread-limit-1.c: New test.
14486 * testsuite/libgomp.c/thread-limit-2.c: New test.
14487 * testsuite/libgomp.c/thread-limit-3.c: New test.
14488 * testsuite/libgomp.c/udr-1.c: New test.
14489 * testsuite/libgomp.c/udr-2.c: New test.
14490 * testsuite/libgomp.c/udr-3.c: New test.
14491 * testsuite/libgomp.c++/affinity-1.C: New test.
14492 * testsuite/libgomp.c++/atomic-10.C: New test.
14493 * testsuite/libgomp.c++/atomic-11.C: New test.
14494 * testsuite/libgomp.c++/atomic-12.C: New test.
14495 * testsuite/libgomp.c++/atomic-13.C: New test.
14496 * testsuite/libgomp.c++/atomic-14.C: New test.
14497 * testsuite/libgomp.c++/atomic-15.C: New test.
14498 * testsuite/libgomp.c++/cancel-for-1.C: New test.
14499 * testsuite/libgomp.c++/cancel-for-2.C: New test.
14500 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
14501 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
14502 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
14503 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
14504 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
14505 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
14506 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
14507 * testsuite/libgomp.c++/cancel-test.h: New file.
14508 * testsuite/libgomp.c++/for-9.C: New test.
14509 * testsuite/libgomp.c++/for-10.C: New test.
14510 * testsuite/libgomp.c++/for-11.C: New test.
14511 * testsuite/libgomp.c++/simd-1.C: New test.
14512 * testsuite/libgomp.c++/simd-2.C: New test.
14513 * testsuite/libgomp.c++/simd-3.C: New test.
14514 * testsuite/libgomp.c++/simd-4.C: New test.
14515 * testsuite/libgomp.c++/simd-5.C: New test.
14516 * testsuite/libgomp.c++/simd-6.C: New test.
14517 * testsuite/libgomp.c++/simd-7.C: New test.
14518 * testsuite/libgomp.c++/simd-8.C: New test.
14519 * testsuite/libgomp.c++/target-1.C: New test.
14520 * testsuite/libgomp.c++/target-2.C: New test.
14521 * testsuite/libgomp.c++/target-2-aux.cc: New file.
14522 * testsuite/libgomp.c++/target-3.C: New test.
14523 * testsuite/libgomp.c++/taskgroup-1.C: New test.
14524 * testsuite/libgomp.c++/udr-1.C: New test.
14525 * testsuite/libgomp.c++/udr-2.C: New test.
14526 * testsuite/libgomp.c++/udr-3.C: New test.
14527 * testsuite/libgomp.c++/udr-4.C: New test.
14528 * testsuite/libgomp.c++/udr-5.C: New test.
14529 * testsuite/libgomp.c++/udr-6.C: New test.
14530 * testsuite/libgomp.c++/udr-7.C: New test.
14531 * testsuite/libgomp.c++/udr-8.C: New test.
14532 * testsuite/libgomp.c++/udr-9.C: New test.
14533
14534 2013-09-20 Jakub Jelinek <jakub@redhat.com>
14535
14536 PR testsuite/57605
14537 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
14538 ALWAYS_CFLAGS.
14539
14540 2013-09-20 Alan Modra <amodra@gmail.com>
14541
14542 * configure: Regenerate.
14543
14544 2013-09-19 Jakub Jelinek <jakub@redhat.com>
14545
14546 * testsuite/libgomp.c/sections-2.c: New test.
14547
14548 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
14549
14550 * testsuite/libgomp.fortran/strassen.f90:
14551 Add dg-skip-if aarch64_tiny.
14552
14553 2013-06-20 Iain Sandoe <iain@codesourcery.com>
14554 Cesar Philippidis <cesar@codesourcery.com>
14555
14556 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
14557 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
14558 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
14559 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14560 * testsuite/libgomp.graphite/graphite.exp: Likewise.
14561 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
14562 Use dg-runtest rather than gfortran-dg-runtest.
14563
14564 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
14565
14566 * testsuite/libgomp.c/icv-2.c: Extend current handling of
14567 Linux-based x86 systems to cover all GNU systems.
14568 * testsuite/libgomp.c/lock-3.c: Likewise.
14569 * testsuite/libgomp.c/pr48591.c: Likewise.
14570
14571 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
14572
14573 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
14574 GNU/Hurd, as done for Linux-based systems.
14575
14576 * config/posix/ptrlock.h: Fix comment.
14577
14578 2013-05-27 Tobias Burnus <burnus@net-b.de>
14579
14580 PR fortran/57423
14581 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
14582 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
14583 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
14584 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
14585 omp_destroy_nest_lock): Correct arguments to match the one in
14586 the OpenMP spec.
14587 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
14588 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
14589 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
14590 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
14591
14592 2013-05-16 Jakub Jelinek <jakub@redhat.com>
14593
14594 * testsuite/libgomp.c/loop-13.c: New test.
14595 * testsuite/libgomp.c/loop-14.c: New test.
14596 * testsuite/libgomp.c/loop-15.c: New test.
14597 * testsuite/libgomp.c++/loop-13.C: New test.
14598 * testsuite/libgomp.c++/loop-14.C: New test.
14599 * testsuite/libgomp.c++/loop-15.C: New test.
14600
14601 2013-02-06 Jakub Jelinek <jakub@redhat.com>
14602
14603 PR middle-end/56217
14604 * testsuite/libgomp.c++/pr56217.C: New test.
14605
14606 2013-02-01 Alan Modra <amodra@gmail.com>
14607
14608 * task.c (GOMP_task, GOMP_taskwait): Comment.
14609
14610 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
14611 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
14612
14613 PR libgomp/55561
14614 * config/linux/wait.h (do_spin): Use atomic load for addr.
14615 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
14616 for intptr and ptrlock.
14617 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
14618 for ptrlock.
14619
14620 2013-01-22 Alan Modra <amodra@gmail.com>
14621
14622 PR libgomp/51376
14623 PR libgomp/56073
14624 * task.c (GOMP_task): Revert 2011-12-09 change.
14625 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
14626 barrier to read task->children..
14627 (gomp_barrier_handle_tasks): ..and matching atomic store with
14628 release barrier here when setting parent->children to NULL.
14629
14630 2013-01-16 Jakub Jelinek <jakub@redhat.com>
14631 Tobias Burnus <burnus@net-b.de>
14632
14633 PR driver/55884
14634 * testsuite/libgomp.fortran/fortran.exp: Use
14635 -fintrinsic-modules-path= instead of
14636 -fintrinsic-modules-path.
14637
14638 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
14639
14640 Update copyright years.
14641
14642 2012-12-19 Tobias Burnus <burnus@net-b.de>
14643
14644 * testsuite/libgomp.fortran/fortran.exp: Set
14645 -fintrinsic-modules-path.
14646
14647 2012-12-19 Tobias Burnus <burnus@net-b.de>
14648
14649 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
14650 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
14651
14652 2012-11-21 Jakub Jelinek <jakub@redhat.com>
14653
14654 PR libgomp/55411
14655 * team.c (gomp_free_thread): Decrease gomp_managed_threads
14656 if pool had any threads_used.
14657
14658 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
14659
14660 * testsuite/libgomp.c++/pr24455.C: Use
14661 -Wl,-undefined,dynamic_lookup on darwin.
14662
14663 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
14664
14665 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
14666
14667 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
14668
14669 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
14670
14671 2012-10-23 Ian Bolton <ian.bolton@arm.com>
14672 Jim MacArthur <jim.macarthur@arm.com>
14673 Marcus Shawcroft <marcus.shawcroft@arm.com>
14674 Nigel Stephens <nigel.stephens@arm.com>
14675 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14676 Richard Earnshaw <rearnsha@arm.com>
14677 Sofiane Naci <sofiane.naci@arm.com>
14678 Stephen Thomas <stephen.thomas@arm.com>
14679 Tejas Belagod <tejas.belagod@arm.com>
14680 Yufeng Zhang <yufeng.zhang@arm.com>
14681
14682 * configure.tgt: Add AArch64.
14683
14684 2012-10-04 Jason Merrill <jason@redhat.com>
14685
14686 * testsuite/libgomp.c++/tls-init1.C: New.
14687
14688 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
14689
14690 * configure: Regenerated.
14691
14692 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
14693
14694 * config/linux/mips/futex.h (sys_futex0): Change to static
14695 function with noinline, nomips16 attributes under MIPS16. Adjust
14696 asm statement to place 'li v0,SYS_futex' immediately before
14697 syscall insn.
14698
14699 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
14700
14701 * libgomp.texi (Library Index): Renamed from "Index" to prevent
14702 conflict with index.html on case-insensitive file systems.
14703
14704 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
14705
14706 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14707 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
14708
14709 2012-07-02 Richard Guenther <rguenther@suse.de>
14710 Michael Matz <matz@suse.de>
14711 Tobias Grosser <tobias@grosser.es>
14712 Sebastian Pop <sebpop@gmail.com>
14713
14714 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
14715 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14716 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14717 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14718
14719 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
14720
14721 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14722
14723 2012-06-22 Richard Guenther <rguenther@suse.de>
14724
14725 Merge from graphite branch
14726 2012-01-13 Tobias Grosser <tobias@grosser.es>
14727
14728 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14729 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14730
14731 2012-06-07 Jakub Jelinek <jakub@redhat.com>
14732
14733 PR middle-end/53580
14734 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
14735 use GOMP_barrier () call instead.
14736 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14737 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14738 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
14739 call GOMP_barrier instead.
14740 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14741
14742 2012-06-06 Jakub Jelinek <jakub@redhat.com>
14743
14744 PR libgomp/52993
14745 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14746 argument to memset call.
14747
14748 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
14749
14750 * configure: Regenerated.
14751
14752 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
14753
14754 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14755
14756 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
14757
14758 PR bootstrap/52812
14759 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14760
14761 2012-03-22 Jakub Jelinek <jakub@redhat.com>
14762
14763 PR middle-end/52547
14764 * testsuite/libgomp.c/pr52547.c: New test.
14765
14766 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14767
14768 * testsuite/lib/libgomp.exp: load fortran-modules.exp
14769
14770 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14771
14772 * configure.tgt (mips-sgi-irix6*): Remove.
14773
14774 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14775
14776 * configure.tgt (alpha*-dec-osf*): Remove.
14777
14778 * config/osf/sem.h: Remove.
14779 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14780
14781 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
14782
14783 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14784
14785 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14786
14787 PR libstdc++/52188
14788 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
14789 Remove ENABLE_SYMVERS_SOL2.
14790 * configure: Regenerate.
14791 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
14792 (PREPROCESS): New variable.
14793 (libgomp.ver): New target.
14794 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
14795 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
14796 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
14797 Use libgomp.ver.
14798 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14799 * Makefile.in: Regenerate.
14800
14801 2012-02-14 Walter Lee <walt@tilera.com>
14802
14803 * configure.tgt: Handle tilegx and tilepro.
14804 * config/linux/tile/futex.h: New file.
14805
14806 2012-02-08 Richard Guenther <rguenther@suse.de>
14807
14808 PR tree-optimization/46886
14809 * testsuite/libgomp.c/pr46886.c: New testcase.
14810
14811 2012-01-25 Matthias Klose <doko@ubuntu.com>
14812
14813 * config/linux/arm: Remove empty directory.
14814 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14815
14816 2011-12-09 Alan Modra <amodra@gmail.com>
14817
14818 PR libgomp/51376
14819 * task.c (GOMP_taskwait): Don't access task->children outside of
14820 task_lock mutex region.
14821 (GOMP_task): Likewise.
14822
14823 2011-12-06 Jakub Jelinek <jakub@redhat.com>
14824
14825 PR libgomp/51132
14826 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14827 to file scope.
14828 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14829 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14830 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14831 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14832 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14833
14834 2011-12-02 Alan Modra <amodra@gmail.com>
14835
14836 * config/linux/affinity.c: Use atomic rather than sync builtin.
14837 * config/linux/lock.c: Likewise.
14838 * config/linux/ptrlock.h: Likewise.
14839 * config/linux/ptrlock.c: Likewise.
14840 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14841 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14842 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
14843 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14844 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14845 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14846 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14847 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14848 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14849 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14850
14851 2011-11-30 Alan Modra <amodra@gmail.com>
14852
14853 PR libgomp/51298
14854 * config/linux/bar.h: Use atomic rather than sync builtins.
14855 * config/linux/bar.c: Likewise. Add missing acquire
14856 synchronisation on generation field.
14857 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14858 double unlock.
14859
14860 2011-11-30 Alan Modra <amodra@gmail.com>
14861
14862 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14863 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14864 * config/linux/mutex.h: Use atomic rather than sync builtins.
14865 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
14866 * config/linux/omp-lock.h: Comment fix.
14867 * config/linux/arm/mutex.h: Delete.
14868 * config/linux/powerpc/mutex.h: Delete.
14869 * config/linux/ia64/mutex.h: Delete.
14870 * config/linux/mips/mutex.h: Delete.
14871
14872 2011-11-30 Alan Modra <amodra@gmail.com>
14873
14874 PR libgomp/51249
14875 * config/linux/sem.h: Rewrite.
14876 * config/linux/sem.c: Rewrite.
14877
14878 2011-11-28 Richard Henderson <rth@redhat.com>
14879
14880 * libgomp.h (enum memmodel): New.
14881
14882 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
14883
14884 * configure: Regenerate.
14885
14886 2011-10-10 Matthias Klose <doko@ubuntu.com>
14887
14888 * config/posix95: Remove empty directory.
14889
14890 2011-08-26 Jakub Jelinek <jakub@redhat.com>
14891
14892 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14893
14894 2011-08-19 Jakub Jelinek <jakub@redhat.com>
14895
14896 PR fortran/49792
14897 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14898 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14899
14900 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14901
14902 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14903
14904 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14905
14906 PR libgomp/49965
14907 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14908
14909 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
14910
14911 * config/linux/proc.h: New.
14912 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
14913 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
14914 (gomp_init_num_threads): Update call to cpuset_popcount.
14915 (get_num_procs): Ditto.
14916 * config/linux/affinity.c (gomp_init_affinity): Call
14917 gomp_cpuset_popcount.
14918
14919 2011-08-02 Jakub Jelinek <jakub@redhat.com>
14920
14921 PR fortran/42041
14922 PR fortran/46752
14923 * omp.h.in (omp_in_final): New prototype.
14924 * omp_lib.f90.in (omp_in_final): New interface.
14925 (omp_integer_kind, omp_logical_kind): Remove
14926 and replace all its uses in the module with 4.
14927 (openmp_version): Change to 201107.
14928 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
14929 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
14930 kind for the parameters.
14931 (omp_in_final): New external.
14932 (openmp_version): Change to 201107.
14933 * task.c (omp_in_final): New function.
14934 (gomp_init_task): Initialize final_task.
14935 (GOMP_task): Remove unused attribute from flags. Handle final
14936 tasks.
14937 (GOMP_taskyield): New function.
14938 (omp_in_final): Return true if if (false) or final (true) task
14939 or descendant of final (true).
14940 * fortran.c (omp_in_final_): New function.
14941 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
14942 (GOMP_3.0): Export GOMP_taskyield.
14943 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
14944 variables.
14945 (parse_unsigned_long_list): New function.
14946 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
14947 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
14948 even if parse_affinity returned false.
14949 * config/linux/affinity.c (gomp_init_affinity): Handle
14950 gomp_cpu_affinity_len == 0.
14951 * libgomp_g.h (GOMP_taskyield): New prototype.
14952 * libgomp.h (struct gomp_task): Add final_task field.
14953 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
14954 * team.c (gomp_team_start): Override new task's nthreads_var icv
14955 if list form OMP_NUM_THREADS has been used and it has value for
14956 the new nesting level.
14957
14958 * testsuite/libgomp.c/atomic-11.c: New test.
14959 * testsuite/libgomp.c/atomic-12.c: New test.
14960 * testsuite/libgomp.c/atomic-13.c: New test.
14961 * testsuite/libgomp.c/atomic-14.c: New test.
14962 * testsuite/libgomp.c/reduction-6.c: New test.
14963 * testsuite/libgomp.c/task-5.c: New test.
14964 * testsuite/libgomp.c++/atomic-2.C: New test.
14965 * testsuite/libgomp.c++/atomic-3.C: New test.
14966 * testsuite/libgomp.c++/atomic-4.C: New test.
14967 * testsuite/libgomp.c++/atomic-5.C: New test.
14968 * testsuite/libgomp.c++/atomic-6.C: New test.
14969 * testsuite/libgomp.c++/atomic-7.C: New test.
14970 * testsuite/libgomp.c++/atomic-8.C: New test.
14971 * testsuite/libgomp.c++/atomic-9.C: New test.
14972 * testsuite/libgomp.c++/task-8.C: New test.
14973 * testsuite/libgomp.c++/reduction-4.C: New test.
14974 * testsuite/libgomp.fortran/allocatable7.f90: New test.
14975 * testsuite/libgomp.fortran/allocatable8.f90: New test.
14976 * testsuite/libgomp.fortran/crayptr3.f90: New test.
14977 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
14978 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
14979 * testsuite/libgomp.fortran/pointer1.f90: New test.
14980 * testsuite/libgomp.fortran/pointer2.f90: New test.
14981 * testsuite/libgomp.fortran/task4.f90: New test.
14982
14983 2011-08-02 Tobias Burnus <burnus@net-b.de>
14984
14985 * libgomp.texi: Update OpenMP spec references to 3.1.
14986 (omp_in_final,OMP_PROC_BIND): New sections.
14987 (OMP_NUM_THREADS): Document that the value can be now a list.
14988 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
14989
14990 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
14991
14992 * config/linux/x86/futex.h: Check __x86_64__ instead of
14993 __LP64__.
14994
14995 2011-07-29 Jakub Jelinek <jakub@redhat.com>
14996
14997 PR middle-end/49897
14998 PR middle-end/49898
14999 * testsuite/libgomp.c/pr49897-1.c: New test.
15000 * testsuite/libgomp.c/pr49897-2.c: New test.
15001 * testsuite/libgomp.c/pr49898-1.c: New test.
15002 * testsuite/libgomp.c/pr49898-2.c: New test.
15003
15004 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
15005
15006 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
15007 for ia32 instead of ilp32.
15008
15009 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
15010 * testsuite/libgomp.c/atomic-6.c: Likewise.
15011
15012 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
15013
15014 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
15015 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
15016
15017 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15018
15019 PR libgomp/45351
15020 * config/osf/sem.h: New file.
15021 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
15022
15023 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15024
15025 PR target/49541
15026 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
15027 ldflags.
15028
15029 2011-07-15 Jakub Jelinek <jakub@redhat.com>
15030
15031 * config/linux/wait.h (do_spin): New inline, largely copied
15032 from do_wait, just don't do futex_wait here, instead return true if
15033 it should be done.
15034 (do_wait): Implement using do_spin.
15035 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
15036 to prototype.
15037 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
15038 __sync_bool_compare_and_swap, pass the oldval to
15039 gomp_mutex_lock_slow.
15040 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
15041 If all mutex contenders are just spinning and not sleeping, don't
15042 change state to 2 unnecessarily. Optimize the loop when state has
15043 already become 2 to use just one atomic operation per loop instead
15044 of two.
15045 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
15046 to prototype.
15047 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
15048 __sync_bool_compare_and_swap, pass the oldval to
15049 gomp_mutex_lock_slow.
15050
15051 2011-06-22 Jakub Jelinek <jakub@redhat.com>
15052
15053 PR libgomp/49490
15054 * iter.c (gomp_iter_static_next): For chunk size 0
15055 only use n ceil/ nthreads size for the first
15056 n % nthreads threads in the team instead of
15057 all threads except for the last few ones which
15058 get less work or none at all.
15059 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
15060 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
15061 chunk argument, set run_sched_modifier to 0 for static
15062 resp. 1 for other kinds. If chunk argument is 0
15063 and not static, set value to 1.
15064
15065 2011-05-19 Jakub Jelinek <jakub@redhat.com>
15066
15067 PR c++/49043
15068 * testsuite/libgomp.c++/pr49043.C: New test.
15069
15070 PR c++/48869
15071 * testsuite/libgomp.c++/pr48869.C: New test.
15072
15073 2011-05-06 Jakub Jelinek <jakub@redhat.com>
15074
15075 PR fortran/48894
15076 * fortran.c: Include limits.h.
15077 (TO_INT): Define.
15078 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
15079 *set.
15080 (omp_set_num_threads_8_, omp_set_schedule_8_,
15081 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
15082 omp_get_team_size_8_): Use TO_INT macro.
15083 * testsuite/libgomp.fortran/pr48894.f90: New test.
15084
15085 2011-04-13 Jakub Jelinek <jakub@redhat.com>
15086
15087 PR middle-end/48591
15088 * testsuite/libgomp.c/pr48591.c: New test.
15089
15090 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15091
15092 PR bootstrap/48135
15093 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
15094 * configure: Regenerate.
15095
15096 2011-02-27 Jakub Jelinek <jakub@redhat.com>
15097
15098 PR fortran/47886
15099 * testsuite/libgomp.fortran/task3.f90: New test.
15100
15101 2011-02-24 Tobias Burnus <burnus@net-b.de>
15102
15103 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
15104
15105 2011-02-23 Jakub Jelinek <jakub@redhat.com>
15106
15107 PR libgomp/47854
15108 * libgomp.texi (omp_get_wtime): Don't say time in the past
15109 must be Unix Epoch.
15110
15111 2011-02-18 Jakub Jelinek <jakub@redhat.com>
15112
15113 PR libgomp/47804
15114 * testsuite/libgomp.fortran/fortran.exp: Check for both
15115 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
15116 but $blddir != "", still append ${blddir}/${lang_library_path}
15117 to ld_library_path.
15118
15119 2011-02-16 Tobias Burnus <burnus@net-b.de>
15120
15121 PR libgomp/47758
15122 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
15123 of libquadmath.a before adding its libpath to ldflags.
15124
15125 2011-02-14 Jakub Jelinek <jakub@redhat.com>
15126
15127 PR libgomp/47731
15128 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
15129 to FUTEX_WAIT futex syscall.
15130 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
15131
15132 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15133
15134 * configure: Regenerate.
15135
15136 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
15137
15138 PR libstdc++/36104
15139 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
15140
15141 2011-01-16 Gerald Pfeifer
15142
15143 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
15144
15145 2010-12-14 Jakub Jelinek <jakub@redhat.com>
15146
15147 PR fortran/46874
15148 * libgomp.fortran/allocatable6.f90: New test.
15149
15150 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15151
15152 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
15153 * configure: Regenerate.
15154
15155 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
15156
15157 PR target/40125
15158 PR lto/46695
15159 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
15160 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
15161 * aclocal.m4: Regenerate.
15162 * configure: Regenerate.
15163 * Makefile.in: Regenerate.
15164 * testsuite/Makefile.in: Regenerate.
15165
15166 2010-12-02 Jakub Jelinek <jakub@redhat.com>
15167
15168 PR fortran/46753
15169 * libgomp.fortran/pr46753.f90: New test.
15170
15171 PR libgomp/43706
15172 * env.c (initialize_env): Default to spin count 300000
15173 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
15174 is specified.
15175
15176 PR libgomp/45240
15177 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
15178 at the end if sync builtins aren't supported.
15179
15180 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15181
15182 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
15183
15184 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15185
15186 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
15187
15188 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
15189
15190 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
15191
15192 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
15193 Tobias Burnus <burnus@net-b.de>
15194
15195 PR fortran/32049
15196 * configure.ac:
15197 * configure: Regenerate.
15198
15199 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
15200
15201 * config/linux/futex.h: New.
15202 * config/linux/arm/mutex.h: New.
15203 * configure.tgt (arm*-*-linux*): Add config path.
15204
15205 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
15206
15207 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
15208
15209 2010-09-23 Tobias Burnus <burnus@net-b.de>
15210
15211 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
15212 Change Fortran datatype to LOGICAL.
15213 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
15214 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
15215
15216 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15217
15218 * configure: Regenerate.
15219
15220 2010-07-26 Jakub Jelinek <jakub@redhat.com>
15221
15222 * libgomp.texi: Add function keyword to a couple of Fortran
15223 interfaces, use integer instead of int for Fortran.
15224
15225 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
15226
15227 * libgomp.texi: Fix spelling and pasto problems throughout.
15228 Adjust prototypes to match code.
15229
15230 2010-07-24 Tobias Burnus <burnus@net-b.de>
15231
15232 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
15233 silence -fwhole-file warning.
15234
15235 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15236
15237 * configure.tgt (*-*-solaris2.[56]*): Removed.
15238
15239 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15240
15241 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
15242 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
15243 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
15244 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
15245 targetting solaris2*.
15246 * configure: Regenerate.
15247 * config.h.in: Regenerate.
15248
15249 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
15250 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
15251 Add libgomp_version_dep.
15252 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
15253 versioning.
15254 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
15255 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
15256 * Makefile.in: Regenerate.
15257
15258 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
15259 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
15260 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
15261 to common block, protected by
15262 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
15263
15264 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
15265
15266 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
15267
15268 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
15269
15270 PR bootstrap/43170
15271 * configure: Regenerate.
15272
15273 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15274
15275 PR other/43620
15276 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
15277 * configure: Regenerate.
15278 * Makefile.in: Regenerate.
15279 * testsuite/Makefile.in: Regenerate.
15280
15281 2010-04-26 Jakub Jelinek <jakub@redhat.com>
15282
15283 PR c/43893
15284 * testsuite/libgomp.c/pr43893.c: New test.
15285 * testsuite/libgomp.c++/pr43893.C: New test.
15286
15287 2010-04-21 Jakub Jelinek <jakub@redhat.com>
15288
15289 PR middle-end/43570
15290 * testsuite/libgomp.fortran/vla8.f90: New test.
15291
15292 2010-04-20 Jakub Jelinek <jakub@redhat.com>
15293
15294 PR libgomp/43706
15295 * config/linux/affinity.c (gomp_init_affinity): Decrease
15296 gomp_available_cpus if affinity mask confines the process to fewer
15297 CPUs.
15298 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
15299 non-NULL, just return gomp_available_cpus.
15300
15301 PR libgomp/43569
15302 * sections.c (gomp_sections_init): Initialize ws->mode.
15303
15304 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
15305
15306 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
15307 not unused bar variable.
15308 * configure: Regenerate.
15309
15310 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15311
15312 * Makefile.in: Regenerate.
15313 * aclocal.m4: Regenerate.
15314 * testsuite/Makefile.in: Regenerate.
15315
15316 2010-03-22 Jakub Jelinek <jakub@redhat.com>
15317
15318 PR libgomp/42942
15319 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
15320 (initialize_env): Adjust callers.
15321 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
15322 when the argument is 0.
15323
15324 * testsuite/libgomp.c/pr42942.c: New test.
15325
15326 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
15327
15328 PR middle-end/42644
15329 PR middle-end/42130
15330 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
15331 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
15332
15333 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15334
15335 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
15336 * testsuite/libgomp.c++/task-6.C: Likewise.
15337
15338 2010-01-28 Steve Ellcey <sje@cup.hp.com>
15339
15340 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
15341
15342 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
15343
15344 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
15345 * configure: Regenerate.
15346
15347 2010-01-26 Jakub Jelinek <jakub@redhat.com>
15348
15349 PR fortran/42866
15350 * testsuite/libgomp.fortran/allocatable5.f90: New test.
15351
15352 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
15353
15354 * configure.ac: Test for executability of GFORTRAN.
15355 * configure: Regenerate.
15356
15357 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15358
15359 * configure: Regenerate.
15360
15361 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
15362
15363 PR libgomp/42602
15364 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
15365
15366 2010-01-03 Richard Guenther <rguenther@suse.de>
15367
15368 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
15369
15370 2009-12-23 Sebastian Pop <sebpop@gmail.com>
15371
15372 * testsuite/libgomp.graphite/pr4118.c: New.
15373
15374 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15375
15376 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
15377 for darwin, protect the test with require-effective-target tls_runtime.
15378 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
15379
15380 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15381
15382 PR target/41605
15383 * testsuite/lib/libgomp.exp: Provide -B options to allow for
15384 link spec %s substitutions for static libraries.
15385
15386 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
15387
15388 PR testsuite/42135
15389 * libgomp.graphite/force-parallel-2.c: Reduce array size.
15390
15391 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15392
15393 * Makefile.in: Regenerate.
15394 * configure: Regenerate.
15395 * testsuite/Makefile.in: Regenerate.
15396
15397 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
15398
15399 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
15400 settings for LC_ALL and LANG.
15401
15402 2009-11-25 Jakub Jelinek <jakub@redhat.com>
15403
15404 PR fortran/42162
15405 * testsuite/libgomp.fortran/pr42162.f90: New test.
15406
15407 2009-11-13 Jakub Jelinek <jakub@redhat.com>
15408
15409 PR middle-end/42029
15410 * testsuite/libgomp.c/pr42029.c: New test.
15411
15412 2009-10-26 Jakub Jelinek <jakub@redhat.com>
15413
15414 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
15415 *s. Accept ld version without text in ()s.
15416 * configure: Regenerated.
15417
15418 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
15419
15420 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
15421
15422 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15423
15424 PR libgomp/41418
15425 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
15426 or a hyphen (happens with fortran language disabled).
15427 * configure: Regenerate.
15428
15429 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15430
15431 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
15432 use sed script portable to Solaris /bin/sed for extracting ld
15433 version.
15434 * configure: Regenerate.
15435
15436 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
15437
15438 * testsuite/libgomp.graphite/bounds.c: New test.
15439
15440 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15441
15442 * Makefile.am (libgomp_la_LINK): New.
15443 * Makefile.in: Regenerate.
15444
15445 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15446
15447 * configure.ac (AC_PREREQ): Bump to 2.64.
15448
15449 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15450
15451 * Makefile.am (install-html, install-pdf): Remove.
15452 * Makefile.in: Regenerate.
15453
15454 * Makefile.in: Regenerate.
15455 * aclocal.m4: Regenerate.
15456 * config.h.in: Regenerate.
15457 * configure: Regenerate.
15458 * testsuite/Makefile.in: Regenerate.
15459
15460 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15461
15462 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
15463 * Makefile.in: Regenerate.
15464
15465 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
15466
15467 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
15468 * Makefile.in: Regenerate.
15469
15470 2009-08-19 Tobias Burnus <burnus@net-b.de>
15471
15472 PR fortran/41102
15473 omp_lib.h.in: Fix -std=f95 errors.
15474
15475 2009-08-14 David Edelsohn <edelsohn@gnu.org>
15476
15477 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
15478 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
15479 * testsuite/libgomp.graphite/graphite.exp: New.
15480
15481 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
15482
15483 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
15484 only build.
15485
15486 2009-08-04 David Daney <ddaney@caviumnetworks.com>
15487
15488 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
15489 needed memory barrier semantics.
15490 * config/linux/mips/mutex.h: New file.
15491
15492 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15493
15494 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
15495
15496 2009-07-16 Joseph Myers <joseph@codesourcery.com>
15497
15498 * configure: Regenerate.
15499
15500 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
15501
15502 PR testsuite/40699
15503 PR testsuite/40707
15504 PR testsuite/40709
15505 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
15506 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
15507 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
15508
15509 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
15510
15511 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
15512 options when choosing a multilib.
15513
15514 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
15515
15516 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
15517 ld_library_path. Use add_path. Add just find_libgcc_s to
15518 ld_library_path, not every libgcc multilib directory.
15519 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
15520 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
15521 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
15522 Use add_path.
15523 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
15524
15525 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
15526
15527 * Makefile.am (LTLDFLAGS): Define.
15528 (LINK): Define.
15529 * Makefile.in: Regenerate.
15530
15531 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
15532
15533 PR fortran/39718
15534 * testsuite/libgomp.fortran/fortran.exp: Don't link with
15535 libgfortranbegin, check existence of libgfortran.a instead of
15536 libgfortranbegin.a.
15537
15538 2009-05-20 Jakub Jelinek <jakub@redhat.com>
15539
15540 PR libgomp/40174
15541 * team.c (gomp_thread_start): Destroy thr->release semaphore.
15542 (gomp_free_pool_helper): Likewise.
15543
15544 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
15545 Jakub Jelinek <jakub@redhat.com>
15546
15547 PR fortran/35423
15548 * testsuite/libgomp.fortran/workshare2.f90: New test.
15549
15550 2009-04-09 Nick Clifton <nickc@redhat.com>
15551
15552 * iter.c: Change copyright header to refer to version 3 of the
15553 GNU General Public License with version 3.1 of the GCC Runtime
15554 Library Exception and to point readers at the COPYING3 and
15555 COPYING3.RUNTIME files and the FSF's license web page.
15556 * alloc.c: Likewise.
15557 * barrier.c: Likewise.
15558 * config/bsd/proc.c: Likewise.
15559 * config/linux/affinity.c: Likewise.
15560 * config/linux/alpha/futex.h: Likewise.
15561 * config/linux/bar.c: Likewise.
15562 * config/linux/bar.h: Likewise.
15563 * config/linux/ia64/futex.h: Likewise.
15564 * config/linux/ia64/mutex.h: Likewise.
15565 * config/linux/lock.c: Likewise.
15566 * config/linux/mips/futex.h: Likewise.
15567 * config/linux/mutex.c: Likewise.
15568 * config/linux/mutex.h: Likewise.
15569 * config/linux/powerpc/futex.h: Likewise.
15570 * config/linux/proc.c: Likewise.
15571 * config/linux/ptrlock.c: Likewise.
15572 * config/linux/ptrlock.h: Likewise.
15573 * config/linux/s390/futex.h: Likewise.
15574 * config/linux/sem.c: Likewise.
15575 * config/linux/sem.h: Likewise.
15576 * config/linux/sparc/futex.h: Likewise.
15577 * config/linux/wait.h: Likewise.
15578 * config/linux/x86/futex.h: Likewise.
15579 * config/mingw32/proc.c: Likewise.
15580 * config/mingw32/time.c: Likewise.
15581 * config/posix/affinity.c: Likewise.
15582 * config/posix/bar.c: Likewise.
15583 * config/posix/bar.h: Likewise.
15584 * config/posix/lock.c: Likewise.
15585 * config/posix/mutex.h: Likewise.
15586 * config/posix/proc.c: Likewise.
15587 * config/posix/ptrlock.h: Likewise.
15588 * config/posix/sem.c: Likewise.
15589 * config/posix/sem.h: Likewise.
15590 * config/posix/time.c: Likewise.
15591 * config/posix95/lock.c: Likewise.
15592 * critical.c: Likewise.
15593 * env.c: Likewise.
15594 * error.c: Likewise.
15595 * fortran.c: Likewise.
15596 * iter_ull.c: Likewise.
15597 * libgomp.h: Likewise.
15598 * libgomp_f.h.in: Likewise.
15599 * libgomp_g.h: Likewise.
15600 * loop.c: Likewise.
15601 * loop_ull.c: Likewise.
15602 * omp.h.in: Likewise.
15603 * omp_lib.f90.in: Likewise.
15604 * omp_lib.h.in: Likewise.
15605 * ordered.c: Likewise.
15606 * parallel.c: Likewise.
15607 * sections.c: Likewise.
15608 * single.c: Likewise.
15609 * task.c: Likewise.
15610 * team.c: Likewise.
15611 * work.c: Likewise.
15612
15613 2009-04-09 Jakub Jelinek <jakub@redhat.com>
15614
15615 * testsuite/config/default.exp: Change copyright header to refer to
15616 version 3 of the GNU General Public License and to point readers
15617 at the COPYING3 file and the FSF's license web page.
15618
15619 2009-04-08 Jakub Jelinek <jakub@redhat.com>
15620
15621 PR middle-end/39573
15622 * libgomp.c++/pr39573.C: New test.
15623
15624 2009-04-01 Jakub Jelinek <jakub@redhat.com>
15625
15626 PR other/39591
15627 * testsuite/libgomp.c/pr39591-1.c: New test.
15628 * testsuite/libgomp.c/pr39591-2.c: New test.
15629 * testsuite/libgomp.c/pr39591-3.c: New test.
15630
15631 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
15632
15633 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
15634 * testsuite/libgomp.c/atomic-6.c: Ditto.
15635
15636 2009-03-23 Jakub Jelinek <jakub@redhat.com>
15637
15638 PR c/39495
15639 * testsuite/libgomp.c/loop-12.c: New test.
15640 * testsuite/libgomp.c/loop-11.c: New test.
15641 * testsuite/libgomp.c++/loop-11.C: New test.
15642 * testsuite/libgomp.c++/loop-12.C: New test.
15643 * testsuite/libgomp.c++/for-8.C: New test.
15644
15645 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15646
15647 * configure: Regenerate.
15648
15649 2009-02-11 Jakub Jelinek <jakub@redhat.com>
15650
15651 PR middle-end/39154
15652 * testsuite/libgomp.c/pr39154.c: New test.
15653
15654 2009-01-30 Ian Lance Taylor <iant@google.com>
15655
15656 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
15657 libgomp_ld_is_gold. Get gold version number.
15658 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
15659 * configure: Rebuild.
15660
15661 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15662
15663 * testsuite/lib/libgomp.exp: Add -B option for targets that
15664 use libgfortran.a%s in their specs.
15665
15666 2009-01-07 Jakub Jelinek <jakub@redhat.com>
15667
15668 PR libgomp/38086
15669 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
15670 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
15671 HAVE_AS_SYMVER_DIRECTIVE is not defined.
15672 * configure: Regenerated.
15673 * config.h.in: Likewise.
15674
15675 2008-12-28 Jakub Jelinek <jakub@redhat.com>
15676
15677 PR c++/38650
15678 * testsuite/libgomp.c/pr38650.c: New test.
15679 * testsuite/libgomp.c++/pr38650.C: New test.
15680
15681 2008-12-27 Jakub Jelinek <jakub@redhat.com>
15682
15683 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15684
15685 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
15686
15687 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15688
15689 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15690
15691 * configure: Regenerate.
15692
15693 2008-12-08 Jakub Jelinek <jakub@redhat.com>
15694
15695 PR middle-end/36802
15696 * testsuite/libgomp.c/pr36802-1.c: New test.
15697 * testsuite/libgomp.c/pr36802-2.c: New test.
15698 * testsuite/libgomp.c/pr36802-3.c: New test.
15699
15700 2008-12-01 Janis Johnson <janis187@us.ibm.com>
15701
15702 PR libgomp/38270
15703 * config/linux/powerpc/mutex.h: New.
15704
15705 2008-12-01 Jakub Jelinek <jakub@redhat.com>
15706
15707 PR c++/38257
15708 * testsuite/libgomp.c++/for-7.C: New test.
15709
15710 PR c++/38348
15711 * testsuite/libgomp.c++/for-6.C: New test.
15712
15713 2008-11-26 Janis Johnson <janis187@us.ibm.com>
15714
15715 PR testsuite/28870
15716 * testsuite/lib/libgomp.exp: Include new timeout library files.
15717 (libgomp_target_compile): Set timeout value from new proc.
15718
15719 2008-11-13 Steve Ellcey <sje@cup.hp.com>
15720
15721 PR libgomp/37938
15722 * config/linux/ia64/mutex.h: New.
15723
15724 2008-11-04 Tobias Burnus <burnus@net-b.de>
15725
15726 PR libgomp/37935
15727 * libgomp.texi (Runtime library routines, environment variables):
15728 Update for OpenMP version 3.0.
15729
15730 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
15731 Steve Ellcey <sje@cup.hp.com>
15732
15733 * configure: Regenerate for new libtool.
15734 * Makefile.in: Ditto.
15735 * testsuite/Makefile.in: Ditto.
15736
15737 2008-09-19 Jakub Jelinek <jakub@redhat.com>
15738 Andreas Tobler <a.tobler@schweiz.org>
15739
15740 * config/bsd/proc.c: New file.
15741 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
15742 * configure.ac: Check for header <sys/sysctl.h>
15743 * configure: Regenerate.
15744 * config.h.in: Likewise.
15745
15746 2008-09-05 Janis Johnson <janis187@us.ibm.com>
15747
15748 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15749
15750 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
15751
15752 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15753 * Makefile.in: Regenerated.
15754 * testsuite/Makefile.in: Regenerated.
15755
15756 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
15757
15758 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
15759 depend on blddir if blddir exists.
15760 (libgomp_target_compile): Likewise.
15761 * testsuite/libgomp.c++/c++.exp: Likewise.
15762 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15763
15764 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15765
15766 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
15767 Do not list GPL as Invariant Section.
15768
15769 2008-07-28 Ilie Garbacea <ilie@mips.com>
15770 Chao-ying Fu <fu@mips.com>
15771
15772 * configure.tgt: Enable futex for MIPS.
15773 * config/linux/mips/futex.h: New file.
15774
15775 2008-07-16 Jakub Jelinek <jakub@redhat.com>
15776
15777 * team.c (gomp_team_end): Free team immediately if it has
15778 just one thread.
15779
15780 2008-07-08 David Edelsohn <edelsohn@gnu.org>
15781
15782 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
15783 * testsuite/libgomp.fortran/fortran.exp: Same.
15784 * testsuite/libgomp.c/c.exp: Same.
15785 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
15786 directory to library path first.
15787
15788 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
15789
15790 * env.c (parse_stacksize): Add cast to avoid warning.
15791 (parse_spincount): Likewise.
15792
15793 2008-06-27 Jakub Jelinek <jakub@redhat.com>
15794
15795 * testsuite/libgomp.c/loop-10.c: New test.
15796 * libgomp.c/loop-3.c (main): Add lastprivate clause.
15797 * libgomp.c++/loop-6.C (main): Likewise.
15798
15799 PR debug/36617
15800 * testsuite/libgomp.c/debug-1.c: New test.
15801
15802 2008-06-19 Jakub Jelinek <jakub@redhat.com>
15803
15804 * testsuite/libgomp.c/nqueens-1.c: New test.
15805
15806 PR c++/36523
15807 * testsuite/libgomp.c++/task-7.C: New function.
15808
15809 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15810
15811 * configure: Regenerate.
15812
15813 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15814
15815 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15816 mutex when HAVE_SYNC_BUILTINS isn't defined.
15817
15818 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15819
15820 * libgomp.texi (omp_test_lock): Fix typo.
15821
15822 2008-06-12 Tobias Burnus <burnus@net-b.de>
15823
15824 * omp_lib.f90.in: Add "implicit none".
15825
15826 2008-06-12 Jakub Jelinek <jakub@redhat.com>
15827
15828 PR middle-end/36506
15829 * testsuite/libgomp.c/reduction-5.c: New test.
15830
15831 2008-06-11 Jakub Jelinek <jakub@redhat.com>
15832
15833 * libgomp.h (struct gomp_task): Add in_tied_task field.
15834 * task.c (gomp_init_task): Initialize it.
15835 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
15836 unconditionally. Don't call gomp_team_barrier_wake if
15837 current task is implicit or if(0) from implicit and number of
15838 running tasks is equal to nthreads - 1.
15839
15840 PR libgomp/36471
15841 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15842 omp_get_team_size_8): Fix pastos.
15843
15844 PR libgomp/36469
15845 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
15846 * configure: Regenerated.
15847 * config.h.in: Regenerated.
15848 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15849 defined.
15850
15851 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
15852
15853 PR bootstrap/36452
15854 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15855 (GOMP_loop_ull_dynamic_start): Likewise.
15856 (GOMP_loop_ull_guided_start): Likewise.
15857 (GOMP_loop_ull_ordered_static_start): Likewise.
15858 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
15859 (GOMP_loop_ull_ordered_guided_start): Likewise.
15860
15861 2008-06-06 Jakub Jelinek <jakub@redhat.com>
15862 Richard Henderson <rth@redhat.com>
15863 Ulrich Drepper <drepper@redhat.com>
15864 Jakob Blomer <jakob.blomer@ira.uka.de>
15865
15866 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15867 Substitute also OMP_*LOCK_25*.
15868 * configure: Regenerated.
15869 * config.h.in: Regenerated.
15870 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15871 ptrlock.c and task.c.
15872 * Makefile.in: Regenerated.
15873 * testsuite/Makefile.in: Regenerated.
15874 * task.c: New file.
15875 * loop_ull.c: New file.
15876 * iter_ull.c: New file.
15877 * libgomp.h: Include ptrlock.h.
15878 (enum gomp_task_kind): New type.
15879 (struct gomp_team): Add task_lock, task_queue, task_count,
15880 task_running_count, single_count fields. Add
15881 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15882 Remove work_share_lock, generation_mask,
15883 oldest_live_gen, num_live_gen and init_work_shares fields, add
15884 work work_share_list_alloc, work_share_list_free and work_share_chunk
15885 fields. Change work_shares from pointer to pointers into an array.
15886 Change ordered_release field into gomp_sem_t ** from flexible array
15887 member. Add implicit_task and initial_work_shares fields.
15888 Move close to the end of the struct.
15889 (struct gomp_team_state): Add single_count, last_work_share,
15890 active_level and level fields, remove work_share_generation.
15891 (gomp_barrier_handle_tasks): New prototype.
15892 (gomp_finish_task): New inline function.
15893 (struct gomp_work_share): Move chunk_size, end, incr into
15894 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15895 next_ll fields. Reshuffle fields. Add next_alloc,
15896 next_ws, next_free and inline_ordered_team_ids fields, change
15897 ordered_team_ids into pointer from flexible array member.
15898 Add mode field. Put lock and next into a different cache line
15899 from most of the write-once fields.
15900 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15901 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15902 gomp_iter_ull_guided_next): New prototypes.
15903 (gomp_new_icv): New prototype.
15904 (struct gomp_thread): Add thread_pool and task fields.
15905 (struct gomp_thread_pool): New type.
15906 (gomp_new_team): New prototype.
15907 (gomp_team_start): Change type of last argument.
15908 (gomp_new_work_share): Removed.
15909 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
15910 (gomp_work_share_init_done): New static inline.
15911 (gomp_throttled_spin_count_var, gomp_available_cpus,
15912 gomp_managed_threads): New extern decls.
15913 (gomp_init_task): New prototype.
15914 (gomp_spin_count_var): New extern var decl.
15915 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15916 or no alias support, or if not PIC.
15917 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15918 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15919 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15920 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15921 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
15922 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
15923 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
15924 gomp_test_nest_lock_25): New prototypes.
15925 (omp_lock_symver, strong_alias): Define.
15926 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
15927 decls.
15928 (gomp_end_task): New.
15929 (struct gomp_task_icv, gomp_global_icv): New.
15930 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
15931 (struct gomp_task): New.
15932 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15933 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15934 (gomp_icv): New.
15935 (gomp_schedule_type): Reorder enum to match
15936 omp_sched_t.
15937 * team.c (struct gomp_thread_start_data): Add thread_pool and task
15938 fields.
15939 (gomp_thread_start): Add gomp_team_barrier_wait call.
15940 For non-nested case remove clearing of docked thread thr fields.
15941 Use pool fields instead of global gomp_* variables. Use
15942 gomp_barrier_wait_last when needed. Initialize ts.active_level.
15943 Create tasks for each member thread.
15944 (free_team): Only destroy team barrier, task_lock here and free it.
15945 (gomp_free_thread): Free last_team if non-NULL.
15946 (gomp_team_end): Call gomp_team_barrier_wait instead of
15947 gomp_barrier_wait. For nested case call one extra
15948 gomp_barrier_wait. Move here some destruction from free_team.
15949 Call free_team on pool->last_team if any, rather than freeing
15950 current team. Destroy work_share_list_free_lock ifndef
15951 HAVE_SYNC_BUILTINS.
15952 (gomp_new_icv): New function.
15953 (gomp_threads, gomp_threads_size, gomp_threads_used,
15954 gomp_threads_dock): Removed.
15955 (gomp_thread_destructor): New variable.
15956 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
15957 functions.
15958 (gomp_team_start): Create new pool if current thread doesn't have
15959 one. Use pool fields instead of global gomp_* variables.
15960 Initialize thread_pool field for new threads. Clear single_count.
15961 Change last argument from ws to team, don't create
15962 new team, set ts.work_share to &team->work_shares[0] and clear
15963 ts.last_work_share. Don't clear ts.work_share_generation.
15964 If number of threads changed, adjust atomically gomp_managed_threads.
15965 Use gomp_init_task instead of gomp_new_task,
15966 set thr->task to the corresponding implicit_task array entry.
15967 Create tasks for each member thread. Initialize ts.level.
15968 (initialize_team): Call pthread_key_create on
15969 gomp_thread_destructor.
15970 (team_destructor): New function.
15971 (new_team): Removed.
15972 (gomp_new_team): New function.
15973 (free_team): Free gomp_work_share blocks chained through next_alloc,
15974 instead of freeing work_shares and destroying work_share_lock.
15975 (gomp_team_end): Call gomp_fini_work_share. If number of threads
15976 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
15977 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
15978 of gomp_barrier_wait.
15979 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
15980 instead of gomp_barrier_wait. Call gomp_work_share_init_done
15981 if gomp_work_share_start returned true. Don't unlock ws->lock.
15982 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
15983 of gomp_barrier_wait.
15984 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
15985 gomp_work_share_init_done if gomp_work_share_start returned true.
15986 Don't unlock ws->lock.
15987 * work.c: Include stddef.h.
15988 (free_work_share): Use work_share_list_free_lock instead
15989 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
15990 Call gomp_fini_work_share and then either free ws if orphaned, or
15991 put it into work_share_list_free list of the current team.
15992 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
15993 functions.
15994 (gomp_work_share_start, gomp_work_share_end,
15995 gomp_work_share_end_nowait): Rewritten.
15996 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
15997 (openmp_version): Set to 200805.
15998 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15999 omp_sched_guided, omp_sched_auto): New parameters.
16000 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
16001 omp_set_max_active_levels, omp_get_max_active_levels,
16002 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
16003 omp_get_active_level): New interfaces.
16004 * omp_lib.h.in (openmp_version): Set to 200805.
16005 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
16006 omp_sched_guided, omp_sched_auto): New parameters.
16007 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
16008 omp_set_max_active_levels, omp_get_max_active_levels,
16009 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
16010 omp_get_active_level): New externals.
16011 * loop.c: Include limits.h.
16012 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
16013 GFS_AUTO.
16014 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
16015 Likewise. Use gomp_icv.
16016 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
16017 ts.static_trip here.
16018 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
16019 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
16020 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
16021 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
16022 don't unlock ws->lock, otherwise lock it.
16023 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
16024 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
16025 (gomp_parallel_loop_start): Call gomp_new_team instead of
16026 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
16027 Adjust gomp_team_start caller. Pass 0 as second argument to
16028 gomp_resolve_num_threads.
16029 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
16030 If adding ws->chunk_size nthreads + 1 times after end won't
16031 overflow, set ws->mode to 1.
16032 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
16033 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
16034 GOMP_loop_ull_ordered_static_start,
16035 GOMP_loop_ull_ordered_dynamic_start,
16036 GOMP_loop_ull_ordered_guided_start,
16037 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
16038 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
16039 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
16040 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
16041 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
16042 prototypes.
16043 * libgomp.map: Export lock routines also @@OMP_2.0.
16044 (GOMP_loop_ordered_dynamic_first,
16045 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
16046 GOMP_loop_ordered_static_first): Remove.
16047 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
16048 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
16049 GOMP_loop_ull_ordered_dynamic_next,
16050 GOMP_loop_ull_ordered_dynamic_start,
16051 GOMP_loop_ull_ordered_guided_next,
16052 GOMP_loop_ull_ordered_guided_start,
16053 GOMP_loop_ull_ordered_runtime_next,
16054 GOMP_loop_ull_ordered_runtime_start,
16055 GOMP_loop_ull_ordered_static_next,
16056 GOMP_loop_ull_ordered_static_start,
16057 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
16058 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
16059 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
16060 (omp_set_schedule, omp_get_schedule,
16061 omp_get_thread_limit, omp_set_max_active_levels,
16062 omp_get_max_active_levels, omp_get_level,
16063 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
16064 omp_set_schedule_, omp_set_schedule_8_,
16065 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
16066 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
16067 omp_get_max_active_levels_, omp_get_level_,
16068 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
16069 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
16070 New exports @@OMP_3.0.
16071 * omp.h.in (omp_sched_t): New type.
16072 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
16073 omp_set_max_active_levels, omp_get_max_active_levels,
16074 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
16075 omp_get_active_level): New prototypes.
16076 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
16077 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
16078 gomp_thread_limit_var, gomp_remaining_threads_count,
16079 gomp_remaining_threads_lock): New variables.
16080 (parse_spincount): New function.
16081 (initialize_env): Call gomp_init_num_threads unconditionally.
16082 Initialize gomp_available_cpus. Call parse_spincount,
16083 initialize gomp_{,throttled_}spin_count_var
16084 depending on presence and value of OMP_WAIT_POLICY and
16085 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
16086 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
16087 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
16088 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
16089 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
16090 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
16091 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
16092 (gomp_global_icv): New.
16093 (parse_schedule): Use it. Parse "auto".
16094 (omp_set_num_threads): Use gomp_icv.
16095 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
16096 Likewise.
16097 (omp_get_max_threads): Move from parallel.c.
16098 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
16099 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
16100 add ialias.
16101 (parse_stacksize, parse_wait_policy): New functions.
16102 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
16103 both wrappers for compatibility and new locks.
16104 (omp_set_schedule, omp_get_schedule,
16105 omp_get_thread_limit, omp_set_max_active_levels,
16106 omp_get_max_active_levels, omp_get_level,
16107 omp_get_ancestor_thread_num, omp_get_team_size,
16108 omp_get_active_level): New ialias_redirect.
16109 (omp_set_schedule_, omp_set_schedule_8_,
16110 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
16111 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
16112 omp_get_max_active_levels_, omp_get_level_,
16113 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
16114 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
16115 New functions.
16116 * parallel.c: Include limits.h.
16117 (gomp_resolve_num_threads): Add count argument. Rewritten.
16118 (GOMP_parallel_start): Call gomp_new_team and pass that as last
16119 argument to gomp_team_start. Pass 0 as second argument to
16120 gomp_resolve_num_threads.
16121 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
16122 if gomp_thread_limit_var != ULONG_MAX.
16123 (omp_in_parallel): Implement using ts.active_level.
16124 (omp_get_max_threads): Move to env.c.
16125 (omp_get_level, omp_get_ancestor_thread_num,
16126 omp_get_team_size, omp_get_active_level): New functions,
16127 add ialias.
16128 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
16129 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
16130 gomp_iter_dynamic_next instead of the _locked variant and don't take
16131 lock around it, otherwise acquire it before calling
16132 gomp_iter_dynamic_next_locked.
16133 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
16134 gomp_iter_dynamic_next instead of the _locked variant and don't take
16135 lock around it.
16136 (GOMP_parallel_sections_start): Call gomp_new_team instead of
16137 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
16138 Adjust gomp_team_start caller. Pass count as second argument to
16139 gomp_resolve_num_threads, don't adjust num_threads after the call.
16140 Use gomp_icv.
16141 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
16142 ws->chunk_size by incr.
16143 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
16144 code.
16145 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
16146 types.
16147 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
16148 (omp_check_defines): Check even the compat defines.
16149 * config/linux/ptrlock.c: New file.
16150 * config/linux/ptrlock.h: New file.
16151 * config/linux/wait.h: New file.
16152 * config/posix/ptrlock.c: New file.
16153 * config/posix/ptrlock.h: New file.
16154 * config/linux/bar.h (gomp_team_barrier_wait,
16155 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
16156 (gomp_team_barrier_set_task_pending,
16157 gomp_team_barrier_clear_task_pending,
16158 gomp_team_barrier_set_waiting_for_tasks,
16159 gomp_team_barrier_waiting_for_tasks,
16160 gomp_team_barrier_done): New inlines.
16161 (gomp_barrier_t): Rewritten.
16162 (gomp_barrier_state_t): New typedef.
16163 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
16164 gomp_barrier_wait_start): Rewritten.
16165 (gomp_barrier_wait_end): Change second argument to
16166 gomp_barrier_state_t.
16167 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
16168 inlines.
16169 * config/linux/bar.c: Include wait.h instead of libgomp.h and
16170 futex.h.
16171 (gomp_barrier_wait_end): Rewritten.
16172 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
16173 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
16174 * config/posix/bar.h (gomp_barrier_t): Add generation field.
16175 (gomp_barrier_state_t): New typedef.
16176 (gomp_team_barrier_wait,
16177 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
16178 (gomp_barrier_wait_start): Or all but low 2 bits from generation
16179 into the return value. Return gomp_barrier_state_t.
16180 (gomp_team_barrier_set_task_pending,
16181 gomp_team_barrier_clear_task_pending,
16182 gomp_team_barrier_set_waiting_for_tasks,
16183 gomp_team_barrier_waiting_for_tasks,
16184 gomp_team_barrier_done): New inlines.
16185 (gomp_barrier_wait_end): Change second argument to
16186 gomp_barrier_state_t.
16187 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
16188 inlines.
16189 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
16190 (gomp_barrier_wait_end): Change second argument to
16191 gomp_barrier_state_t.
16192 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
16193 gomp_team_barrier_wake): New functions.
16194 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
16195 futex.h.
16196 (gomp_futex_wake, gomp_futex_wait): New variables.
16197 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
16198 * config/linux/lock.c: Rewrite to make locks task owned,
16199 for backwards compatibility provide the old entrypoints
16200 if symbol versioning. Include wait.h instead of libgomp.h and
16201 futex.h.
16202 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
16203 * config/posix95/lock.c: Rewrite to make locks task owned,
16204 for backwards compatibility provide the old entrypoints
16205 if symbol versioning.
16206 * config/posix/lock.c: Rewrite to make locks task owned,
16207 for backwards compatibility provide the old entrypoints
16208 if symbol versioning.
16209 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
16210 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
16211 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
16212 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16213 (sys_futex0): Return error code.
16214 (futex_wake, futex_wait): If ENOSYS was returned, clear
16215 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16216 (cpu_relax, atomic_write_barrier): New static inlines.
16217 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16218 (futex_wake, futex_wait): If ENOSYS was returned, clear
16219 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16220 (cpu_relax, atomic_write_barrier): New static inlines.
16221 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16222 (sys_futex0): Return error code.
16223 (futex_wake, futex_wait): If ENOSYS was returned, clear
16224 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16225 (cpu_relax, atomic_write_barrier): New static inlines.
16226 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16227 (sys_futex0): Return error code.
16228 (futex_wake, futex_wait): If ENOSYS was returned, clear
16229 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16230 (cpu_relax, atomic_write_barrier): New static inlines.
16231 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16232 (sys_futex0): Return error code.
16233 (futex_wake, futex_wait): If ENOSYS was returned, clear
16234 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16235 (cpu_relax, atomic_write_barrier): New static inlines.
16236 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
16237 (sys_futex0): Return error code.
16238 (futex_wake, futex_wait): If ENOSYS was returned, clear
16239 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
16240 (cpu_relax, atomic_write_barrier): New static inlines.
16241 * config/linux/sem.c: Include wait.h instead of libgomp.h and
16242 futex.h.
16243 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
16244 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
16245 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
16246 types.
16247 (omp_nest_lock_t): Change owner into void *, add lock field.
16248 * config/posix95/omp-lock.h: Include semaphore.h.
16249 (omp_lock_25_t, omp_nest_lock_25_t): New types.
16250 (omp_lock_t): Use sem_t instead of mutex if semaphores
16251 aren't broken.
16252 (omp_nest_lock_t): Likewise. Change owner to void *.
16253 * config/posix/omp-lock.h: Include semaphore.h.
16254 (omp_lock_25_t, omp_nest_lock_25_t): New types.
16255 (omp_lock_t): Use sem_t instead of mutex if semaphores
16256 aren't broken.
16257 (omp_nest_lock_t): Likewise. Add owner field.
16258
16259 2008-06-06 Jakub Jelinek <jakub@redhat.com>
16260
16261 * testsuite/libgomp.c/collapse-1.c: New test.
16262 * testsuite/libgomp.c/collapse-2.c: New test.
16263 * testsuite/libgomp.c/collapse-3.c: New test.
16264 * testsuite/libgomp.c/icv-1.c: New test.
16265 * testsuite/libgomp.c/icv-2.c: New test.
16266 * testsuite/libgomp.c/lib-2.c: New test.
16267 * testsuite/libgomp.c/lock-1.c: New test.
16268 * testsuite/libgomp.c/lock-2.c: New test.
16269 * testsuite/libgomp.c/lock-3.c: New test.
16270 * testsuite/libgomp.c/loop-4.c: New test.
16271 * testsuite/libgomp.c/loop-5.c: New test.
16272 * testsuite/libgomp.c/loop-6.c: New test.
16273 * testsuite/libgomp.c/loop-7.c: New test.
16274 * testsuite/libgomp.c/loop-8.c: New test.
16275 * testsuite/libgomp.c/loop-9.c: New test.
16276 * testsuite/libgomp.c/nested-3.c: New test.
16277 * testsuite/libgomp.c/nestedfn-6.c: New test.
16278 * testsuite/libgomp.c/sort-1.c: New test.
16279 * testsuite/libgomp.c/task-1.c: New test.
16280 * testsuite/libgomp.c/task-2.c: New test.
16281 * testsuite/libgomp.c/task-3.c: New test.
16282 * testsuite/libgomp.c/task-4.c: New test.
16283 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
16284 to C++ testsuite default compiler options.
16285 * testsuite/libgomp.c++/collapse-1.C: New test.
16286 * testsuite/libgomp.c++/collapse-2.C: New test.
16287 * testsuite/libgomp.c++/ctor-10.C: New test.
16288 * testsuite/libgomp.c++/for-1.C: New test.
16289 * testsuite/libgomp.c++/for-2.C: New test.
16290 * testsuite/libgomp.c++/for-3.C: New test.
16291 * testsuite/libgomp.c++/for-4.C: New test.
16292 * testsuite/libgomp.c++/for-5.C: New test.
16293 * testsuite/libgomp.c++/loop-8.C: New test.
16294 * testsuite/libgomp.c++/loop-9.C: New test.
16295 * testsuite/libgomp.c++/loop-10.C: New test.
16296 * testsuite/libgomp.c++/task-1.C: New test.
16297 * testsuite/libgomp.c++/task-2.C: New test.
16298 * testsuite/libgomp.c++/task-3.C: New test.
16299 * testsuite/libgomp.c++/task-4.C: New test.
16300 * testsuite/libgomp.c++/task-5.C: New test.
16301 * testsuite/libgomp.c++/task-6.C: New test.
16302 * testsuite/libgomp.fortran/allocatable1.f90: New test.
16303 * testsuite/libgomp.fortran/allocatable2.f90: New test.
16304 * testsuite/libgomp.fortran/allocatable3.f90: New test.
16305 * testsuite/libgomp.fortran/allocatable4.f90: New test.
16306 * testsuite/libgomp.fortran/collapse1.f90: New test.
16307 * testsuite/libgomp.fortran/collapse2.f90: New test.
16308 * testsuite/libgomp.fortran/collapse3.f90: New test.
16309 * testsuite/libgomp.fortran/collapse4.f90: New test.
16310 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
16311 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
16312 * testsuite/libgomp.fortran/lib4.f90: New test.
16313 * testsuite/libgomp.fortran/lock-1.f90: New test.
16314 * testsuite/libgomp.fortran/lock-2.f90: New test.
16315 * testsuite/libgomp.fortran/nested1.f90: New test.
16316 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
16317 * testsuite/libgomp.fortran/strassen.f90: New test.
16318 * testsuite/libgomp.fortran/tabs1.f90: New test.
16319 * testsuite/libgomp.fortran/tabs2.f: New test.
16320 * testsuite/libgomp.fortran/task1.f90: New test.
16321 * testsuite/libgomp.fortran/task2.f90: New test.
16322 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
16323 * testsuite/libgomp.fortran/vla5.f90: Likewise.
16324 * testsuite/libgomp.c/pr26943-2.c: Likewise.
16325 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16326 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16327
16328 2008-05-23 Jakub Jelinek <jakub@redhat.com>
16329
16330 PR c++/36308
16331 * testsuite/libgomp.c++/ctor-11.C: New test.
16332 * testsuite/libgomp.c++/ctor-12.C: New test.
16333
16334 2008-05-15 Janis Johnson <janis187@us.ibm.com>
16335
16336 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
16337
16338 2008-05-07 Jakub Jelinek <jakub@redhat.com>
16339
16340 PR middle-end/36106
16341 * testsuite/libgomp.c/atomic-5.c: New test.
16342 * testsuite/libgomp.c/atomic-6.c: New test.
16343 * testsuite/libgomp.c/autopar-1.c: New test.
16344
16345 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16346
16347 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
16348 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
16349 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
16350 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
16351 * configure: Regenerate.
16352 * Makefile.in, testsuite/Makefile.in: Likewise.
16353
16354 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
16355
16356 PR bootstrap/35457
16357 * aclocal.m4: Regenerate.
16358 * configure: Regenerate.
16359
16360 2008-03-18 Jakub Jelinek <jakub@redhat.com>
16361
16362 PR middle-end/35611
16363 * testsuite/libgomp.c/atomic-4.c: New test.
16364
16365 PR libgomp/35625
16366 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
16367 (gomp_iter_guided_next): Likewise.
16368 * testsuite/libgomp.c/pr35625.c: New test.
16369
16370 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16371
16372 * aclocal.m4: Regenerate.
16373 * configure: Likewise.
16374 * Makefile.in: Likewise.
16375 * testsuite/Makefile.in: Likewise.
16376
16377 2008-03-13 Jakub Jelinek <jakub@redhat.com>
16378
16379 PR middle-end/35185
16380 * testsuite/libgomp.c++/pr35185.C: New test.
16381
16382 2008-03-12 Jakub Jelinek <jakub@redhat.com>
16383
16384 PR middle-end/35549
16385 * testsuite/libgomp.c/pr35549.c: New test.
16386
16387 2008-03-06 Jakub Jelinek <jakub@redhat.com>
16388
16389 * testsuite/libgomp.c/atomic-3.c: New test.
16390
16391 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16392
16393 PR fortran/33197
16394 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
16395 .F08 file suffixes.
16396
16397 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
16398
16399 PR libgomp/33131
16400 * configure.ac: Add ACX_HEADER_STRING.
16401 * env.c: Include strings.h.
16402 * aclocal.m4: Regenerate.
16403 * config.h.in: Regenerate.
16404 * configure: Regenerate.
16405 * Makefile.in: Regenerate.
16406 * testsuite/Makefile.in: Regenerate.
16407
16408 2008-02-15 Jakub Jelinek <jakub@redhat.com>
16409
16410 PR middle-end/35196
16411 * testsuite/libgomp.c/pr35196.c: New test.
16412
16413 PR middle-end/35130
16414 * testsuite/libgomp.fortran/pr35130.f90: New test.
16415 * testsuite/libgomp.c/pr35130.c: New test.
16416
16417 2008-01-25 Jakub Jelinek <jakub@redhat.com>
16418
16419 PR middle-end/33880
16420 * testsuite/libgomp.c/pr33880.c: New test.
16421 * testsuite/libgomp.fortran/pr33880.f90: New test.
16422
16423 2008-01-24 David Edelsohn <edelsohn@gnu.org>
16424
16425 * configure: Regenerate.
16426
16427 2008-01-08 Jakub Jelinek <jakub@redhat.com>
16428
16429 * configure.ac: Move futex checking into ../config/futex.m4.
16430 * configure: Rebuilt.
16431 * aclocal.m4: Rebuilt.
16432 * Makefile.in: Rebuilt.
16433
16434 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
16435 2007-10-15 ../config/tls.m4 change.
16436
16437 2007-12-19 Jakub Jelinek <jakub@redhat.com>
16438
16439 PR c++/34513
16440 * testsuite/libgomp.c/pr34513.c: New test.
16441 * testsuite/libgomp.c++/pr34513.C: New test.
16442
16443 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
16444
16445 PR target/32765
16446 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
16447
16448 2007-12-04 Jakub Jelinek <jakub@redhat.com>
16449
16450 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
16451
16452 2007-12-03 Jakub Jelinek <jakub@redhat.com>
16453
16454 * testsuite/libgomp.c/private-1.c: New test.
16455
16456 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
16457 Paolo Bonzini <bonzini@gnu.org>
16458
16459 * Makefile.am: Use space as vpath separator. Use 'vpath %'
16460 instead of 'VPATH ='.
16461 * Makefile.in: Regenerate.
16462
16463 2007-11-23 Matthias Klose <doko@ubuntu.com>
16464
16465 * configure.ac: Adjust makeinfo version check.
16466 * configure: Regenerate.
16467
16468 2007-11-10 Jakub Jelinek <jakub@redhat.com>
16469
16470 PR fortran/34020
16471 * testsuite/libgomp.fortran/pr34020.f90: New test.
16472
16473 2007-11-06 Jakub Jelinek <jakub@redhat.com>
16474
16475 PR c++/33894
16476 * testsuite/libgomp.c++/atomic-1.C: New test.
16477
16478 2007-10-25 Jakub Jelinek <jakub@redhat.com>
16479
16480 PR libgomp/33275
16481 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
16482 Make x and y integers rather than (implicit) reals. Add private (j)
16483 clause to the last omp parallel.
16484
16485 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
16486
16487 * configure: Regenerate following changes to ../config/tls.m4.
16488
16489 2007-09-28 Jakub Jelinek <jakub@redhat.com>
16490
16491 * testsuite/libgomp.fortran/stack.f90: New test.
16492
16493 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
16494
16495 * config/mingw32/proc.c: New file.
16496
16497 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
16498
16499 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
16500 (main): Use __get_cpuid to get i386 target fetaures.
16501 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
16502 (main): Use __get_cpuid to get x86_64 target fetaures.
16503
16504 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
16505
16506 PR target/32765
16507 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
16508 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
16509
16510 2007-07-12 Jakub Jelinek <jakub@redhat.com>
16511
16512 PR fortran/32550
16513 * testsuite/libgomp.fortran/pr32550.f90: New test.
16514 * testsuite/libgomp.fortran/crayptr2.f90: New test.
16515
16516 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
16517
16518 * aclocal.m4: Regenerated.
16519
16520 2007-07-05 Tobias Burnus <burnus@net-b.de>
16521
16522 PR fortran/32359
16523 * testsuite/libgomp.fortran/pr32359.f90: New.
16524
16525 2007-07-02 Jakub Jelinek <jakub@redhat.com>
16526
16527 PR libgomp/32468
16528 * sections.c (GOMP_parallel_sections_start): Only decrease
16529 number of threads to COUNT if dyn_var is true.
16530 * testsuite/libgomp.c/pr32468.c: New test.
16531
16532 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16533
16534 PR libgomp/26308
16535 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
16536
16537 2007-06-21 Jakub Jelinek <jakub@redhat.com>
16538
16539 PR middle-end/32362
16540 * testsuite/libgomp.c/pr32362-1.c: New test.
16541 * testsuite/libgomp.c/pr32362-2.c: New test.
16542 * testsuite/libgomp.c/pr32362-3.c: New test.
16543
16544 2007-06-07 Jakub Jelinek <jakub@redhat.com>
16545
16546 * team.c (gomp_team_start): Fix setting up thread_attr
16547 stack size.
16548
16549 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
16550
16551 * configure: Regenerate.
16552
16553 2007-05-23 Steve Ellcey <sje@cup.hp.com>
16554
16555 * Makefile.in: Regenerate.
16556 * configure: Regenerate.
16557 * aclocal.m4: Regenerate.
16558 * testsuite/Makefile.in: Regenerate.
16559
16560 2007-05-04 Jakub Jelinek <jakub@redhat.com>
16561
16562 * config/linux/proc.c: New file.
16563
16564 PR libgomp/28482
16565 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
16566
16567 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
16568
16569 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
16570
16571 2007-04-16 Matthias Klose <doko@debian.org>
16572
16573 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
16574 flags if not building with -m64.
16575 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
16576 flag for i?86-*-* targets, if current target matches -m64.
16577
16578 2007-04-14 Steve Ellcey <sje@cup.hp.com>
16579
16580 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
16581 * Makefile.in: Regenerate.
16582
16583 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16584
16585 PR testsuite/31369
16586 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
16587 ld_library_path.
16588 * testsuite/libgomp.fortran/fortran.exp: Likewise.
16589
16590 2007-04-04 Jakub Jelinek <jakub@redhat.com>
16591
16592 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
16593 decls.
16594 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
16595 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
16596 (parse_affinity): New function.
16597 (initialize_env): Call it and gomp_init_affinity.
16598 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
16599 create new pthread_attr_t and call gomp_init_thread_affinity
16600 on it for each thread before passing the attribute to pthread_create.
16601 * config/linux/affinity.c: New file.
16602 * config/posix/affinity.c: New file.
16603 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
16604 * configure: Rebuilt.
16605 * config.h.in: Rebuilt.
16606 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
16607 * Makefile.in: Rebuilt.
16608
16609 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
16610
16611 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
16612 *-*-darwin*.
16613 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
16614 and use it if found.
16615
16616 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
16617
16618 * testsuite/config/default.exp: New file.
16619 * testsuite/lib/libgomp.exp: New file.
16620 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
16621 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
16622 load_lib *, load_gcc_lib *): Move to libgomp.exp.
16623 (libgomp_load): Remove.
16624 * testsuite/lib/libgomp.exp (libgomp_init): Compute
16625 always_ld_library_path, not ld_library_path. Set additional_flags
16626 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
16627 (target_compile): Do not call libgomp_init. Append lang_library_path
16628 and lang_link_flags to options.
16629 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
16630 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
16631 here.
16632 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
16633 always_ld_library_path. Set LD_LIBRARY_PATH here.
16634 * testsuite/libgomp.fortran/fortran.exp: Ditto.
16635 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
16636 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
16637 CX8 flag.
16638 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
16639 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
16640 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
16641 * testsuite/libgomp.c/pr29947-1.c: Ditto.
16642 * testsuite/libgomp.c/atomic-10.c: Ditto.
16643
16644 2007-03-21 Jakub Jelinek <jakub@redhat.com>
16645
16646 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
16647 dg-final cleanup-modules line.
16648 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
16649 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
16650 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
16651 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
16652 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
16653 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
16654 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
16655
16656 2007-03-18 Andreas Schwab <schwab@suse.de>
16657
16658 * acinclude.m4: Adjust regular expression for ld version
16659 extraction.
16660 * configure: Regenerate.
16661
16662 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
16663
16664 * Makefile.am: Add install-pdf target as copied from
16665 automake v1.10 rules.
16666 * Makefile.in: Regenerate
16667
16668 2007-02-07 Jakub Jelinek <jakub@redhat.com>
16669
16670 PR libgomp/28486
16671 * configure: Regenerate.
16672
16673 PR c++/30703
16674 * testsuite/libgomp.c++/pr30703.C: New test.
16675
16676 2007-02-02 Jakub Jelinek <jakub@redhat.com>
16677
16678 Revert:
16679 2006-07-05 Eric Christopher <echristo@apple.com>
16680 * configure.ac: Depend addition of -pthread on host OS.
16681 * configure: Regenerate.
16682
16683 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16684
16685 * libgomp.texi: Fix spacing after abbreviations.
16686
16687 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
16688
16689 PR libgomp/30546
16690 * configure.ac: Add check for makeinfo
16691 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
16692 if an appropriate version of makeinfo is found.
16693 * aclocal.m4: Regenerated.
16694 * configure: Regenerated.
16695 * Makefile.in: Regenerated.
16696 * testsuite/Makefile.in: Regenerated.
16697
16698 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
16699
16700 PR libgomp/30540
16701 * libgomp.texi: More about implementation-dependent settings.
16702
16703 2007-01-26 Tobias Burnus <burnus@net-b.de>
16704
16705 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16706
16707 2007-01-24 Jakub Jelinek <jakub@redhat.com>
16708
16709 PR middle-end/30494
16710 * testsuite/libgomp.c/pr30494.c: New test.
16711
16712 2007-01-15 Tom Tromey <tromey@redhat.com>
16713
16714 * configure: Rebuilt.
16715 * configure.ac: Fixed comment.
16716
16717 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
16718
16719 * libgomp.texi: Document implementation specific default values of
16720 environment variables.
16721
16722 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
16723
16724 PR libgomp/28209
16725 * libgomp.texi: New file.
16726 * configure.ac: Add --enable-generated-files-in-srcdir option.
16727 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
16728 files to srcdir.
16729 * Makefile.in: Regenerated.
16730 * config.h.in: Regenerated.
16731 * testsuite/Makefile.in: Regenerated.
16732 * NOTES: Removed.
16733
16734 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
16735
16736 PR libgomp/29949
16737 * env.c (omp_set_num_threads): Set illegal thread count to 1.
16738
16739 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
16740
16741 * configure: Regenerate.
16742
16743 2006-12-04 Jakub Jelinek <jakub@redhat.com>
16744
16745 PR libgomp/29947
16746 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
16747 start if there shouldn't be any loop iterations.
16748 (gomp_loop_ordered_static_start): Remove start == end test.
16749 * testsuite/libgomp.c/pr29947-1.c: New test.
16750 * testsuite/libgomp.c/pr29947-2.c: New test.
16751
16752 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
16753
16754 * configure.tgt: Force initial-exec TLS model on Linux only.
16755
16756 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
16757
16758 * configure: Regenerated.
16759
16760 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
16761
16762 * env.c (parse_schedule): Reject out of range values.
16763 (parse_unsigned_long): Reject out of range, negative or zero values.
16764
16765 2006-10-29 Jakub Jelinek <jakub@redhat.com>
16766
16767 PR fortran/29629
16768 * testsuite/libgomp.fortran/pr29629.f90: New test.
16769
16770 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
16771
16772 PR libgomp/29494
16773 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
16774 * config/posix95: New directory.
16775 * config/posix95/omp-lock.h: New file.
16776 * config/posix95/lock.c: Likewise.
16777
16778 2006-10-14 Geoffrey Keating <geoffk@apple.com>
16779
16780 * aclocal.m4: Regenerate.
16781 * configure: Regenerate.
16782
16783 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16784
16785 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16786 '<' to '<='.
16787
16788 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16789
16790 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16791 test.
16792 * configure: Regenerate.
16793 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16794
16795 2006-09-26 Jakub Jelinek <jakub@redhat.com>
16796
16797 PR middle-end/25261
16798 PR middle-end/28790
16799 * testsuite/libgomp.c/nestedfn-4.c: New test.
16800 * testsuite/libgomp.c/nestedfn-5.c: New test.
16801 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
16802
16803 PR fortran/29097
16804 * testsuite/libgomp.fortran/condinc1.f: New test.
16805 * testsuite/libgomp.fortran/condinc2.f: New test.
16806 * testsuite/libgomp.fortran/condinc3.f90: New test.
16807 * testsuite/libgomp.fortran/condinc4.f90: New test.
16808 * testsuite/libgomp.fortran/condinc1.inc: New file.
16809
16810 2006-09-18 Tom Tromey <tromey@redhat.com>
16811
16812 * configure: Rebuilt.
16813
16814 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
16815
16816 PR c/28768
16817 PR preprocessor/14634
16818 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16819 to AC_DEFINE.
16820 * configure: Regenerate.
16821
16822 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
16823
16824 * testsuite/libgomp.fortran/reduction3.f90: Change
16825 -2147483648 to -huge(i)-1 to avoid overflow.
16826 * testsuite/libgomp.fortran/reduction4.f90: Change
16827 Z'ffffffff' to not(0) to avoid overflow.
16828
16829 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
16830
16831 PR libgomp/25938
16832 * Makefile.am (libsubincludedir): New.
16833 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16834 * Makefile.in: Regenerate.
16835
16836 2006-08-17 Jakub Jelinek <jakub@redhat.com>
16837
16838 PR libgomp/28725
16839 * env.c: Include ctype.h.
16840 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
16841 leading and/or trailing whitespace and compare strings case
16842 insensitively.
16843
16844 2006-07-16 Jakub Jelinek <jakub@redhat.com>
16845
16846 PR fortran/28390
16847 * testsuite/libgomp.fortran/pr28390.f: New test.
16848
16849 2006-07-05 Eric Christopher <echristo@apple.com>
16850
16851 * configure.ac: Depend addition of -pthread on host OS.
16852 * configure: Regenerate.
16853
16854 2006-06-21 Jakub Jelinek <jakub@redhat.com>
16855
16856 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16857 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16858 defined.
16859
16860 2006-06-20 Jakub Jelinek <jakub@redhat.com>
16861
16862 PR libgomp/26175
16863 PR libgomp/26477
16864 * configure.ac: If neither --enable-linux-futex nor
16865 --disable-linux-futex is passed, determine the default by checking
16866 for compiling and/or running against NPTL. With --enable-linux-futex,
16867 check if SYS_gettid and SYS_futex are defined.
16868 * configure: Rebuilt.
16869
16870 2006-06-14 Richard Henderson <rth@redhat.com>
16871
16872 PR libgomp/28008
16873 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16874 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16875
16876 2006-06-09 Richard Henderson <rth@redhat.com>
16877
16878 * env.c (gomp_nthreads_var): Change to unsigned long.
16879 (gomp_run_sched_chunk): Likewise.
16880 (parse_unsigned_long): Rename from parse_num_threads and generalize.
16881 (initialize_env): Initialize gomp_thread_attr.
16882 * libgomp.h (gomp_nthreads_var): Update decl.
16883 (gomp_run_sched_chunk): Likewise.
16884 (gomp_thread_attr): Declare.
16885 * team.c (gomp_thread_attr): Export.
16886 (initialize_team): Don't initialize it.
16887
16888 2006-06-09 Jakub Jelinek <jakub@redhat.com>
16889
16890 PR fortran/27916
16891 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16892 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16893
16894 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16895
16896 * config/mingw32/time.c: New file.
16897 * configure.tgt: Use it.
16898
16899 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
16900
16901 * Makefile.am: Add install-html target. Add install-html to .PHONY
16902 * Makefile.in: Regenerate.
16903
16904 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16905
16906 PR libgomp/27612
16907 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16908 * testsuite/libgomp.c/critical-1.c: Likewise.
16909 * testsuite/libgomp.c/loop-1.c: Likewise.
16910 * testsuite/libgomp.c/loop-2.c: Likewise.
16911 * testsuite/libgomp.c/single-1.c: Likewise.
16912 * testsuite/libgomp.c/ordered-1.c: Likewise.
16913 * testsuite/libgomp.c/ordered-2.c: Likewise.
16914
16915 2006-05-15 Jakub Jelinek <jakub@redhat.com>
16916
16917 PR middle-end/27416
16918 * libgomp.fortran/pr27416-1.f90: New test.
16919
16920 2006-05-03 Jakub Jelinek <jakub@redhat.com>
16921
16922 PR fortran/27395
16923 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
16924 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
16925
16926 2006-05-02 Jakub Jelinek <jakub@redhat.com>
16927
16928 PR c++/26943
16929 * testsuite/libgomp.c/pr26943-1.c: New test.
16930 * testsuite/libgomp.c/pr26943-2.c: New test.
16931 * testsuite/libgomp.c/pr26943-3.c: New test.
16932 * testsuite/libgomp.c/pr26943-4.c: New test.
16933 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
16934 * testsuite/libgomp.c++/pr26943.C: New test.
16935
16936 2006-05-02 Jakub Jelinek <jakub@redhat.com>
16937
16938 PR middle-end/27337
16939 * testsuite/libgomp.c++/pr27337.C: New test.
16940
16941 2006-04-26 Jakub Jelinek <jakub@redhat.com>
16942
16943 PR c/26171
16944 * testsuite/libgomp.c/pr26171.c: New test.
16945
16946 2006-04-25 Richard Henderson <rth@redhat.com>
16947
16948 PR libgomp/25865
16949 * configure.ac: Use GCC_CHECK_TLS.
16950 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16951 * Makefile.in, aclocal.m4, configure: Regenerate.
16952
16953 2006-04-10 Matthias Klose <doko@debian.org>
16954
16955 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16956 directory names containing underscores.
16957
16958 2006-03-21 Jakub Jelinek <jakub@redhat.com>
16959
16960 PR c++/26691
16961 * testsuite/libgomp.c++/pr26691.C: New test.
16962
16963 2006-03-13 Jakub Jelinek <jakub@redhat.com>
16964
16965 * testsuite/libgomp.fortran/retval2.f90: New test.
16966
16967 2006-03-09 Diego Novillo <dnovillo@redhat.com>
16968
16969 * testsuite/libgomp.c++: New directory.
16970
16971 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
16972
16973 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
16974 * config/posix/sem.c: Implement the above.
16975
16976 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
16977
16978 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
16979 define HAVE_BROKEN_POSIX_SEMAPHORES.
16980 * configure: Rebuilt.
16981 * config.h.in: Rebuilt.
16982
16983 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16984
16985 PR bootstrap/26161
16986 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
16987 for the other pthread check.
16988 * configure: Regenerate.
16989 * config.h.in: Regenerate.
16990
16991 2006-02-15 Jakub Jelinek <jakub@redhat.com>
16992
16993 PR libgomp/25938
16994 PR libgomp/25984
16995 * Makefile.am (fincludedir): New variable.
16996 (nodist_include_HEADERS): Remove Fortran files.
16997 (nodist_finclude_HEADERS): New variable.
16998 * Makefile.in: Regenerated.
16999
17000 2006-02-13 Jakub Jelinek <jakub@redhat.com>
17001
17002 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
17003 Remove tests for returning assumed character length arrays.
17004
17005 2006-02-12 Roger Sayle <roger@eyesopen.com>
17006 John David Anglin <dave@hiauly1.hia.nrc.ca>
17007
17008 PR libgomp/25936
17009 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
17010
17011 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
17012
17013 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
17014
17015 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
17016
17017 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
17018 part of LD_LIBRARY_PATH manually.
17019
17020 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
17021
17022 PR libgomp/25852
17023 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
17024 libgomp_init.
17025
17026 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
17027
17028 PR libgomp/25884
17029 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
17030 * configure.ac (PERL): Don't set.
17031 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
17032 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
17033 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
17034 * omp.h.in: Wrap the new configure substitutions with @ characters.
17035 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
17036 * aclocal.m4, configure, Makefile.in: Regenerate.
17037 * mkomp_h.pl: Delete.
17038
17039 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
17040
17041 PR libgomp/25259
17042 * configure.ac: Use GCC_HEADER_STDINT.
17043 * libgomp.h: Include gstdint.h.
17044 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
17045 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
17046
17047 2006-01-24 Richard Henderson <rth@redhat.com>
17048
17049 PR libgomp/25942
17050 * configure.ac: Add AM_MAINTAINER_MODE.
17051 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
17052
17053 2006-01-24 Diego Novillo <dnovillo@redhat.com>
17054
17055 * Makefile.in: Regenerate.
17056 * testsuite/Makefile.in: Regenerate.
17057 * aclocal.m4: Regenerate.
17058
17059 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
17060
17061 * config/posix/proc.c: Conditional include of sys/loadavg.h for
17062 Solaris.
17063 * configure.ac: Add check for loadavg.h.
17064 (link_gomp): Adjust comment.
17065 * configure: Regenerate.
17066 * config.h.in: Regenerate.
17067
17068 2006-01-21 Steve Ellcey <sje@cup.hp.com>
17069
17070 PR libgomp/25877
17071 * configure.ac: Remove check for alloca.h.
17072 * configure: Regenerate.
17073 * config.h.in: Regenerate.
17074 * libgomp.h: define gomp_alloca to be __builtin_alloca.
17075 * team.c: Remove use of alloca.h.
17076 Call gomp_alloca instead of alloca.
17077
17078 2006-01-20 Steve Ellcey <sje@cup.hp.com>
17079
17080 PR libgomp/25877
17081 * team.c: Add include of alloca.h.
17082 * configure.ac: Add check for alloca.h.
17083 * configure: Regenerate.
17084 * config.h.in: Regenerate.
17085
17086 2006-01-17 Jakub Jelinek <jakub@redhat.com>
17087
17088 PR fortran/25219
17089 * testsuite/libgomp.fortran/pr25219.f90: New test.
17090
17091 2005-12-05 Uros Bizjak <uros@kss-loka.si>
17092
17093 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
17094 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
17095 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
17096 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
17097 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
17098 testsuite/libgomp.fortran/threadprivate1.f90,
17099 testsuite/libgomp.fortran/threadprivate2.f90,
17100 testsuite/libgomp.fortran/threadprivate3.f90,
17101 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
17102 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
17103 testsuite/libgomp.fortran/omp_parse3.f90: Change required
17104 effective-target to TLS runtime.
17105
17106 * testsuite/libgomp.fortran/pr25162.f: Require
17107 effective-target TLS runtime.
17108
17109 2005-12-01 Jakub Jelinek <jakub@redhat.com>
17110
17111 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
17112 * testsuite/libgomp.c/nestedfn-3.c: New test.
17113
17114 2005-11-30 Jakub Jelinek <jakub@redhat.com>
17115
17116 PR fortran/25162
17117 * testsuite/libgomp.fortran/pr25162.f: New test.
17118
17119 2005-11-28 Jakub Jelinek <jakub@redhat.com>
17120
17121 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
17122 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
17123
17124 2005-11-25 Jakub Jelinek <jakub@redhat.com>
17125
17126 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
17127 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
17128 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
17129 single.c, team.c, work.c, config/linux/alpha/futex.h,
17130 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
17131 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
17132 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
17133 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
17134 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
17135 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
17136 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
17137 FSF address.
17138
17139 2005-11-18 Jakub Jelinek <jakub@redhat.com>
17140
17141 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
17142 to nodist_noinst_HEADERS.
17143 * Makefile.in: Rebuilt.
17144
17145 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
17146 add integer count field.
17147 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
17148 omp_nest_lock_t type change.
17149 (omp_init_nest_lock): Likewise. Initialize count to 0.
17150 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
17151 Increment count.
17152 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
17153 Decrement count.
17154 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
17155 Increment count if successful and return the new nesting level.
17156 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
17157 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
17158 * testsuite/libgomp.c/lib-1.c: New test.
17159 * testsuite/libgomp.fortran/lib1.f90: New test.
17160 * testsuite/libgomp.fortran/lib2.f: New test.
17161 * testsuite/libgomp.fortran/lib3.f: New test.
17162
17163 2005-11-17 Richard Henderson <rth@redhat.com>
17164
17165 PR 24845
17166 * Makefile.am (nodist_toolexeclib_HEADERS): New.
17167 * configure.ac (link_gomp): New. Substitute it.
17168 (AC_CONFIG_FILES): Add libgomp.spec.
17169 * libgomp.spec.in: New file.
17170 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
17171 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
17172
17173 2005-11-18 Jakub Jelinek <jakub@redhat.com>
17174
17175 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
17176 reduction(-:var) behaving the same as reduction(+:var).
17177 * testsuite/libgomp.c/reduction-4.c: New test.
17178
17179 2005-11-15 Uros Bizjak <uros@kss-loka.si>
17180
17181 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
17182 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
17183 testsuite/libgomp.c/copyin-3.c,
17184 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
17185 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
17186 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
17187 testsuite/libgomp.c++/pr24455.C,
17188 testsuite/libgomp.fortran/threadprivate1.f90,
17189 testsuite/libgomp.fortran/threadprivate2.f90,
17190 testsuite/libgomp.fortran/threadprivate3.f90,
17191 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
17192 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
17193 testsuite/libgomp.fortran/omp_parse3.f90: Require
17194 effective-target TLS.
17195
17196 2005-11-14 Diego Novillo <dnovillo@redhat.com>
17197
17198 * HEADER: Remove.
17199
17200 2005-11-13 Jakub Jelinek <jakub@redhat.com>
17201
17202 PR libgomp/24797
17203 * team.c (initialize_team): Pass NULL rather than free as
17204 pthread_key_create destructor. Initialize thread specific data
17205 pointer in initial thread to a static local variable rather than
17206 malloced memory.
17207
17208 2005-11-11 Uros Bizjak <uros@kss-loka.si>
17209
17210 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
17211 its location to ld_library_path.
17212
17213 2005-11-10 Diego Novillo <dnovillo@redhat.com>
17214
17215 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
17216
17217 2005-11-10 Diego Novillo <dnovillo@redhat.com>
17218
17219 * testsuite/libgomp.c: Rename from libgomp.dg.
17220
17221 2005-11-09 Diego Novillo <dnovillo@redhat.com>
17222
17223 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
17224 threadprivate variable 'i'.
17225
17226 2005-11-09 Jakub Jelinek <jakub@redhat.com>
17227
17228 * config/linux/s390/futex.h: New file.
17229 * configure.tgt: Use it.
17230
17231 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
17232 before the parallel.
17233
17234 2005-11-08 Jakub Jelinek <jakub@redhat.com>
17235
17236 PR c++/24734
17237 * testsuite/libgomp.c++/master-1.C: New test.
17238
17239 2005-11-07 Jakub Jelinek <jakub@redhat.com>
17240
17241 * testsuite/libgomp.dg/copyin-3.c: New test.
17242
17243 2005-11-07 Jakub Jelinek <jakub@redhat.com>
17244
17245 * testsuite/libgomp.fortran/retval1.f90: New test.
17246 * testsuite/libgomp.fortran/vla7.f90: New test.
17247
17248 2005-11-06 Jakub Jelinek <jakub@redhat.com>
17249
17250 * testsuite/libgomp.fortran/vla2.f90: New test.
17251 * testsuite/libgomp.fortran/vla3.f90: New test.
17252 * testsuite/libgomp.fortran/vla4.f90: New test.
17253 * testsuite/libgomp.fortran/vla5.f90: New test.
17254 * testsuite/libgomp.fortran/vla6.f90: New test.
17255
17256 2005-11-01 Jakub Jelinek <jakub@redhat.com>
17257
17258 * config/linux/sparc/futex.h: New file.
17259 * configure.tgt: Use it.
17260 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
17261
17262 * critical.c: Include stdlib.h.
17263 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
17264 ignoring return value.
17265 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
17266 LIBGOMP_CHECK_SYNC_BUILTINS check.
17267 * configure: Rebuilt.
17268
17269 2005-10-31 Jakub Jelinek <jakub@redhat.com>
17270
17271 * testsuite/libgomp.fortran/vla1.f90: New test.
17272
17273 2005-10-31 Richard Henderson <rth@redhat.com>
17274
17275 * testsuite/libgomp.fortran/character2.f90: Fix race condition
17276 setting 's' in different threads.
17277
17278 2005-10-31 Jakub Jelinek <jakub@redhat.com>
17279
17280 * libgomp.h (attribute_hidden, ialias): Define.
17281 * config/posix/proc.c (omp_get_num_procs): Add ialias.
17282 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
17283 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
17284 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
17285 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
17286 omp_test_lock, omp_test_nest_lock): Likewise.
17287 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
17288 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
17289 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
17290 omp_test_lock, omp_test_nest_lock): Likewise.
17291 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
17292 omp_get_dynamic, omp_get_nested): Likewise.
17293 * parallel.c (omp_get_num_threads, omp_get_max_threads,
17294 omp_get_thread_num, omp_in_parallel): Likewise.
17295 * fortran.c (ialias_redirect): Define.
17296 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
17297 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
17298 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
17299 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
17300 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
17301 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
17302 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
17303 omp_get_wtime): Add ialias_redirect.
17304
17305 2005-10-30 Jakub Jelinek <jakub@redhat.com>
17306
17307 * fortran.c: Include stdlib.h.
17308
17309 2005-10-29 Jakub Jelinek <jakub@redhat.com>
17310
17311 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
17312 * Makefile.in: Regenerated.
17313
17314 2005-10-28 Jakub Jelinek <jakub@redhat.com>
17315
17316 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
17317 * libgomp_f.h.in (omp_check_defines): New function.
17318 * env.c: Include libgomp_f.h.
17319 (initialize_env): Call omp_check_defines.
17320
17321 * testsuite/libgomp.dg/copyin-2.c: New test.
17322 * testsuite/libgomp.c++/copyin-2.C: New test.
17323 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
17324
17325 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
17326 * testsuite/libgomp.fortran/sharing2.f90: New test.
17327
17328 * testsuite/libgomp.dg/copyin-1.c: New test.
17329 * testsuite/libgomp.c++/copyin-1.C: New test.
17330
17331 2005-10-26 Jakub Jelinek <jakub@redhat.com>
17332
17333 * testsuite/libgomp.fortran/crayptr1.f90: New test.
17334
17335 * testsuite/libgomp.fortran/workshare1.f90: New test.
17336
17337 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
17338 only test.
17339 * libgomp.fortran/sharing1.f90: New test.
17340
17341 2005-10-24 Jakub Jelinek <jakub@redhat.com>
17342
17343 PR c++/24502
17344 * testsuite/libgomp.c++/loop-7.C: New test.
17345
17346 * testsuite/libgomp.dg/nestedfn-2.c: New test.
17347
17348 * testsuite/libgomp.dg/nestedfn-1.c: New test.
17349 * testsuite/libgomp.fortran/reduction6.f90: New test.
17350 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
17351
17352 2005-10-23 Richard Henderson <rth@redhat.com>
17353
17354 * testsuite/libgomp.c++/ctor-1.C: New.
17355 * testsuite/libgomp.c++/ctor-2.C: New.
17356 * testsuite/libgomp.c++/ctor-3.C: New.
17357 * testsuite/libgomp.c++/ctor-4.C: New.
17358 * testsuite/libgomp.c++/ctor-5.C: New.
17359 * testsuite/libgomp.c++/ctor-6.C: New.
17360 * testsuite/libgomp.c++/ctor-7.C: New.
17361 * testsuite/libgomp.c++/ctor-8.C: New.
17362 * testsuite/libgomp.c++/ctor-9.C: New.
17363
17364 2005-10-21 Diego Novillo <dnovillo@redhat.com>
17365
17366 PR 24455
17367 * testsuite/libgomp.c++/pr24455-1.C: New test.
17368 * testsuite/libgomp.c++/pr24455.C: New test.
17369 * testsuite/libgomp.dg/pr24455-1.c: New test.
17370 * testsuite/libgomp.dg/pr24455.c: New test.
17371
17372 2005-10-20 Richard Henderson <rth@redhat.com>
17373
17374 * testsuite/libgomp.c++/loop-6.C: New.
17375 * testsuite/libgomp.dg/loop-3.c: New.
17376
17377 2005-10-20 Jakub Jelinek <jakub@redhat.com>
17378
17379 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
17380 explicitly private.
17381 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
17382 explicitly shared.
17383
17384 2005-10-19 Diego Novillo <dnovillo@redhat.com>
17385
17386 * testsuite/libgomp.fortran/jacobi.f: New test.
17387
17388 2005-10-19 Richard Henderson <rth@redhat.com>
17389
17390 * configure.tgt (i?86-linux): Default to with_arch instead of
17391 CFLAGS. Add -mtune to match target_cpu.
17392 (x86_64-linux): Tune to i686.
17393
17394 * fortran.c (omp_test_nest_lock_): Fix typo.
17395
17396 2005-10-19 Jakub Jelinek <jakub@redhat.com>
17397
17398 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17399 gomp_ordered_sync): Do nothing if team->nthreads == 1.
17400 * testsuite/libgomp.dg/ordered-3.c: New test.
17401
17402 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
17403 Remove volatile keyword.
17404
17405 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
17406 in COMMON block to avoid warnings on 64-bit targets.
17407
17408 2005-10-18 Diego Novillo <dnovillo@redhat.com>
17409
17410 * testsuite/libgomp.dg/shared-3.c: New test.
17411
17412 2005-10-18 Jakub Jelinek <jakub@redhat.com>
17413
17414 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
17415 * testsuite/libgomp.fortran/reduction5.f90: New test.
17416
17417 2005-10-18 Jakub Jelinek <jakub@redhat.com>
17418
17419 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
17420 dg-options.
17421 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
17422 flush loop now that __sync_synchronize has proper memory barrier.
17423 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
17424 Add -ffixed-form to dg-options.
17425
17426 2005-10-17 Diego Novillo <dnovillo@redhat.com>
17427
17428 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
17429 from subdirectories.
17430 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
17431 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
17432 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
17433 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
17434 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
17435 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
17436 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
17437 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
17438 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
17439 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
17440 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
17441 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
17442 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
17443 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
17444 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
17445 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
17446 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
17447 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
17448 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
17449 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
17450 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
17451 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
17452 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
17453 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
17454 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
17455
17456 2005-10-17 Jakub Jelinek <jakub@redhat.com>
17457
17458 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
17459 lang_library_path exists. Use find instead of glob to gather tests.
17460 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
17461
17462 2005-10-17 Diego Novillo <dnovillo@redhat.com>
17463
17464 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
17465 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
17466 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
17467 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
17468 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
17469 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
17470 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
17471 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
17472 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
17473 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
17474 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
17475 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
17476 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
17477
17478 2005-10-15 Jakub Jelinek <jakub@redhat.com>
17479
17480 * testsuite/libgomp.dg/vla-1.c: New test.
17481
17482 * testsuite/libgomp.fortran/reference2.f90: New test.
17483
17484 * testsuite/libgomp.fortran/character2.f90: Remove explicit
17485 declaration of omp_get_thread_num.
17486 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
17487 use omp_lib.
17488
17489 * testsuite/libgomp.fortran/reduction1.f90: New test.
17490 * testsuite/libgomp.fortran/reduction2.f90: New test.
17491 * testsuite/libgomp.fortran/reduction3.f90: New test.
17492 * testsuite/libgomp.fortran/reduction4.f90: New test.
17493
17494 2005-10-13 Richard Henderson <rth@redhat.com>
17495
17496 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
17497 * Makefile.in: Regenerate.
17498 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
17499 * libgomp.h: Include bar.h.
17500 (struct gomp_barrier): Remove.
17501 (struct gomp_team): Add barrier. Replace master_barrier with
17502 master_release. Replace threads with ordered_release.
17503 (struct gomp_thread): Replace barrier with release.
17504 * ordered.c (gomp_ordered_first): Update for ordered_release change.
17505 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
17506 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
17507 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
17508 (GOMP_single_copy_end): Likewise.
17509 * team.c (gomp_threads_dock): New.
17510 (gomp_barrier_init, gomp_barrier_destroy): Remove.
17511 (gomp_thread_start): Use gomp_barrier_wait.
17512 (new_team, free_team): Update for gomp_team changes.
17513 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
17514 (gomp_team_end): Use gomp_barrier_wait.
17515 (initialize_team): Update for gomp_thread changes.
17516 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
17517 (gomp_work_share_end_nowait): Use atomic ops when available.
17518 * config/linux/bar.c, config/linux/bar.h: New files.
17519 * config/posix/bar.c, config/posix/bar.h: New files.
17520
17521 2005-10-13 Jakub Jelinek <jakub@redhat.com>
17522
17523 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
17524 * testsuite/libgomp.dg/single-2.c: New test.
17525
17526 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
17527 lang_link_flags): Unset, so that they aren't inherited from previously
17528 sourced *.exp.
17529
17530 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
17531
17532 2005-10-12 Richard Henderson <rth@redhat.com>
17533
17534 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
17535 (libgomp_init): Use lang_test_file, lang_library_path, and
17536 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
17537
17538 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
17539 (lang_test_file, lang_link_flags): New.
17540 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
17541
17542 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
17543 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
17544 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
17545 testsuite/libgomp.c++/parallel-1.C,
17546 testsuite/libgomp.c++/reduction-1.C,
17547 testsuite/libgomp.c++/reduction-2.C,
17548 testsuite/libgomp.c++/reduction-3.C,
17549 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
17550 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
17551 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
17552 New files, largely cribbed from the C testsuite.
17553
17554 2005-10-12 Jakub Jelinek <jakub@redhat.com>
17555
17556 * testsuite/libgomp.fortran/character1.f90: New test.
17557 * testsuite/libgomp.fortran/character2.f90: New test.
17558
17559 * testsuite/libgomp.dg/nested-1.c: New test.
17560 * testsuite/libgomp.dg/nested-2.c: New test.
17561 * testsuite/libgomp.fortran/do1.f90: New test.
17562 * testsuite/libgomp.fortran/do2.f90: New test.
17563
17564 * testsuite/libgomp.fortran/reference1.f90: New test.
17565
17566 2005-10-11 Jakub Jelinek <jakub@redhat.com>
17567
17568 * testsuite/libgomp.dg/reduction-1.c: New test.
17569 * testsuite/libgomp.dg/reduction-2.c: New test.
17570 * testsuite/libgomp.dg/reduction-3.c: New test.
17571
17572 2005-10-10 Jakub Jelinek <jakub@redhat.com>
17573
17574 * testsuite/libgomp.dg/atomic-1.c: New test.
17575 * testsuite/libgomp.dg/atomic-2.c: New test.
17576
17577 2005-10-09 Richard Henderson <rth@redhat.com>
17578
17579 * critical.c (atomic_lock): New.
17580 (initialize_critical): Initialize it.
17581 (GOMP_atomic_start, GOMP_atomic_end): New.
17582 * libgomp.map: Export them.
17583 * libgomp_g.h: Declare them.
17584
17585 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
17586
17587 2005-10-02 Richard Henderson <rth@redhat.com>
17588
17589 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
17590 to XCFLAGS instead of CFLAGS.
17591
17592 2005-09-30 Richard Henderson <rth@redhat.com>
17593
17594 * configure.ac: Determine whether -pthread or -lpthread is needed.
17595 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
17596 * Makefile.in, configure: Rebuild.
17597
17598 2005-09-28 Richard Henderson <rth@redhat.com>
17599
17600 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
17601 * testsuite/libgomp.dg/omp-single-3.c: New test.
17602
17603 2005-09-28 Diego Novillo <dnovillo@redhat.com>
17604
17605 * testsuite/libgomp.dg/omp-single-2.c: New test.
17606 * testsuite/libgomp.dg/shared-2.c: Fix return code.
17607
17608 2005-09-27 Richard Henderson <rth@redhat.com>
17609
17610 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
17611 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
17612
17613 2005-09-27 Jakub Jelinek <jakub@redhat.com>
17614
17615 * testsuite/libgomp.dg/omp-loop03.c: New test.
17616
17617 2005-09-27 Diego Novillo <dnovillo@redhat.com>
17618
17619 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
17620
17621 2005-09-27 Diego Novillo <dnovillo@redhat.com>
17622
17623 * testsuite/libgomp.dg/omp-single-1.c: New test.
17624 * testsuite/libgomp.dg/shared-1.c: Return 0.
17625 Add prototype for abort.
17626 * testsuite/libgomp.dg/shared-2.c: Likewise.
17627
17628 2005-09-26 Jakub Jelinek <jakub@redhat.com>
17629
17630 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
17631 constructs.
17632
17633 2005-09-26 Diego Novillo <dnovillo@redhat.com>
17634
17635 * testsuite/libgomp.dg/shared-1.c: New test.
17636 * testsuite/libgomp.dg/shared-2.c: New test.
17637
17638 2005-09-24 Richard Henderson <rth@redhat.com>
17639
17640 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
17641
17642 2005-09-24 Richard Henderson <rth@redhat.com>
17643
17644 * iter.c (gomp_iter_static_next): Round up when computing number
17645 of iterations. Don't bother distributing a remainder equally.
17646
17647 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
17648 Don't call srand. Zero b before testing.
17649 (main): New.
17650
17651 2005-09-24 Jakub Jelinek <jakub@redhat.com>
17652
17653 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
17654 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
17655
17656 2005-09-23 Jakub Jelinek <jakub@redhat.com>
17657
17658 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
17659 without !$omp end do, followed immediately by subroutine end.
17660
17661 2005-09-23 Diego Novillo <dnovillo@redhat.com>
17662
17663 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
17664
17665 2005-09-22 Richard Henderson <rth@redhat.com>
17666
17667 * critical.c (GOMP_critical_name_start): Change argument to void**.
17668 Reuse the pointer space if the mutex fits.
17669 (GOMP_critical_name_end): Likewise.
17670 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
17671 * libgomp_g.h (GOMP_critical_name_start): Update decl.
17672 (GOMP_critical_name_end): Likewise.
17673 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
17674 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
17675
17676 2005-09-20 Richard Henderson <rth@redhat.com>
17677
17678 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
17679 (create_lock_lock): New.
17680 (initialize_critical): Initialize it.
17681 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
17682 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
17683
17684 2005-09-20 Diego Novillo <dnovillo@redhat.com>
17685
17686 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17687
17688 2005-09-20 Diego Novillo <dnovillo@redhat.com>
17689
17690 * testsuite/libgomp.dg/omp-loop01.c: New test.
17691 * testsuite/libgomp.dg/omp-loop02.c: New test.
17692
17693 2005-09-20 Jakub Jelinek <jakub@redhat.com>
17694
17695 * configure.ac (AC_PROG_FC): Add.
17696 (USE_FORTRAN): New automake conditional.
17697 * configure: Rebuilt.
17698 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
17699 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
17700 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
17701 Add rules to build them.
17702 * Makefile.in: Rebuilt.
17703 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
17704 OMP_NEST_LOCK_KIND.
17705 * libgomp.map: Add Fortran wrappers.
17706 * libgomp_f.h.in: New file.
17707 * omp_lib.h.in: New file.
17708 * omp_lib.f90.in: New file.
17709 * fortran.c: New file.
17710 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
17711 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
17712 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
17713 libgfortran has been built.
17714 * testsuite/libgomp.fortran/fortran.exp: New file.
17715 * testsuite/libgomp.fortran/omp_cond1.f: New test.
17716 * testsuite/libgomp.fortran/omp_cond2.f: New test.
17717 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
17718 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
17719 * testsuite/libgomp.fortran/omp_hello.f: New test.
17720 * testsuite/libgomp.fortran/omp_orphan.f: New test.
17721 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
17722 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
17723 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
17724 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
17725 * testsuite/libgomp.fortran/omp_reduction.f: New test.
17726 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
17727 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
17728
17729 2005-08-30 Richard Henderson <rth@redhat.com>
17730
17731 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
17732 function for when aliases are not usable.
17733 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
17734 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17735 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
17736 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
17737 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
17738 GOMP_loop_ordered_guided_next): Likewise.
17739 * ordered.c (GOMP_ordered_start): Likewise.
17740
17741 2005-08-01 Diego Novillo <dnovillo@redhat.com>
17742
17743 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
17744 * testsuite/libgomp.dg/omp_hello.c: Fix return code
17745 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
17746 * testsuite/libgomp.dg/omp_orphan.c: Likewise
17747 * testsuite/libgomp.dg/omp_reduction.c: Likewise
17748 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
17749 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
17750 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
17751 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
17752
17753 2005-07-07 Eric Christopher <echristo@redhat.com>
17754 Diego Novillo <dnovillo@redhat.com>
17755
17756 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17757 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
17758 up code.
17759 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
17760 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
17761 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
17762 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
17763 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
17764 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
17765 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
17766
17767 2005-06-13 Diego Novillo <dnovillo@redhat.com>
17768
17769 * TOPLEVEL.patch: Remove.
17770
17771 2005-05-16 Richard Henderson <rth@redhat.com>
17772
17773 * configure.ac: Test for clock_gettime.
17774 * config.h.in, configure: Rebuild.
17775 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
17776 (omp_get_wtime): Use clock_gettime if available.
17777 (omp_get_wtick): Use clock_getres if available.
17778
17779 2005-05-11 Richard Henderson <rth@redhat.com>
17780
17781 * config/linux/ia64/futex.h: New file.
17782 * configure.tgt: Use it.
17783
17784 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17785
17786 2005-05-07 Richard Henderson <rth@redhat.com>
17787
17788 * config/linux/powerpc/futex.h: New file.
17789 * configure.tgt: Use it.
17790
17791 * config/linux/i486/futex.h: Merge ...
17792 * config/linux/x86_64/futex.h: ... into ...
17793 * config/linux/x86/futex.h: ... here.
17794 * configure.tgt: Update to match.
17795
17796 2005-05-06 Richard Henderson <rth@redhat.com>
17797
17798 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
17799 * config/linux/i486/futex.h: Likewise.
17800 * config/linux/x86_64/futex.h: Likewise.
17801
17802 * config/linux/lock.c: New file.
17803 * config/linux/omp-lock.h: New file.
17804
17805 * critical.c, env.h: Don't include omp.h
17806 * config/posix/lock.c: Include libgomp.h instead of omp.h.
17807 * config/posix/time.c: Likewise.
17808 * config/posix/omp-lock.h: New file.
17809 * libgomp.h: Include omp-lock.h and omp.h.
17810 * Makefile.am (nodist_include_HEADERS): New.
17811 (omp.h): New rule.
17812 * configure.ac (PERL): New.
17813 * mkomp_h.pl: New file.
17814 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17815 with templates.
17816 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17817
17818 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17819 build directory. Re-add -march=i486 hack.
17820
17821 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17822 (libgomp_link_flags): Remove.
17823 (libgomp_initialized): Remove.
17824 (libgomp_init): Don't protect from reinitialization. Copy code
17825 from libstdc++ for getting the multilib set correctly.
17826
17827 2005-05-05 Richard Henderson <rth@redhat.com>
17828
17829 * config/linux/alpha/futex.h: New file.
17830 * configure.tgt (alpha*-*-linux*): Use it.
17831
17832 * config/posix/mutex.c: New file.
17833 * config/posix/sem.c: Use libgomp.h.
17834
17835 * configure.tgt (x86_64-linux): Also test CC for -m32.
17836 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17837
17838 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
17839 after $gccpath.
17840
17841 * Makefile.am (SUBDIRS): New.
17842 (libgomp_la_LDFLAGS): Add -lpthread.
17843 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17844 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17845
17846 * libgomp_g.h: New file.
17847 * libgomp.h: Split out all public declarations to libgomp_g.h.
17848 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17849 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17850 * config/linux/sem.h: Likewise.
17851 * config/posix/sem.h: Likewise.
17852
17853 * Makefile.am (AM_LDFLAGS): New.
17854 (libgomp_version_script): Split out from ...
17855 (libgomp_la_LDFLAGS): ... here.
17856 (libgomp_version_info): New.
17857 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17858 (LIBGOMP_ENABLE): New.
17859 (LIBGOMP_CHECK_LINKER_FEATURES): New.
17860 (LIBGOMP_ENABLE_SYMVERS): New.
17861 * configure.ac (AC_INIT): Version 1.0.
17862 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17863 (enable-linux-futex): Likewise. Rename from enable-futex.
17864 (libtool_VERSION): New.
17865 (LIBGOMP_ENABLE_SYMVERS): Use it.
17866 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17867 * Makefile.in, aclocal.m4, configure: Rebuild.
17868
17869 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17870 (gomp_mutex_unlock_slow): Fix typo.
17871 * config/linux/sem.c: Similarly.
17872 (gomp_sem_post_slow): Fix typo.
17873 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17874 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17875 [__PIC__] (sys_futex0): Don't use tmp output in asm.
17876
17877 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17878 (libgomp_la_LDFLAGS): Add top_srcdir to path.
17879 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17880 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
17881 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17882 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17883 LDFLAGS. Pull enable_futex check to top-level.
17884 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
17885 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17886
17887 First attempt at real configury.
17888 * Makefile, config.h: Remove file.
17889 * Makefile.am, Makefile.in: New file.
17890 * acinclude.m4 aclocal.m4: New file.
17891 * configure.ac, configure.tgt, configure: New file.
17892
17893 * config/posix/lock.c: Rename from sys-lock.c.
17894 * config/posix/mutex.h: Rename from sys-mutex.h.
17895 * config/posix/sem.c: Rename from sys-sem.c.
17896 * config/posix/sem.h: Rename from sys-sem.h.
17897 * config/posix/proc.c: Rename from sys-proc.c.
17898 * config/posix/time.c: Rename from sys-proc.c.
17899
17900 * config/linux/mutex.c: New file.
17901 * config/linux/mutex.h: New file.
17902 * config/linux/sem.c: New file.
17903 * config/linux/sem.h: New file.
17904 * config/linux/i486/futex.h: New file.
17905 * config/linux/x86_64/futex.h: New file.
17906
17907 2005-05-04 Richard Henderson <rth@redhat.com>
17908
17909 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17910 * libgomp.h: Declare them.
17911 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17912 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17913
17914 2005-05-04 Richard Henderson <rth@redhat.com>
17915
17916 * libgomp-1 code drop
17917
17918 2005-05-04 Richard Henderson <rth@redhat.com>
17919
17920 * iter.c (gomp_iter_static_next): Return tri-state on 0.
17921 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
17922 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
17923 (gomp_iter_static_next): Update.
17924 (gomp_ordered_static_next): Update.
17925 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
17926 (gomp_loop_ordered_static_start): Likewise. Exit early for a
17927 totally empty range.
17928 (gomp_loop_ordered_static_next): Refine test for calling
17929 gomp_ordered_static_next.
17930 * testsuite/ordered-1.c: Add case for more threads than iterations.
17931
17932 * iter.c (gomp_iter_runtime_next_locked): Remove.
17933 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
17934 gomp_loop_guided_start, gomp_loop_ordered_static_start,
17935 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
17936 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
17937 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
17938 gomp_loop_ordered_guided_next): Downcase name, make static, add
17939 an external alias with the old name.
17940 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
17941 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
17942 switch and call one of the above static functions.
17943 * libgomp.h: Update.
17944
17945 * work.c (gomp_work_share_start): Lock the mutex for !first too.
17946 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
17947 GOMP_loop_guided_start, GOMP_loop_runtime_start,
17948 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17949 GOMP_loop_ordered_guided_start): Update to match.
17950 * sections.c (GOMP_sections_start): Likewise.
17951 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
17952
17953 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17954 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
17955 Use bounds check instead of modulus.
17956 (gomp_ordered_sync): Split out of GOMP_ordered_start.
17957 (gomp_ordered_last): Don't sync with ordered_owner here.
17958 (gomp_ordered_next): Likewise.
17959 (gomp_ordered_static_loop_next): Likewise.
17960 * loop.c, libgomp.h: Update to match.
17961
17962 * libgomp.h (GOMP_barrier): Declare.
17963
17964 * testsuite/barrier-1.c: New file.
17965 * testsuite/critical-1.c: New file.
17966 * testsuite/ordered-2.c: New file.
17967 * testsuite/ordered-1.c: New file.
17968 * testsuite/sections-1.c: New file.
17969 * testsuite/single-1.c: New file.
17970 * testsuite/Makefile (TESTS): Add them.
17971
17972 2005-05-04 Richard Henderson <rth@redhat.com>
17973
17974 * libgomp.h (struct gomp_work_share): Add ordered_owner.
17975 * loop.c (GOMP_loop_static_start): If not the startup thread,
17976 acquire the mutex to wait for initialization complete.
17977 (GOMP_loop_ordered_static_start): Likewise.
17978 (GOMP_loop_ordered_runtime_start): Likewise.
17979 (GOMP_loop_ordered_static_first): Remove.
17980 (GOMP_loop_ordered_dynamic_first): Remove.
17981 (GOMP_loop_ordered_guided_first): Remove.
17982 (GOMP_loop_ordered_runtime_first): Remove.
17983 * ordered.c (gomp_ordered_loop_first): Post to own release when
17984 we're the first thread.
17985 (gomp_ordered_loop_last): Wait on release if not owner.
17986 (gomp_ordered_loop_next): Likewise.
17987 (gomp_ordered_static_loop_init): New.
17988 (gomp_ordered_static_loop_next): Use ordered_owner.
17989 (GOMP_ordered_start): Likewise.
17990 * work.c (gomp_new_work_share): Initialize ordered_owner.
17991
17992 2005-05-03 Richard Henderson <rth@redhat.com>
17993
17994 * Makefile (OPT): New.
17995 (CFLAGS): Use it.
17996
17997 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
17998 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
17999 * libgomp.h, libgomp.map, NOTES: Update to match.
18000
18001 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
18002 Add initialized and thr members.
18003 (gomp_thread_start): Pause when initially spawned to wait for
18004 the whole team to be created.
18005 (gomp_team_start): Release team members at the end.
18006
18007 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
18008 (f_foo_1): Use GOMP_loop_end.
18009 (f_foo_2): Use GOMP_loop_end_nowait.
18010
18011 * testsuite/loop-2.c: New file.
18012 * testsuite/Makefile (TESTS): Add it.
18013
18014 2005-05-03 Richard Henderson <rth@redhat.com>
18015
18016 * iter.c (gomp_iter_static_next): Fix overflow check typo.
18017 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
18018 * team.c (new_team): Initialize oldest_live_gen to 1 if no
18019 initial work_share.
18020
18021 * testsuite/Makefile: New file.
18022 * testsuite/loop-1.c: New file.
18023
18024 2005-05-03 Richard Henderson <rth@redhat.com>
18025
18026 Initial implementation and checkin.
18027 \f
18028 Copyright (C) 2005-2022 Free Software Foundation, Inc.
18029
18030 Copying and distribution of this file, with or without modification,
18031 are permitted in any medium without royalty provided the copyright
18032 notice and this notice are preserved.