1 2022-10-12 Jakub Jelinek <jakub@redhat.com>
3 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
6 2022-10-12 Jakub Jelinek <jakub@redhat.com>
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.
21 2022-10-12 Jakub Jelinek <jakub@redhat.com>
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.
31 2022-10-12 Martin Liska <mliska@suse.cz>
33 * configure: Regenerate.
35 2022-10-11 Olivier Hainque <hainque@adacore.com>
36 Olivier Hainque <hainque@adacore.com>
38 * configure: Regenerate.
40 2022-10-05 Tobias Burnus <tobias@codesourcery.com>
42 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
44 2022-10-04 Jakub Jelinek <jakub@redhat.com>
46 * libgomp.texi (Support begin/end declare target syntax in C/C++):
49 2022-09-30 Tobias Burnus <tobias@codesourcery.com>
52 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
54 2022-09-28 Tobias Burnus <tobias@codesourcery.com>
56 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
57 for C/C++. Remove duplicated 'begin declare target' entry.
59 2022-09-24 Jakub Jelinek <jakub@redhat.com>
62 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
64 2022-09-14 Julian Brown <julian@codesourcery.com>
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.
72 2022-09-13 Jakub Jelinek <jakub@redhat.com>
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.
78 2022-09-13 Tobias Burnus <tobias@codesourcery.com>
80 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
83 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
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
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.
95 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
97 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
98 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
100 2022-09-12 Jakub Jelinek <jakub@redhat.com>
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
108 2022-09-10 Iain Sandoe <iain@sandoe.co.uk>
110 * env.c (initialize_env): Include libiberty environ.h.
112 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
114 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
115 function address table '$offload_func_table' if rev_fn_table
118 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
120 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
121 .offload_func_table to populate rev_fn_table when requested.
123 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
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;
130 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
131 * target.c (gomp_load_image_to_device): Update call but pass
134 2022-09-09 Jakub Jelinek <jakub@redhat.com>
137 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
138 char * for dest[1] initialization from params[1]. Formatting fixes.
140 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
143 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
145 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
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
152 2022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
154 * config/gcn/icv-device.c (omp_get_default_device): Return device-
156 (omp_get_max_teams): Added for GCN devices.
157 (omp_set_num_teams): Likewise.
159 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
161 (omp_get_max_teams): Added for NVPTX devices.
162 (omp_set_num_teams): Likewise.
164 * env.c (struct gomp_icv_list): New struct to store entries of initial
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
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
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
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
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
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
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
213 * icv-device.c (omp_get_max_teams): Added.
215 (omp_set_num_teams): Likewise.
216 * icv.c (omp_set_num_teams): Moved to icv-device.c.
217 (omp_get_max_teams): 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
225 (enum gomp_env_suffix): Collection of possible suffixes of environment
227 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
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
234 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
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.
256 2022-09-08 Jakub Jelinek <jakub@redhat.com>
258 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
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.
265 2022-09-05 Tobias Burnus <tobias@codesourcery.com>
267 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
269 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
271 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
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.
278 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
281 * testsuite/libgomp.c/linear-2.c: New test.
283 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
285 * splay-tree.h: Fix splay_* macro unsetting if
286 splay_tree_prefix is defined.
288 2022-07-29 Tobias Burnus <tobias@codesourcery.com>
290 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
292 2022-07-29 Jakub Jelinek <jakub@redhat.com>
295 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
297 2022-07-12 Tobias Burnus <tobias@codesourcery.com>
299 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
301 2022-07-12 Thomas Schwinge <thomas@codesourcery.com>
304 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
305 'offloading_enabled' diagnostics issue.
307 2022-07-11 Thomas Schwinge <thomas@codesourcery.com>
309 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
310 '_Pragma' diagnostics verification.
312 2022-07-10 Lewis Hyatt <lhyatt@gmail.com>
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.
318 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
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.
326 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
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.
338 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
340 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
341 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
343 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
345 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
347 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
349 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
351 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
353 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
354 Jakub Jelinek <jakub@redhat.com>
356 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
358 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
359 Chung-Lin Tang <cltang@codesourcery.com>
360 Thomas Schwinge <thomas@codesourcery.com>
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):
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.
395 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
397 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
398 with fromto as implemented.
400 2022-06-28 Martin Liska <mliska@suse.cz>
402 * acinclude.m4: Fix typo in mold linker detection.
403 * Makefile.in: Regenerate.
404 * configure: Regenerate.
406 2022-06-21 Jakub Jelinek <jakub@redhat.com>
407 Paul Iannetta <piannetta@kalrayinc.com>
410 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
412 2022-06-17 Martin Liska <mliska@suse.cz>
414 * libgomp.texi: Add table header for new features of
417 2022-06-15 Jakub Jelinek <jakub@redhat.com>
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.
426 2022-06-13 Jakub Jelinek <jakub@redhat.com>
428 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
429 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
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
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
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
463 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
464 Likewise. Reorder stop numbers.
466 2022-06-10 Jakub Jelinek <jakub@redhat.com>
468 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
469 rather than "libmemkind.so".
471 2022-06-10 Thomas Schwinge <thomas@codesourcery.com>
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):
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.
486 2022-06-09 Jakub Jelinek <jakub@redhat.com>
488 * config/linux/allocator.c: Fix up #include directive.
490 2022-06-09 Jakub Jelinek <jakub@redhat.com>
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
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.
505 2022-06-03 Tobias Burnus <tobias@codesourcery.com>
507 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
508 * testsuite/libgomp.fortran/scope-2.f90: New test.
510 2022-06-02 David Malcolm <dmalcolm@redhat.com>
512 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
514 2022-05-31 Jakub Jelinek <jakub@redhat.com>
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.
521 2022-05-28 Tobias Burnus <tobias@codesourcery.com>
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.
528 2022-05-28 Jakub Jelinek <jakub@redhat.com>
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
538 2022-05-27 Jakub Jelinek <jakub@redhat.com>
540 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
542 * testsuite/libgomp.c/target-41.c: Likewise.
544 2022-05-27 Tobias Burnus <tobias@codesourcery.com>
546 * libgomp.texi (Other new OpenMP 5.1 features): Add
547 'begin declare target'.
548 (Other new OpenMP 5.2 features): New.
550 2022-05-25 Jakub Jelinek <jakub@redhat.com>
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.
558 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
560 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
561 EF_AMDGPU_MACH_AMDGCN_GFX90a.
563 (isa_hsa_name): Support gfx90a.
564 (isa_code): Likewise.
566 2022-05-24 Tobias Burnus <tobias@codesourcery.com>
569 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
570 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
572 2022-05-24 Jakub Jelinek <jakub@redhat.com>
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
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.
586 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
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.
595 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
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
617 (omp_target_memcpy_rect_copy): New helper function for
618 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
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.
633 2022-05-18 Tobias Burnus <tobias@codesourcery.com>
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.
642 2022-05-17 Jakub Jelinek <jakub@redhat.com>
644 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
645 comment for omp_display_env feature.
647 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
649 * libgomp.texi (Offload-Target Specifics): New chapter; add section
650 to document OpenMP context selectors.
652 2022-05-17 Jakub Jelinek <jakub@redhat.com>
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
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.
671 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
673 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
675 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
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.
682 2022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
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.
688 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
690 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
692 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
694 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
696 2022-05-13 Thomas Schwinge <thomas@codesourcery.com>
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.
704 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
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.
718 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
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.
730 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
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.
739 2022-05-12 Jakub Jelinek <jakub@redhat.com>
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.
751 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
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.
759 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
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):
767 * Makefile.in: Regenerate.
768 * configure: Likewise.
769 * testsuite/Makefile.in: Likewise.
771 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
773 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
774 (HSA_RUNTIME_LDFLAGS): Remove.
775 * configure: Regenerate.
777 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
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.
783 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
785 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
786 multi-device testing.
788 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
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.
800 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
802 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
804 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
806 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
808 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
810 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
812 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
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
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.
830 2022-04-28 Thomas Schwinge <thomas@codesourcery.com>
833 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
834 privatization scanning. For GCN offloading compilation, raise
835 '-mgang-private-size'.
837 2022-04-26 Jakub Jelinek <jakub@redhat.com>
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.
850 2022-04-25 Jakub Jelinek <jakub@redhat.com>
851 Thomas Schwinge <thomas@codesourcery.com>
854 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
856 2022-04-13 Jakub Jelinek <jakub@redhat.com>
858 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
860 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
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.
869 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
871 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
873 2022-04-04 Tom de Vries <tdevries@suse.de>
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.
879 2022-04-01 Tom de Vries <tdevries@suse.de>
881 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
883 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
885 2022-04-01 Tom de Vries <tdevries@suse.de>
887 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
890 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
891 Lulu Cheng <chenglulu@loongson.cn>
893 * configure.tgt: Add LoongArch triplet.
895 2022-03-28 Tom de Vries <tdevries@suse.de>
897 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
898 instead of /libexec/.
899 * configure: Regenerate.
901 2022-03-25 Tom de Vries <tdevries@suse.de>
904 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
906 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
907 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
909 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
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.
919 2022-03-22 Tom de Vries <tdevries@suse.de>
923 * testsuite/libgomp.c/pr104783-2.c: New test.
925 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
928 * testsuite/libgomp.fortran/associate4.f90: New test.
930 2022-03-18 Tom de Vries <tdevries@suse.de>
933 * testsuite/libgomp.c/pr104952-1.c: New test.
934 * testsuite/libgomp.c/pr104952-2.c: New test.
936 2022-03-18 Jakub Jelinek <jakub@redhat.com>
938 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
939 variable next to pl variable.
941 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
943 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
945 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
946 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
948 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
951 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
952 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
954 2022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
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.
960 2022-03-16 Thomas Schwinge <thomas@codesourcery.com>
963 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
965 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
967 * libgomp.texi: Fix typo.
969 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
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:
977 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
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:
984 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
987 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
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:
993 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
994 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
997 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
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.
1005 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
1007 PR middle-end/100280
1008 PR middle-end/104086
1009 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1011 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1013 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
1015 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1018 2022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
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
1025 2022-03-10 Tom de Vries <tdevries@suse.de>
1027 * testsuite/libgomp.c/pr104783.c: New test.
1029 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
1032 PR middle-end/102330
1033 PR middle-end/104774
1034 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1036 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1038 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1040 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1042 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1044 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1046 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1048 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1050 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1052 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1054 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1056 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1058 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1060 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
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.
1066 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
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.
1074 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1077 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
1078 expected diagnostics.
1080 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
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:
1087 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1089 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1091 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1093 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1095 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1097 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1099 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1101 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1103 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1105 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1107 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1109 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1111 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1113 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1115 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1117 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1119 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1121 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1123 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1125 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1127 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1129 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1131 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1133 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1135 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1137 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1139 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1141 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1143 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1145 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1147 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1150 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
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:
1156 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1158 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1160 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1162 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1164 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1166 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1168 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1170 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1172 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1174 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1176 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1178 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1180 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1182 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1184 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1186 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1188 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1190 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1192 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1194 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1196 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1198 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1200 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1202 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1204 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1206 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1208 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1210 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1212 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1214 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1216 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1219 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
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:
1227 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
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:
1234 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
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:
1241 2022-02-28 Tom de Vries <tdevries@suse.de>
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.
1250 2022-02-24 Tom de Vries <tdevries@suse.de>
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.
1260 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
1262 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
1263 gang-redundant execution.
1265 2022-02-22 Tom de Vries <tdevries@suse.de>
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
1280 * testsuite/libgomp.c/pr99555-1.c: Same.
1281 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
1283 2022-02-22 Tom de Vries <tdevries@suse.de>
1286 * testsuite/libgomp.c++/pr96390.C: Add additional-option
1287 -foffload=-Wa,--verify for nvptx.
1288 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
1290 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
1292 * testsuite/libgomp.fortran/depend-4.f90: New test.
1294 2022-02-10 Tobias Burnus <tobias@codesourcery.com>
1297 * testsuite/libgomp.c++/target-virtual-1.C: New test.
1299 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
1301 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
1302 * target.c (copy_firstprivate_data): Copy only if host address is not
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.
1315 2022-02-08 Jakub Jelinek <jakub@redhat.com>
1318 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
1320 * testsuite/libgomp.c/pr104385.c: New test.
1322 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
1324 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
1325 STOP of previous commit.
1327 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
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.
1334 2022-02-03 David Seifert <soap@gentoo.org>
1335 Jakub Jelinek <jakub@redhat.com>
1337 * configure.ac: Support --disable-werror.
1338 * configure: Regenerate.
1340 2022-02-01 Tom de Vries <tdevries@suse.de>
1342 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
1344 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
1345 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
1347 2022-02-01 Tom de Vries <tdevries@suse.de>
1349 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
1350 num_workers for nvidia accelerator to fix libgomp error 'insufficient
1352 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
1354 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
1356 2022-02-01 Tom de Vries <tdevries@suse.de>
1358 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
1360 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
1362 2022-01-31 Martin Liska <mliska@suse.cz>
1364 * acinclude.m4: Detect *_ld_is_mold and use it.
1365 * configure: Regenerate.
1367 2022-01-27 Tobias Burnus <tobias@codesourcery.com>
1369 * libgomp.texi (OpenMP 5.0): Update implementation status.
1371 2022-01-21 Thomas Schwinge <thomas@codesourcery.com>
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.
1389 2022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
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.
1394 2022-01-19 Martin Liska <mliska@suse.cz>
1395 Thomas Schwinge <thomas@codesourcery.com>
1397 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
1399 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
1400 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
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:
1408 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
1410 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
1412 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
1414 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
1416 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
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.
1422 2022-01-18 Martin Liska <mliska@suse.cz>
1424 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
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.
1442 2022-01-17 Thomas Schwinge <thomas@codesourcery.com>
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.
1448 2022-01-17 Julian Brown <julian@codesourcery.com>
1449 Thomas Schwinge <thomas@codesourcery.com>
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.
1455 2022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1456 Andrew Stubbs <ams@codesourcery.com>
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
1463 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
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.
1470 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
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.
1479 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1481 PR tree-optimization/102192
1482 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
1483 '-Wuninitialized' diagnostics.
1485 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
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:
1502 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1504 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
1505 for 'offload_device_intel_mic'.
1507 2022-01-13 Julian Brown <julian@codesourcery.com>
1508 Thomas Schwinge <thomas@codesourcery.com>
1510 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
1511 offloading execution XFAIL.
1513 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1515 PR middle-end/100280
1516 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1518 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
1519 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1522 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
1524 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1526 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
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:
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.
1539 2022-01-04 Tobias Burnus <tobias@codesourcery.com>
1541 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
1542 * testsuite/libgomp.fortran/target10.f90: Likewise.
1544 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
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.
1550 2022-01-03 Jakub Jelinek <jakub@redhat.com>
1552 * libgomp.texi: Bump @copying's copyright year.
1554 2021-12-13 Tobias Burnus <tobias@codesourcery.com>
1556 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
1557 * testsuite/libgomp.fortran/atomic-19.f90: New test.
1559 2021-12-10 Andrew Stubbs <ams@codesourcery.com>
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.
1565 2021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
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.
1572 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
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.
1589 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
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.
1614 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
1616 * libgomp.texi (OpenMP 5.1): Update status.
1618 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
1620 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
1622 2021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
1625 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
1626 * testsuite/libgomp.fortran/pr90030.f90: New test.
1628 2021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1629 Thomas Schwinge <thomas@codesourcery.com>
1631 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
1634 2021-11-30 Cesar Philippidis <cesar@codesourcery.com>
1635 Thomas Schwinge <thomas@codesourcery.com>
1637 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
1640 2021-11-29 Richard Biener <rguenther@suse.de>
1642 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
1645 2021-11-24 Jakub Jelinek <jakub@redhat.com>
1647 PR middle-end/103384
1648 * testsuite/libgomp.c/declare-variant-2.c: New test.
1650 2021-11-18 David Edelsohn <dje.gcc@gmail.com>
1652 * alloc.c (gomp_aligned_alloc): Fix typo.
1654 2021-11-18 Jakub Jelinek <jakub@redhat.com>
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.
1665 2021-11-18 Jakub Jelinek <jakub@redhat.com>
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.
1674 2021-11-16 Jakub Jelinek <jakub@redhat.com>
1676 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
1677 construct as implemented.
1679 2021-11-15 Tobias Burnus <tobias@codesourcery.com>
1681 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1683 2021-11-15 Jakub Jelinek <jakub@redhat.com>
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.
1695 2021-11-15 Jakub Jelinek <jakub@redhat.com>
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
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.
1711 2021-11-15 Jakub Jelinek <jakub@redhat.com>
1713 * testsuite/libgomp.c/teams-5.c: New test.
1715 2021-11-12 Jakub Jelinek <jakub@redhat.com>
1718 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1720 * config/gcn/teams.c: ... here. New file.
1722 2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
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.
1733 2021-11-12 Jakub Jelinek <jakub@redhat.com>
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.
1746 2021-11-11 Tobias Burnus <tobias@codesourcery.com>
1748 * testsuite/libgomp.fortran/teams-1.f90: New test.
1750 2021-11-11 Jakub Jelinek <jakub@redhat.com>
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.
1764 2021-11-11 Jakub Jelinek <jakub@redhat.com>
1766 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
1768 2021-11-09 Thomas Schwinge <thomas@codesourcery.com>
1770 * env.c (parse_gomp_openacc_dim): Restore parsing.
1772 2021-10-30 Tobias Burnus <tobias@codesourcery.com>
1774 PR middle-end/102972
1775 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
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.
1791 2021-10-29 Aldy Hernandez <aldyh@redhat.com>
1793 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1794 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1796 2021-10-27 Jakub Jelinek <jakub@redhat.com>
1798 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1799 aren't implemented for Fortran yet.
1801 2021-10-27 Jakub Jelinek <jakub@redhat.com>
1803 * testsuite/libgomp.c/loop-26.c: New test.
1804 * testsuite/libgomp.c/loop-27.c: New test.
1806 2021-10-25 Tobias Burnus <tobias@codesourcery.com>
1809 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1810 instead of #include <alloca.h> + alloca.
1812 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
1814 * libgomp.texi (Support of strictly structured blocks in Fortran):
1816 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1818 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
1820 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1821 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1823 2021-10-20 Jakub Jelinek <jakub@redhat.com>
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
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.
1836 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
1837 Richard Biener <rguenther@suse.de>
1839 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1841 2021-10-18 Jakub Jelinek <jakub@redhat.com>
1843 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1844 && gomp_places_list_len < count after nfirst <= nlast loop condition.
1846 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
1855 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1857 2021-10-15 Jakub Jelinek <jakub@redhat.com>
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.
1864 2021-10-15 Jakub Jelinek <jakub@redhat.com>
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
1874 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1877 2021-10-15 Jakub Jelinek <jakub@redhat.com>
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.
1898 2021-10-15 Jakub Jelinek <jakub@redhat.com>
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.
1908 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1910 * env.c (parse_places_var): Handle numa_domains as level 5.
1911 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
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.
1917 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1919 * env.c (parse_places_var): Handle ll_caches as level 4.
1920 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1922 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
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.
1930 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1932 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
1935 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1937 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1939 2021-10-12 Julian Brown <julian@codesourcery.com>
1941 * target.c (gomp_copy_host2dev): Release device lock on cbuf
1944 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
1946 * testsuite/libgomp.fortran/icv-3.f90: New.
1947 * testsuite/libgomp.fortran/icv-4.f90: New.
1949 2021-10-12 Jakub Jelinek <jakub@redhat.com>
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.
1955 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1957 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1958 to avoid makeinfo warnings.
1960 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1962 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
1963 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
1965 2021-10-12 Jakub Jelinek <jakub@redhat.com>
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.
1975 2021-10-12 Jakub Jelinek <jakub@redhat.com>
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.
1998 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
2000 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
2002 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
2004 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
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.
2011 2021-10-11 Jakub Jelinek <jakub@redhat.com>
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
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
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
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.
2040 2021-10-09 liuhongt <hongtao.liu@intel.com>
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.
2065 2021-10-09 Jakub Jelinek <jakub@redhat.com>
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.
2074 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
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.
2081 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
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.
2089 2021-10-01 Jakub Jelinek <jakub@redhat.com>
2091 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
2092 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
2094 2021-10-01 Jakub Jelinek <jakub@redhat.com>
2096 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
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.
2104 2021-10-01 Jakub Jelinek <jakub@redhat.com>
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.
2110 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
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.
2117 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
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,
2123 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
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.
2132 2021-09-30 Jakub Jelinek <jakub@redhat.com>
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)
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.
2154 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
2157 * configure.ac: Only check for int-type = 2*size_t support when
2158 building with Fortran support.
2159 * configure: Regenerate.
2161 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
2163 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
2164 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2166 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
2168 * team.c: Initialize start_data.
2169 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
2170 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
2172 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
2174 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
2175 dg-message back to dg-note.
2177 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
2180 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
2181 expected dg-note output.
2183 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
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.
2190 2021-09-22 Jakub Jelinek <jakub@redhat.com>
2192 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
2193 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
2195 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
2198 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
2200 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2202 2021-09-18 Jakub Jelinek <jakub@redhat.com>
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.
2209 2021-09-17 Julian Brown <julian@codesourcery.com>
2211 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
2213 2021-09-17 Julian Brown <julian@codesourcery.com>
2215 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
2217 2021-09-17 Jakub Jelinek <jakub@redhat.com>
2219 * libgomp.texi (OpenMP 5.1): Spelling fix,
2220 declare variante -> declare variant.
2222 2021-09-17 Jakub Jelinek <jakub@redhat.com>
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.
2231 2021-09-10 Jakub Jelinek <jakub@redhat.com>
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.
2237 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
2239 * libgomp.texi (OpenMP Implementation Status): Extend
2241 (OpenACC Profiling Interface): Fix typo.
2243 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
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.
2249 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
2251 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
2253 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
2255 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
2257 * testsuite/libgomp.fortran/error-1.f90: Likewise.
2259 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
2260 Jakub Jelinek <jakub@redhat.com>
2262 * testsuite/libgomp.c/address-space-1.c: New file.
2264 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
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
2273 * testsuite/libgomp.fortran/target10.f90: Likewise.
2275 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
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.
2282 2021-08-23 Jakub Jelinek <jakub@redhat.com>
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.
2288 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
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.
2295 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
2297 * testsuite/libgomp.fortran/error-1.f90: New test.
2299 2021-08-20 Jakub Jelinek <jakub@redhat.com>
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.
2306 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
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.
2322 2021-08-18 Jakub Jelinek <jakub@redhat.com>
2324 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
2326 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
2328 * testsuite/libgomp.fortran/scope-1.f90: New test.
2329 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
2331 2021-08-17 Jakub Jelinek <jakub@redhat.com>
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.
2341 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
2343 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
2346 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
2348 * testsuite/libgomp.fortran/masked-1.f90: New test.
2350 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
2352 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
2354 2021-08-12 Jakub Jelinek <jakub@redhat.com>
2356 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
2358 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
2360 * env.c (parse_bind_var): Accept 'primary' as alias for
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'.
2378 2021-08-09 Julian Brown <julian@codesourcery.com>
2379 Kwok Cheung Yeung <kcy@codesourcery.com>
2380 Thomas Schwinge <thomas@codesourcery.com>
2382 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
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.
2396 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
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
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.
2427 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
2428 Ulrich Drepper <drepper@redhat.com>
2430 * fortran.c (omp_display_env_, omp_display_env_8_): Only
2431 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
2433 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
2434 Julian Brown <julian@codesourcery.com>
2435 Kwok Cheung Yeung <kcy@codesourcery.com>
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:
2443 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
2445 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
2447 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
2449 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
2451 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
2453 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
2455 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
2457 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
2459 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
2461 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
2463 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
2465 2021-07-27 Ulrich Drepper <drepper@gmail.com>
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.
2484 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2485 Julian Brown <julian@codesourcery.com>
2487 * target.c (gomp_coalesce_buf_add): Update comment.
2488 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
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
2495 2021-07-27 Julian Brown <julian@codesourcery.com>
2496 Thomas Schwinge <thomas@codesourcery.com>
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
2507 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
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
2519 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2520 Tom de Vries <tom@codesourcery.com>
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.
2525 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
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:
2532 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
2533 Julian Brown <julian@codesourcery.com>
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.
2541 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
2542 Joseph Myers <joseph@codesourcery.com>
2543 Cesar Philippidis <cesar@codesourcery.com>
2545 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
2547 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
2549 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
2551 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
2553 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
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.
2561 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
2564 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
2565 * libgomp.h [__AMDGCN__]: Likewise.
2567 2021-07-13 Jakub Jelinek <jakub@redhat.com>
2568 Florian Weimer <fweimer@redhat.com>
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.
2574 2021-07-01 Jakub Jelinek <jakub@redhat.com>
2577 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
2579 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
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.
2589 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
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.
2595 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
2598 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
2599 Add "target offload_device_nonshared_as" condition for enabling test.
2601 2021-06-24 Jakub Jelinek <jakub@redhat.com>
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.
2608 2021-06-23 Jakub Jelinek <jakub@redhat.com>
2610 PR middle-end/101167
2611 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
2613 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
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
2624 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
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.
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
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
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
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.
2702 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
2705 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2707 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
2708 Thomas Schwinge <thomas@codesourcery.com>
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.
2714 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2715 Andrew Stubbs <ams@codesourcery.com>
2717 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
2719 (GOACC_enter_exit_data): ... here.
2720 (GOACC_declare): Use it.
2722 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2724 * oacc-parallel.c (GOACC_declare): Move...
2725 * oacc-mem.c: ... here.
2726 * libgomp_g.h: Adjust.
2728 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
2729 Thomas Schwinge <thomas@codesourcery.com>
2731 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2734 2021-06-10 Jakub Jelinek <jakub@redhat.com>
2736 PR tree-optimization/100981
2737 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2738 dsdotr and dsdoti to 0.
2740 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
2742 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2743 if atomic compare-and-swap is supported on 'int'.
2745 2021-06-09 Richard Biener <rguenther@suse.de>
2747 PR tree-optimization/100981
2748 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2750 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2752 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2754 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2756 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2757 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2759 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
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.
2800 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2802 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2803 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2805 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2807 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2808 for 'acc_device_radeon'.
2810 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2812 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2813 for non-'acc_device_nvidia'.
2815 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
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.
2823 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
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'.
2829 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
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.
2835 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2837 * testsuite/lib/libgomp.exp
2838 (check_effective_target_openacc_radeon_accel_selected):
2841 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2843 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2846 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2848 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2849 <acc_device_nvidia>: Update comment.
2851 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
2853 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2855 2021-05-27 Jakub Jelinek <jakub@redhat.com>
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
2895 2021-05-26 Jakub Jelinek <jakub@redhat.com>
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.
2910 2021-05-25 Jakub Jelinek <jakub@redhat.com>
2913 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2915 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
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.
2922 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
2925 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2926 uninteresting/varying diagnostics.
2928 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2931 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2932 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2934 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2937 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
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:
2943 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2945 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2947 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2949 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2951 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2953 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2955 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2957 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2959 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2961 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2963 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2965 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2967 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2969 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2971 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2973 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2975 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2977 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2979 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2981 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
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:
2999 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
3001 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
3003 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3005 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
3006 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
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:
3016 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3018 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3020 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3022 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3024 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3026 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3028 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3030 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3032 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3034 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3036 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3038 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
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:
3044 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
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.
3050 2021-05-21 Julian Brown <julian@codesourcery.com>
3051 Chung-Lin Tang <cltang@codesourcery.com>
3052 Thomas Schwinge <thomas@codesourcery.com>
3055 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
3057 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
3059 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
3062 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
3064 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
3065 for nvptx offloading.
3067 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
3069 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
3071 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
3074 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
3076 2021-05-19 Julian Brown <julian@codesourcery.com>
3078 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
3080 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
3082 * testsuite/lib/libgomp.exp
3083 (check_effective_target_offload_target_nvptx): Don't shadow global
3084 'offload_targets' variable.
3086 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
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.
3092 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
3094 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
3095 offloading compilation.
3097 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
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.
3103 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
3105 * testsuite/libgomp.fortran/parallel-master.f90: New test.
3107 2021-05-13 Martin Liska <mliska@suse.cz>
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.
3115 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
3117 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
3118 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
3120 2021-05-11 Jakub Jelinek <jakub@redhat.com>
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
3126 * testsuite/libgomp.c/task-reduction-4.c: New test.
3128 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
3129 Tom de Vries <tdevries@suse.de>
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.
3135 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
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.
3142 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
3145 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
3146 declaration to scope of non-'depend'-guarded assignment to avoid races.
3148 2021-05-03 Tom de Vries <tdevries@suse.de>
3151 * testsuite/libgomp.c/target-44.c: New test.
3153 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
3155 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
3157 2021-04-29 Tom de Vries <tdevries@suse.de>
3159 * testsuite/libgomp.c/pr81778.c: New test.
3161 2021-04-29 Tom de Vries <tdevries@suse.de>
3164 * testsuite/libgomp.c/target-43.c: New file.
3166 2021-04-28 Jakub Jelinek <jakub@redhat.com>
3167 Tobias Burnus <tobias@codesourcery.com>
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.
3176 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
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.
3185 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
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.
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>
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:
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:
3212 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3213 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
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:
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.
3234 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
3236 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
3238 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3239 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
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.
3249 2021-04-22 Richard Biener <rguenther@suse.de>
3251 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
3254 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
3256 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
3257 omp_depend_kind instead of defining it as 16.
3259 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
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.
3271 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
3273 * testsuite/libgomp.fortran/depobj-1.f90: New test.
3275 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
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:
3281 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3283 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3285 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
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,
3293 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
3294 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
3296 2021-04-14 Jakub Jelinek <jakub@redhat.com>
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.
3303 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
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.
3310 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
3315 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
3317 2021-04-09 Jakub Jelinek <jakub@redhat.com>
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.
3324 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
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.
3337 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
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.
3345 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
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.
3354 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
3356 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
3357 OpenACC 'serial' construct diagnostic for nvptx offloading.
3359 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
3362 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
3364 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
3367 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
3369 2021-03-04 Jakub Jelinek <jakub@redhat.com>
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.
3377 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
3379 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
3380 support from the target.
3382 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
3383 Jakub Jelinek <jakub@redhat.com>
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
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
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
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
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
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.
3439 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
3442 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
3444 2021-02-17 Julian Brown <julian@codesourcery.com>
3446 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
3449 2021-02-17 Julian Brown <julian@codesourcery.com>
3451 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
3452 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
3454 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
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.
3462 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
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.
3472 2021-02-10 Julian Brown <julian@codesourcery.com>
3475 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
3478 2021-02-04 Julian Brown <julian@codesourcery.com>
3480 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
3482 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
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.
3490 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
3492 * libgomp.texi (omp_fulfill_event): New entry.
3494 2021-01-20 Jakub Jelinek <jakub@redhat.com>
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.
3501 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
3504 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
3506 2021-01-18 Andreas Schwab <schwab@suse.de>
3508 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
3510 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
3512 * config/rtems/sem.h (gomp_sem_getcount): New function.
3514 2021-01-18 Jakub Jelinek <jakub@redhat.com>
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.
3523 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
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
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
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.
3568 2021-01-15 Jakub Jelinek <jakub@redhat.com>
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.
3575 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
3578 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
3580 * configure: Regenerate.
3581 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
3584 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
3586 * configure: Re-generate.
3588 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
3590 * configure: Re-generate.
3592 2021-01-05 Julian Brown <julian@codesourcery.com>
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.
3608 2021-01-01 Jakub Jelinek <jakub@redhat.com>
3610 * libgomp.texi: Bump @copying's copyright year.
3612 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
3614 * libgomp.texi (Top): Avoid bad "up" link.
3616 2020-12-18 Jakub Jelinek <jakub@redhat.com>
3618 * testsuite/libgomp.c/task-6.c: New test.
3620 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
3622 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
3623 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
3625 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
3627 * testsuite/libgomp.fortran/scan-1.f90: New test.
3629 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
3632 * configure: Regenerate.
3634 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
3636 * configure: Regenerate.
3638 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
3640 * testsuite/libgomp.oacc-c++/cache-1.C: New.
3641 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
3643 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
3645 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
3648 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
3650 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
3651 (reserved): Delete unused define.
3653 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
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.
3659 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
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
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.
3691 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
3693 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3694 nvptx_usleep; use also for device={arch(gcn)}.
3696 2020-11-14 Jakub Jelinek <jakub@redhat.com>
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
3701 (bar): Likewise. Remove taking of address from private/firstprivate
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.
3707 (main): Adjust foo caller. Don't call bar.
3709 2020-11-13 Gergö Barany <gergo@codesourcery.com>
3710 Thomas Schwinge <thomas@codesourcery.com>
3712 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3714 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3716 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3718 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3719 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3721 2020-11-13 Gergö Barany <gergo@codesourcery.com>
3722 Thomas Schwinge <thomas@codesourcery.com>
3725 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3727 2020-11-13 Jakub Jelinek <jakub@redhat.com>
3729 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3730 for array reductions.
3731 (main): Adjust foo callers.
3733 2020-11-12 Jakub Jelinek <jakub@redhat.com>
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.
3746 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
3749 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3751 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
3753 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
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.
3766 2020-11-05 Ulrich Drepper <drepper@redhat.com>
3767 Kwok Cheung Yeung <kcy@codesourcery.com>
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.
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
3779 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
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.
3807 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
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.
3814 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3818 * testsuite/lib/libgomp.exp (libgomp_init): Set
3819 'gcc_warning_prefix', 'gcc_error_prefix'.
3821 2020-10-30 Jakub Jelinek <jakub@redhat.com>
3823 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3824 even in field_tgt_clear initializer.
3826 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3828 * testsuite/libgomp.c/target-42.c: New test.
3830 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3831 Tom de Vries <tdevries@suse.de>
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.
3840 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3843 * testsuite/libgomp.c/declare-variant-1.c: New test.
3845 2020-10-22 Jakub Jelinek <jakub@redhat.com>
3847 * testsuite/libgomp.c/target-41.c: New test.
3849 2020-10-22 Jakub Jelinek <jakub@redhat.com>
3851 * icv.c (omp_get_initial_device): Remove including corresponding
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.
3867 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3868 * testsuite/libgomp.c/target-40.c: New test.
3870 2020-10-21 Jakub Jelinek <jakub@redhat.com>
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
3876 2020-10-20 Jakub Jelinek <jakub@redhat.com>
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
3883 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
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.
3903 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
3905 * libgomp.texi (omp_get_max_active_levels): Modify description.
3906 (omp_get_supported_active_levels): Make descriptions consistent.
3908 2020-10-14 Jakub Jelinek <jakub@redhat.com>
3910 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3912 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
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.
3936 2020-10-11 Clement Chigot <clement.chigot@atos.net>
3938 * config/t-aix: Delete and recreate libgomp before creating
3941 2020-10-08 Tom de Vries <tdevries@suse.de>
3944 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3947 2020-10-06 Tom de Vries <tdevries@suse.de>
3949 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3951 2020-10-06 Tom de Vries <tdevries@suse.de>
3954 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3956 2020-10-05 Tom de Vries <tdevries@suse.de>
3959 * testsuite/libgomp.fortran/pr95654.f90: New test.
3961 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
3963 * Makefile.in: Regenerate with automake 1.15.1.
3964 * aclocal.m4: Likewise.
3965 * configure: Likewise.
3966 * testsuite/Makefile.in: Likewise.
3968 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
3970 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
3973 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
3975 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
3977 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
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.
3990 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
3993 * testsuite/libgomp.c++/pr96390.C: New test.
3994 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
3996 2020-09-27 Clement Chigot <clement.chigot@atos.net>
3998 * config/t-aix: Use $(AR) without -X32_64.
4000 2020-09-25 Jakub Jelinek <jakub@redhat.com>
4002 * testsuite/libgomp.c/loop-25.c: New test.
4004 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
4007 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
4009 2020-09-22 Tom de Vries <tdevries@suse.de>
4011 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
4014 2020-09-16 Nathan Sidwell <nathan@acm.org>
4016 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
4018 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
4021 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
4023 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
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
4033 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
4035 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
4036 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
4038 2020-09-14 Tom de Vries <tdevries@suse.de>
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.
4045 2020-09-08 Julian Brown <julian@codesourcery.com>
4047 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
4048 iteration-ordering assumptions.
4050 2020-09-08 Julian Brown <julian@codesourcery.com>
4052 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
4053 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4055 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
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
4062 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
4064 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
4066 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
4068 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
4070 2020-08-13 Jakub Jelinek <jakub@redhat.com>
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.
4076 2020-08-08 Jakub Jelinek <jakub@redhat.com>
4077 Tobias Burnus <tobias@codesourcery.com>
4080 * testsuite/libgomp.fortran/pr93553.f90: New test.
4082 2020-08-05 Jakub Jelinek <jakub@redhat.com>
4084 * testsuite/libgomp.c/loop-22.c: New test.
4085 * testsuite/libgomp.c/loop-23.c: New test.
4087 2020-08-05 Jakub Jelinek <jakub@redhat.com>
4090 * testsuite/libgomp.c/teams-3.c: New test.
4091 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
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.
4098 2020-08-04 Tom de Vries <tdevries@suse.de>
4101 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
4102 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
4104 2020-08-03 Julian Brown <julian@codesourcery.com>
4105 Thomas Schwinge <thomas@codesourcery.com>
4107 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
4108 shared-memory devices. Extend with further checking.
4110 2020-08-03 Martin Jambor <mjambor@suse.cz>
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.
4151 2020-07-27 Julian Brown <julian@codesourcery.com>
4152 Thomas Schwinge <thomas@codesourcery.com>
4154 * libgomp.h (struct target_var_desc): Rename do_detach field to
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
4162 * target.c (gomp_map_vars_existing): Don't affect reference counts for
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
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.
4177 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
4179 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
4181 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4182 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4184 2020-07-23 Julian Brown <julian@codesourcery.com>
4185 Thomas Schwinge <thomas@codesourcery.com>
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:
4192 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
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.
4203 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
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.
4212 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
4214 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
4215 * omp_lib.h.in: Likewise.
4217 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
4220 * testsuite/libgomp.c/pr95620.c: New test.
4222 2020-07-16 Julian Brown <julian@codesourcery.com>
4223 Thomas Schwinge <thomas@codesourcery.com>
4225 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
4226 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
4228 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
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.
4234 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
4236 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
4237 variables; add character(kind=4) tests; update TODO comment.
4239 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
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.
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>
4270 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
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
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.
4282 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
4284 * config/t-aix: Set BITS from compiler cpp macro.
4286 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
4288 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
4290 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
4293 * testsuite/libgomp.fortran/target-map-1.f90: New test.
4295 2020-07-14 Jakub Jelinek <jakub@redhat.com>
4297 * testsuite/libgomp.c/loop-21.c: New test.
4299 2020-07-13 Julian Brown <julian@codesourcery.com>
4300 Thomas Schwinge <thomas@codesourcery.com>
4302 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
4304 2020-07-10 Julian Brown <julian@codesourcery.com>
4305 Thomas Schwinge <thomas@codesourcery.com>
4307 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
4309 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4310 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
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
4324 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
4325 (gomp_load_image_to_device): Substitute dynamic_refcount for
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
4333 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
4335 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
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.
4346 2020-07-10 Julian Brown <julian@codesourcery.com>
4347 Thomas Schwinge <thomas@codesourcery.com>
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.
4354 2020-07-09 Julian Brown <julian@codesourcery.com>
4355 Thomas Schwinge <thomas@codesourcery.com>
4358 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
4359 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
4361 2020-07-09 Julian Brown <julian@codesourcery.com>
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.
4367 2020-07-09 Jakub Jelinek <jakub@redhat.com>
4369 * testsuite/libgomp.c/loop-19.c: New test.
4370 * testsuite/libgomp.c/loop-20.c: New test.
4372 2020-07-09 Jakub Jelinek <jakub@redhat.com>
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.
4380 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
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.
4386 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
4388 * oacc-mem.c (goacc_exit_data_internal): Remove
4389 'GOMP_MAP_ALWAYS_FROM' handling.
4391 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
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.
4400 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
4402 * target.c (gomp_map_vars_existing): Assert 'kind !=
4404 (gomp_map_vars_internal): Clean up.
4406 2020-06-27 Jakub Jelinek <jakub@redhat.com>
4408 * testsuite/libgomp.c/loop-17.c: New test.
4409 * testsuite/libgomp.c/loop-18.c: New test.
4411 2020-06-26 Marek Polacek <polacek@redhat.com>
4413 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
4415 2020-06-23 Alexandre Oliva <oliva@adacore.com>
4417 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
4418 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
4420 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
4422 * Makefile.am: Use -include.
4423 * Makefile.in: Regenerate.
4425 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
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.
4434 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
4437 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
4440 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
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.
4450 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
4452 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
4454 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
4458 * testsuite/libgomp.fortran/target-var.f90: New test.
4460 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
4461 Julian Brown <julian@codesourcery.com>
4463 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
4466 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
4467 Julian Brown <julian@codesourcery.com>
4469 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
4472 2020-06-05 Julian Brown <julian@codesourcery.com>
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.
4477 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
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.
4483 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
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
4491 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4493 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
4495 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
4497 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4498 Julian Brown <julian@codesourcery.com>
4500 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
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
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.
4513 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4514 Julian Brown <julian@codesourcery.com>
4516 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
4518 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4521 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
4523 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4526 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
4529 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4530 Julian Brown <julian@codesourcery.com>
4532 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
4534 (acc_map_data): Clean up accordingly.
4536 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
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
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.
4551 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4553 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
4555 2020-06-04 Julian Brown <julian@codesourcery.com>
4557 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
4559 (goacc_detach_internal): Likewise.
4561 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
4563 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
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.
4571 2020-06-02 Jakub Jelinek <jakub@redhat.com>
4573 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
4576 2020-05-30 Jakub Jelinek <jakub@redhat.com>
4578 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
4580 2020-05-30 Jakub Jelinek <jakub@redhat.com>
4582 * allocator.c (omp_alloc): For size == 0, return NULL early.
4584 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
4587 * configure: Regenerated.
4589 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
4592 * testsuite/libgomp.fortran/async_io_9.f90: New test.
4594 2020-05-19 Jakub Jelinek <jakub@redhat.com>
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
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.
4623 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
4626 * configure: Regenerated.
4628 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
4631 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
4633 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
4635 * configure: Regenerated.
4637 2020-05-14 Jakub Jelinek <jakub@redhat.com>
4639 * testsuite/libgomp.c-c++-common/target-40.c: New test.
4641 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
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.
4652 2020-05-12 Jakub Jelinek <jakub@redhat.com>
4654 * testsuite/libgomp.c/target-39.c: New test.
4656 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
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.
4664 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
4665 'dg-allow-blank-lines-in-output'.
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
4673 (check_effective_target_openacc_radeon_accel_present): ... this.
4675 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
4676 (check_effective_target_openacc_radeon_accel_selected): ... this.
4679 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
4682 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
4686 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
4688 (GOMP_OFFLOAD_init_device): Check return values from both calls to
4689 hsa_agent_iterate_regions.
4691 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
4694 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4697 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
4700 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4703 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
4706 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4708 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
4711 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4713 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4715 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4717 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4719 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4721 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4723 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4725 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4727 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4729 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4731 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4733 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4735 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4737 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4739 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4741 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4743 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4745 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4747 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4749 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4751 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4753 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4755 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4757 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4759 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4761 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4763 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4765 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4767 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4769 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4771 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4773 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4776 2020-04-10 Julian Brown <julian@codesourcery.com>
4777 Thomas Schwinge <thomas@codesourcery.com>
4780 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4782 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4784 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4786 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4788 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4790 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4792 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4794 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4796 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4798 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4800 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4802 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4804 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4806 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4808 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4810 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4813 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
4815 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4818 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
4821 * libgomp.oacc-c++/declare-pr94120.C: New.
4823 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
4825 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4827 * configure: Regenerate.
4828 * testsuite/libgomp-site-extra.exp.in: New file.
4829 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4831 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4833 * testsuite/Makefile.in: Regenerate.
4835 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
4837 PR tree-optimization/89713
4839 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4841 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4843 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
4845 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4846 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4848 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
4851 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4853 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
4856 * target.c (gomp_load_image_to_device): Fix link
4859 2020-03-19 Jakub Jelinek <jakub@redhat.com>
4862 * testsuite/libgomp.c++/pr93931.C: New test.
4864 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
4866 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4867 dg-allow-blank-lines-in-output.
4869 2020-03-18 Julian Brown <julian@codesourcery.com>
4870 Tobias Burnus <tobias@codesourcery.com>
4872 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4873 it work concurrently.
4875 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
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.
4881 2020-03-14 Jakub Jelinek <jakub@redhat.com>
4884 * testsuite/libgomp.c/pr93566.c: New test.
4886 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
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
4893 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
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
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.
4924 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
4927 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4928 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
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.
4938 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
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.
4946 2020-02-09 Jakub Jelinek <jakub@redhat.com>
4948 * testsuite/libgomp.c/target-38.c: New test.
4950 2020-02-06 Jakub Jelinek <jakub@redhat.com>
4953 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
4955 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
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.
4961 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
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.
4969 2020-02-03 Julian Brown <julian@codesourcery.com>
4970 Tobias Burnus <tobias@codesourcery.com>
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.
4981 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
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.
4991 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
4994 * plugin/configfrag.ac (enable_offload_targets): Skip
4995 HSA and GCN plugin besides -m32 also for -mx32.
4996 * configure: Regenerate.
4998 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
5000 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
5002 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
5004 * plugin-gcn.c (struct agent_info): Add fields "name" and
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
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:
5021 2020-01-28 Julian Brown <julian@codesourcery.com>
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.
5028 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
5030 * configure.ac: Handle `--with-toolexeclibdir='.
5031 * Makefile.in: Regenerate.
5032 * aclocal.m4: Regenerate.
5033 * configure: Regenerate.
5034 * testsuite/Makefile.in: Regenerate.
5036 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
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
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
5050 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
5052 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
5054 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
5057 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
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
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
5087 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
5089 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
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
5112 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
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.
5123 * target.c (gomp_map_vars_internal)
5124 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
5127 2020-01-10 Jakub Jelinek <jakub@redhat.com>
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.
5134 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
5136 * libgomp.texi: Fix typos, use https.
5138 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
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.
5146 2020-01-01 Jakub Jelinek <jakub@redhat.com>
5148 Update copyright years.
5150 * libgomp.texi: Bump @copying's copyright year.
5152 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
5155 * oacc-init.c (goacc_runtime_deinitialize): New function.
5157 2019-12-28 Jakub Jelinek <jakub@redhat.com>
5160 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
5161 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
5163 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
5164 Frederik Harwath <frederik@codesourcery.com>
5165 Thomas Schwinge <tschwinge@codesourcery.com>
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
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):
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
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
5194 (acc_get_property): New node.
5195 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
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'
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.
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.
5212 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
5214 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
5216 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
5219 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
5221 * target.c (gomp_map_vars_internal): Restore 'omp declare target
5224 2019-12-19 Julian Brown <julian@codesourcery.com>
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.
5230 2019-12-19 Julian Brown <julian@codesourcery.com>
5231 Cesar Philippidis <cesar@codesourcery.com>
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.
5247 2019-12-19 Julian Brown <julian@codesourcery.com>
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.
5262 2019-12-19 Julian Brown <julian@codesourcery.com>
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
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
5276 (gomp_map_vars_internal): Support attach.
5277 (gomp_unmap_vars_internal): Support detach.
5279 2019-12-19 Julian Brown <julian@codesourcery.com>
5280 Thomas Schwinge <thomas@codesourcery.com>
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
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.
5298 2019-12-19 Julian Brown <julian@codesourcery.com>
5299 Cesar Philippidis <cesar@codesourcery.com>
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
5307 2019-12-19 Julian Brown <julian@codesourcery.com>
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
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):
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
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.
5349 2019-12-19 Julian Brown <julian@codesourcery.com>
5350 Thomas Schwinge <thomas@codesourcery.com>
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
5356 (gomp_remove_var_internal): Free aux block if present.
5357 (gomp_load_image_to_device): Zero-initialise aux field instead of
5359 (omp_target_associate_pointer): Zero-initialise aux field.
5361 2019-12-18 Jakub Jelinek <jakub@redhat.com>
5364 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
5366 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
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>
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.
5384 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
5386 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
5388 (goacc_insert_pointer): ... from here, "present" case.
5389 (goacc_insert_pointer): Inline function into...
5390 (GOACC_enter_exit_data): ... here, and simplify.
5392 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
5394 (goacc_insert_pointer): ... from here, "not present" case.
5396 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
5399 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
5400 'goacc_enter_data', 'goacc_exit_data'.
5402 * oacc-mem.c (delete_copyout): Refactor into...
5403 (goacc_exit_data): ... this. Adjust all users.
5405 * oacc-mem.c (present_create_copy): Refactor into...
5406 (goacc_enter_data): ... this. Adjust all users.
5408 * target.c (gomp_unmap_vars_internal): Add a safeguard to
5411 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
5412 like 'GOMP_MAP_FROM'.
5417 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
5419 (GOACC_enter_exit_data): Simplify accordingly.
5420 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
5422 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
5423 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
5425 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
5427 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
5428 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
5430 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
5432 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
5434 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
5435 'finalize' handling.
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:
5449 * target.c (gomp_unmap_tgt): Make it 'static'.
5450 * libgomp.h (gomp_unmap_tgt): Remove.
5452 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
5455 * testsuite/libgomp.c/pr86416-1.c: New.
5456 * testsuite/libgomp.c/pr86416-2.c: New.
5458 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
5460 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
5461 all symbols as public except for the 'use …, only' imported symbol,
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;
5467 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
5469 2019-12-13 Julian Brown <julian@codesourcery.com>
5473 * libgomp.h (gomp_remove_var_async): Add prototype.
5474 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
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
5485 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
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:
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.
5496 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
5498 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
5499 as public except for the 'use …, only' imported symbol, which is
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.
5505 2019-12-11 Jakub Jelinek <jakub@redhat.com>
5508 * testsuite/libgomp.fortran/atomic1.f90: New test.
5510 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
5513 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
5514 reference counting for structured 'REFCOUNT_INFINITY'. Add some
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.
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):
5528 * libgomp_g.h: Update.
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
5536 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
5538 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
5540 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
5542 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
5544 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
5546 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
5549 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
5550 Julian Brown <julian@codesourcery.com>
5552 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
5553 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
5555 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
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):
5561 * env.c: Fix comment typos.
5562 * oacc-host.c: Likewise.
5563 * ordered.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.
5575 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
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"'.
5581 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
5582 Julian Brown <julian@codesourcery.com>
5587 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
5588 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
5590 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5592 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5594 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
5596 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
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
5602 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
5604 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
5606 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
5608 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5610 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
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.
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:
5628 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
5630 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
5632 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5633 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
5636 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
5638 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
5640 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
5642 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
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:
5648 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
5650 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
5652 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
5655 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
5658 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
5660 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
5662 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
5664 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
5666 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
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:
5673 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
5674 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
5676 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
5678 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
5680 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
5681 Kwok Cheung Yeung <kcy@codesourcery.com>
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.
5709 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
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.
5716 2019-12-04 Jakub Jelinek <jakub@redhat.com>
5719 * testsuite/libgomp.fortran/teams1.f90: New test.
5720 * testsuite/libgomp.fortran/teams2.f90: New test.
5722 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
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
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.
5737 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
5739 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
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.
5747 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
5750 * configure.tgt: Avoid IE tls on *-*-musl*.
5752 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
5754 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5755 adding a common-block test case.
5757 2019-11-29 Jakub Jelinek <jakub@redhat.com>
5760 * testsuite/libgomp.c++/udr-20.C: New test.
5761 * testsuite/libgomp.c++/udr-21.C: New test.
5763 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
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
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.
5773 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
5782 2019-11-20 Julian Brown <julian@codesourcery.com>
5784 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
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.
5792 2019-11-20 Julian Brown <julian@codesourcery.com>
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
5799 2019-11-20 Julian Brown <julian@codesourcery.com>
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
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.
5816 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
5818 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5819 libatomic in build-tree testing.
5821 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
5823 * testsuite/Makefile.in: Regenerate.
5825 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
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.
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>
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.
5844 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
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.
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>
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.
5896 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5897 Julian Brown <julian@codesourcery.com>
5899 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5901 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5903 * oacc-host.c (host_openacc_async_construct): Add device parameter.
5904 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5907 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
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.
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>
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.
5959 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
5960 Kwok Cheung Yeung <kcy@codesourcery.com>
5962 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5963 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
5965 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
5967 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
5969 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
5971 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5972 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
5974 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
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:
5980 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
5982 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
5985 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
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.
5994 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
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.
6005 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
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.
6014 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
6016 * testsuite/libgomp.fortran/target9.f90: New.
6018 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
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.
6242 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
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.
6262 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
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:
6290 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6292 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6294 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6296 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6298 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
6300 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
6302 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
6304 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
6306 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
6308 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
6310 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
6312 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
6314 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
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:
6325 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
6326 Tobias Burnus <tobias@codesourcery.com>
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.
6332 2019-10-14 Jakub Jelinek <jakub@redhat.com>
6335 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
6338 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
6340 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
6341 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
6343 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
6346 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
6349 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
6352 * testsuite/libgomp.fortran/fortran.exp: Conditionally
6354 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
6356 2019-10-09 Jakub Jelinek <jakub@redhat.com>
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.
6363 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
6365 * gfortran.dg/gomp/target-simd.f90: New.
6367 2019-10-02 Julian Brown <julian@codesourcery.com>
6368 Cesar Philippidis <cesar@codesourcery.com>
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.
6376 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
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.
6382 2019-10-01 Jakub Jelinek <jakub@redhat.com>
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.
6394 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
6396 * libgomp_g.h: Include stdint.h instead of gstdint.h.
6398 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
6400 * configure: Regenerate.
6402 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
6404 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
6405 string is initialized.
6407 2019-09-06 Florian Weimer <fweimer@redhat.com>
6409 * configure: Regenerate.
6411 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
6414 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
6415 scanning to conform to the GNU Coding Standards.
6416 * configure: Regenerate.
6418 2019-08-28 Jakub Jelinek <jakub@redhat.com>
6421 * testsuite/libgomp.c/scan-21.c: New test.
6422 * testsuite/libgomp.c/scan-22.c: New test.
6424 2019-08-27 Jakub Jelinek <jakub@redhat.com>
6427 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
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.
6448 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
6451 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
6452 -std=legacy so invalid code in the test case is accepted.
6454 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
6457 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
6460 2019-08-08 Jakub Jelinek <jakub@redhat.com>
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.
6469 2019-08-07 Jakub Jelinek <jakub@redhat.com>
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.
6481 2019-08-06 Jakub Jelinek <jakub@redhat.com>
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.
6487 2019-07-31 Jakub Jelinek <jakub@redhat.com>
6490 * testsuite/libgomp.c++/for-27.C: New test.
6492 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
6494 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
6495 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
6497 2019-07-20 Jakub Jelinek <jakub@redhat.com>
6499 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
6501 2019-07-08 Jakub Jelinek <jakub@redhat.com>
6503 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
6504 * testsuite/libgomp.c++/scan-16.C: Likewise.
6506 2019-07-06 Jakub Jelinek <jakub@redhat.com>
6508 * testsuite/libgomp.c/scan-19.c: New test.
6509 * testsuite/libgomp.c/scan-20.c: New test.
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.
6528 2019-07-04 Jakub Jelinek <jakub@redhat.com>
6530 * testsuite/libgomp.c/scan-9.c: New test.
6531 * testsuite/libgomp.c/scan-10.c: New test.
6533 2019-07-03 Jakub Jelinek <jakub@redhat.com>
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.
6552 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
6554 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
6555 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
6558 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
6561 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
6563 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
6566 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
6569 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
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.
6577 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
6580 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
6582 2019-06-16 Tom de Vries <tdevries@suse.de>
6584 PR tree-optimization/89376
6585 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
6587 2019-06-15 Tom de Vries <tdevries@suse.de>
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.
6593 2019-06-15 Jakub Jelinek <jakub@redhat.com>
6596 * testsuite/libgomp.c/pr90779.c: New test.
6597 * testsuite/libgomp.fortran/pr90779.f90: New test.
6599 2019-06-15 Tom de Vries <tdevries@suse.de>
6601 PR tree-optimization/90009
6602 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
6604 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
6606 PR tree-optimization/89713
6607 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
6609 2019-06-11 Jakub Jelinek <jakub@redhat.com>
6612 * testsuite/libgomp.c/pr90811.c: New test.
6614 2019-06-05 Jakub Jelinek <jakub@redhat.com>
6616 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
6617 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
6619 2019-06-04 Jakub Jelinek <jakub@redhat.com>
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.
6626 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6628 * configure.ac: Call AX_COUNT_CPUS.
6629 Substitute CPU_COUNT.
6630 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
6632 * aclocal.m4: Regenerate.
6633 * configure: Regenerate.
6634 * Makefile.in, testsuite/Makefile.in: Regenerate.
6636 2019-05-29 Jakub Jelinek <jakub@redhat.com>
6638 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
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.
6644 2019-05-27 Jakub Jelinek <jakub@redhat.com>
6646 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
6648 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
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.
6662 2019-05-24 Jakub Jelinek <jakub@redhat.com>
6664 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
6665 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
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.
6682 2019-05-20 Jakub Jelinek <jakub@redhat.com>
6685 * alloc.c (_GNU_SOURCE): Define.
6687 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
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):
6726 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6727 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6729 * libgomp.texi: Update.
6730 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
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:
6735 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6737 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6739 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6742 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
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.
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.
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
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
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
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
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
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
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.
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.
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
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.
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.
6932 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
6935 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6937 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
6939 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6941 2019-03-27 Kevin Buettner <kevinb@redhat.com>
6943 * team.c (gomp_team_start): Initialize pool->threads[0].
6945 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
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
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.
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.
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.
6992 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
6995 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
6997 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
6998 and related adjustment.
7000 2019-01-30 Jakub Jelinek <jakub@redhat.com>
7003 * testsuite/libgomp.c++/pr88988.C: New test.
7005 2019-01-28 Jakub Jelinek <jakub@redhat.com>
7008 * testsuite/libgomp.c/pr89002.c: New test.
7010 2019-01-28 Richard Biener <rguenther@suse.de>
7013 PR tree-optimization/86865
7014 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
7016 2019-01-24 Tom de Vries <tdevries@suse.de>
7018 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
7019 once instantiated_devices drops to 0.
7021 2019-01-23 Tom de Vries <tdevries@suse.de>
7024 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
7026 (nvptx_exec): Don't call map_push if mapnum == 0.
7027 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
7029 2019-01-23 Tom de Vries <tdevries@suse.de>
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.
7037 2019-01-23 Tom de Vries <tdevries@suse.de>
7040 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
7041 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
7043 2019-01-15 Tom de Vries <tdevries@suse.de>
7046 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
7049 2019-01-12 Tom de Vries <tdevries@suse.de>
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.
7056 2019-01-12 Tom de Vries <tdevries@suse.de>
7058 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
7060 2019-01-12 Tom de Vries <tdevries@suse.de>
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.
7066 2019-01-12 Tom de Vries <tdevries@suse.de>
7069 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
7070 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
7072 2019-01-12 Tom de Vries <tdevries@suse.de>
7075 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
7076 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
7078 2019-01-12 Tom de Vries <tdevries@suse.de>
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.
7084 2019-01-12 Tom de Vries <tdevries@suse.de>
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.
7090 2019-01-12 Tom de Vries <tdevries@suse.de>
7092 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
7093 resources diagnostic.
7095 2019-01-12 Tom de Vries <tdevries@suse.de>
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.
7102 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
7103 James Norris <jnorris@codesourcery.com>
7105 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
7106 Library Routines", and "Environment Variables".
7108 2019-01-11 Tom de Vries <tdevries@suse.de>
7110 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
7113 2019-01-11 Tom de Vries <tdevries@suse.de>
7115 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
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.
7122 2019-01-11 Tom de Vries <tdevries@suse.de>
7124 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
7127 2019-01-10 Nathan Sidwell <nathan@acm.org>
7128 Julian Brown <julian@codesourcery.com>
7131 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
7132 * testsuite/libgomp.oacc-c++/pr71959.C: New.
7134 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
7136 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
7139 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
7141 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
7142 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
7145 2019-01-09 Tom de Vries <tdevries@suse.de>
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.
7155 2019-01-09 Tom de Vries <tdevries@suse.de>
7157 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
7160 2019-01-07 Tom de Vries <tdevries@suse.de>
7162 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
7163 GOMP_OPENACC_DIM argument.
7165 2019-01-03 Tom de Vries <tdevries@suse.de>
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.
7170 2019-01-01 Jakub Jelinek <jakub@redhat.com>
7172 Update copyright years.
7174 2019-01-01 Jakub Jelinek <jakub@redhat.com>
7176 * libgomp.texi: Bump @copying's copyright year.
7178 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
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".
7184 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
7185 Cesar Philippidis <cesar@codesourcery.com>
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.
7191 2018-12-19 Tom de Vries <tdevries@suse.de>
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.
7197 2018-12-19 Tom de Vries <tdevries@suse.de>
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.
7204 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
7205 Chung-Lin Tang <cltang@codesourcery.com>
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
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.
7230 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
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.
7239 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
7240 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
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
7255 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
7256 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7258 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
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.
7264 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
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
7271 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
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.
7278 2018-12-14 Tom de Vries <tdevries@suse.de>
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.
7286 2018-12-13 Tom de Vries <tdevries@suse.de>
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
7296 2018-12-13 Jakub Jelinek <jakub@redhat.com>
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).
7304 2018-12-12 Jakub Jelinek <jakub@redhat.com>
7307 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
7308 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
7310 * testsuite/libgomp.c-c++-common/for-16.c: New test.
7312 2018-12-12 Andreas Schwab <schwab@suse.de>
7314 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
7317 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
7320 * testsuite/libgomp.fortran/async_io_8.f90: New test.
7322 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
7323 Jakub Jelinek <jakub@redhat.com>
7325 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
7326 devicep->host2dev_func.
7328 2018-12-08 Jakub Jelinek <jakub@redhat.com>
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.
7338 2018-12-02 Jakub Jelinek <jakub@redhat.com>
7340 * testsuite/libgomp.c/task-reduction-3.c: New test.
7342 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
7344 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
7347 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
7348 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
7350 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
7352 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
7354 2018-10-19 Richard Biener <rguenther@suse.de>
7356 PR tree-optimization/88182
7357 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
7359 2018-11-26 Jakub Jelinek <jakub@redhat.com>
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.
7371 2018-11-26 Richard Biener <rguenther@suse.de>
7373 PR tree-optimization/88182
7374 * testsuite/libgomp.c++/pr88182.C: New testcase.
7376 2018-11-20 Jakub Jelinek <jakub@redhat.com>
7379 * config/mingw32/affinity-fmt.c: New file.
7381 2018-11-09 Jakub Jelinek <jakub@redhat.com>
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.
7389 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
7390 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
7392 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7394 * affinity.c: Include <string.h>, <stdio.h>.
7395 (gomp_display_affinity_place): Remove cpusetp.
7396 * teams.c: Include <limits.h>.
7398 2018-11-08 Jakub Jelinek <jakub@redhat.com>
7400 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
7401 in_reduction clause for s[0].
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):
7412 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
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
7435 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
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
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
7516 (gomp_parallel_loop_start): Pass NULL as taskgroup to
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):
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):
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):
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
7574 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
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
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.
7740 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
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.
7818 2018-10-31 Joseph Myers <joseph@codesourcery.com>
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:
7829 2018-10-29 Joseph Myers <joseph@codesourcery.com>
7830 Julian Brown <julian@codesourcery.com>
7832 * testsuite/libgomp.oacc-c++/this.C: New.
7834 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
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
7847 (select_stream_for_async): Likewise.
7848 (nvptx_exec): Update call to map_init.
7850 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
7851 Julian Brown <julian@codesourcery.com>
7854 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7856 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
7857 Thomas Koenig <tkoenig@gcc.gnu.org>
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.
7868 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
7869 Tom de Vries <tdevries@suse.de>
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.
7882 2018-08-08 Tom de Vries <tdevries@suse.de>
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
7891 2018-08-08 Tom de Vries <tdevries@suse.de>
7893 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7894 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7897 2018-08-08 Tom de Vries <tdevries@suse.de>
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.
7904 2018-08-08 Tom de Vries <tdevries@suse.de>
7906 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7907 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
7909 2018-08-07 Tom de Vries <tdevries@suse.de>
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.
7918 2018-08-07 Tom de Vries <tdevries@suse.de>
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.
7924 2018-08-04 Tom de Vries <tdevries@suse.de>
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.
7931 2018-08-02 Tom de Vries <tdevries@suse.de>
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:
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.
7942 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7943 Thomas Schwinge <thomas@codesourcery.com>
7945 * config/nvptx/oacc-parallel.c: Truncate.
7947 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7948 James Norris <jnorris@codesourcery.com>
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
7955 2018-08-01 Tom de Vries <tdevries@suse.de>
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
7962 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
7964 Revert 'AsyncI/O patch committed'.
7965 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
7966 Thomas Koenig <tkoenig@gcc.gnu.org>
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.
7977 2018-07-30 Tom de Vries <tdevries@suse.de>
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.
7983 2018-07-30 Tom de Vries <tdevries@suse.de>
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.
7989 2018-07-26 Jakub Jelinek <jakub@redhat.com>
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).
7998 * testsuite/libgomp.c/pr86660.c: New test.
8000 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
8001 Tom de Vries <tdevries@suse.de>
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
8007 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
8008 Tom de Vries <tdevries@suse.de>
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.
8015 2018-07-26 Tom de Vries <tdevries@suse.de>
8017 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
8018 to correct locations. Remove xfail.
8020 2018-07-26 Tom de Vries <tdevries@suse.de>
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
8026 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
8027 Thomas Koenig <tkoenig@gcc.gnu.org>
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.
8038 2018-07-17 Jakub Jelinek <jakub@redhat.com>
8041 * testsuite/libgomp.c++/pr86542.C: New test.
8044 * testsuite/libgomp.c++/pr86539.C: New test.
8046 2018-07-11 Jakub Jelinek <jakub@redhat.com>
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.
8053 2018-07-10 Jakub Jelinek <jakub@redhat.com>
8056 * testsuite/libgomp.c++/for-15.C: New test.
8058 2018-06-26 Jakub Jelinek <jakub@redhat.com>
8061 * testsuite/libgomp.c++/pr86291.C: New test.
8063 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
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.
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>
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:
8140 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
8142 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
8144 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
8146 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
8148 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
8150 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
8152 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
8154 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
8156 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
8158 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
8160 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
8162 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
8164 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
8166 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
8168 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
8170 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
8172 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
8174 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
8176 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
8178 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
8180 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
8182 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
8184 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
8186 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
8188 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
8190 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
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:
8202 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
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:
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:
8212 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
8214 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
8216 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
8218 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
8220 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
8222 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
8224 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
8226 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
8228 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
8230 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
8232 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
8234 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
8236 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
8238 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
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.
8248 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
8249 Thomas Schwinge <thomas@codesourcery.com>
8250 Cesar Philippidis <cesar@codesourcery.com>
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
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
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.
8327 2018-05-21 Janus Weil <janus@gcc.gnu.org>
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.
8346 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
8349 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
8351 2018-05-09 Tom de Vries <tom@codesourcery.com>
8354 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
8355 to GOACC_enter_exit_data.
8357 2018-05-09 Tom de Vries <tom@codesourcery.com>
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
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.
8369 2018-05-07 Tom de Vries <tom@codesourcery.com>
8372 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
8373 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
8375 2018-05-03 Tom de Vries <tom@codesourcery.com>
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.
8383 2018-05-02 Tom de Vries <tom@codesourcery.com>
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.
8399 2018-05-02 Tom de Vries <tom@codesourcery.com>
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.
8537 2018-05-02 Tom de Vries <tom@codesourcery.com>
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.
8566 2018-05-02 Tom de Vries <tom@codesourcery.com>
8569 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
8571 2018-05-02 Tom de Vries <tom@codesourcery.com>
8574 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
8576 2018-04-29 Julian Brown <julian@codesourcery.com>
8577 Tom de Vries <tom@codesourcery.com>
8580 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
8581 arbitrary order for iterations of atomic subtract check.
8583 2018-04-28 Tom de Vries <tom@codesourcery.com>
8586 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
8587 atomic capture results obtained in parallel loop to an array, instead of
8590 2018-04-26 Tom de Vries <tom@codesourcery.com>
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.
8598 2018-04-26 Richard Biener <rguenther@suse.de>
8599 Tom de Vries <tom@codesourcery.com>
8602 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
8604 2018-04-26 Tom de Vries <tom@codesourcery.com>
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.
8611 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
8613 * configure: Regenerated.
8615 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
8616 Tom de Vries <tom@codesourcery.com>
8619 * testsuite/libgomp.oacc-c++/ref-1.C: New.
8621 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
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.
8632 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
8634 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8636 2018-04-19 Jakub Jelinek <jakub@redhat.com>
8638 * configure: Regenerated.
8640 2018-04-18 David Malcolm <dmalcolm@redhat.com>
8643 * configure: Regenerate.
8645 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
8646 Tom de Vries <tom@codesourcery.com>
8649 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8650 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8652 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
8656 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
8657 test from gfortran.dg to here.
8659 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8661 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
8662 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
8664 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
8667 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8668 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8670 2018-04-05 Tom de Vries <tom@codesourcery.com>
8673 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
8675 2018-03-26 Tom de Vries <tom@codesourcery.com>
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.
8683 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
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.
9001 2018-03-20 Richard Biener <rguenther@suse.de>
9003 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
9004 parallelizable loop.
9006 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
9009 * configure: Regenerate.
9011 2018-02-16 Jakub Jelinek <jakub@redhat.com>
9014 * libgomp.fortran/pr84418-1.f90: New test.
9015 * libgomp.fortran/pr84418-2.f90: New test.
9017 2018-02-14 Jakub Jelinek <jakub@redhat.com>
9020 * testsuite/libgomp.fortran/threadprivate4.f90: Add
9021 -std=f2003 -fall-intrinsics into dg-additional-options.
9023 2018-02-08 Martin Jambor <mjambor@suse.cz>
9025 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
9028 2018-02-08 Martin Jambor <mjambor@suse.cz>
9030 * testsuite/libgomp.hsa.c/staticvar.c: New test.
9032 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9034 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
9035 [__cplusplus]: Declare extern "C".
9037 2018-02-07 Tom de Vries <tom@codesourcery.com>
9040 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
9042 2018-01-29 Christoph Spiel <cspiel@freenet.de>
9043 Jakub Jelinek <jakub@redhat.com>
9046 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
9047 instead of omp_lock_t.
9049 2018-01-25 Tom de Vries <tom@codesourcery.com>
9052 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
9054 2018-01-24 Tom de Vries <tom@codesourcery.com>
9057 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
9059 2018-01-24 Tom de Vries <tom@codesourcery.com>
9062 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
9064 2018-01-19 Tom de Vries <tom@codesourcery.com>
9065 Cesar Philippidis <cesar@codesourcery.com>
9068 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
9069 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
9071 2018-01-03 Jakub Jelinek <jakub@redhat.com>
9073 Update copyright years.
9075 * libgomp.texi: Bump @copying's copyright year.
9077 2017-12-30 Tom de Vries <tom@codesourcery.com>
9080 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
9081 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
9083 2017-12-27 Tom de Vries <tom@codesourcery.com>
9086 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
9087 (test_nonstatic): Fix return type to workaround PR83046.
9089 2017-12-05 Jakub Jelinek <jakub@redhat.com>
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):
9097 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
9099 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
9100 call to acc_wait (1).
9102 2017-11-24 Jakub Jelinek <jakub@redhat.com>
9105 * testsuite/libgomp.fortran/pr81304.f90: New test.
9107 2017-11-23 Jakub Jelinek <jakub@redhat.com>
9110 * libgomp.fortran/pr81841.f90: New test.
9112 2017-11-22 Jakub Jelinek <jakub@redhat.com>
9115 * target.c (gomp_target_init): Compute lengths just once and
9116 use them in both malloc size and subsequent copying.
9118 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
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.
9126 2017-11-15 Tom de Vries <tom@codesourcery.com>
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.
9135 2017-11-14 Tom de Vries <tom@codesourcery.com>
9137 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
9140 2017-11-07 Jakub Jelinek <jakub@redhat.com>
9143 * testsuite/libgomp.c++/pr82835.C: New test.
9145 2017-11-06 Martin Liska <mliska@suse.cz>
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.
9156 2017-10-31 Tom de Vries <tom@codesourcery.com>
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.
9163 2017-10-28 Jakub Jelinek <jakub@redhat.com>
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
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.
9178 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
9180 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
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.
9187 2017-10-16 Tom de Vries <tom@codesourcery.com>
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.
9201 2017-10-09 Martin Jambor <mjambor@suse.cz>
9204 * testsuite/libgomp.hsa.c/pr82416.c: New test.
9206 2017-10-07 Tom de Vries <tom@codesourcery.com>
9208 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
9209 Remove acc_device_nvidia references.
9210 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
9213 2017-10-05 Tom de Vries <tom@codesourcery.com>
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.
9219 2017-10-04 Tom de Vries <tom@codesourcery.com>
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.
9229 2017-09-28 Tom de Vries <tom@codesourcery.com>
9231 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
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.
9259 2017-09-28 Tom de Vries <tom@codesourcery.com>
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.
9265 2017-09-27 Tom de Vries <tom@codesourcery.com>
9267 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
9268 Remove acc_device_nvidia references.
9270 2017-09-16 Tom de Vries <tom@codesourcery.com>
9273 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
9275 2017-09-14 Tom de Vries <tom@codesourcery.com>
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
9285 2017-09-14 Jakub Jelinek <jakub@redhat.com>
9288 * testsuite/libgomp.c++/pr81314.C: New test.
9290 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
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.
9302 (acc_wait_all): Ditto.
9303 (acc_wait_all_async): Ditto.
9304 (acc_wait_async): Ditto.
9306 (acc_shutdown): Ditto.
9307 (acc_on_device): Ditto.
9308 (acc_malloc): 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.
9333 2017-08-09 Jakub Jelinek <jakub@redhat.com>
9336 * testsuite/libgomp.c/pr81687-1.c: New test.
9337 * testsuite/libgomp.c/pr81687-2.c: New test.
9339 2017-08-07 Jakub Jelinek <jakub@redhat.com>
9342 * testsuite/libgomp.c/pr69389.c: New test.
9343 * testsuite/libgomp.c++/pr69389.C: New test.
9345 2017-08-07 Tom de Vries <tom@codesourcery.com>
9348 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
9349 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
9351 2017-07-27 Jakub Jelinek <jakub@redhat.com>
9354 * testsuite/libgomp.c/pr45784.c: New test.
9355 * testsuite/libgomp.c++/pr45784.C: New test.
9357 2017-07-19 Tom de Vries <tom@codesourcery.com>
9359 * testsuite/libgomp.oacc-c/vec.c: New test.
9361 2017-07-03 Tom de Vries <tom@codesourcery.com>
9363 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
9365 2017-06-27 Tom de Vries <tom@codesourcery.com>
9367 * plugin/plugin-nvptx.c (notify_var): New function.
9368 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
9370 2017-06-27 Tom de Vries <tom@codesourcery.com>
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.
9382 2017-06-21 Jakub Jelinek <jakub@redhat.com>
9385 * testsuite/libgomp.c++/pr81130.C: New test.
9387 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9389 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
9391 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
9392 dg-xfail-run-if default args.
9394 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
9396 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
9397 * testsuite/libgomp.c/pr39591-3.c: Likewise.
9399 2017-05-30 Jakub Jelinek <jakub@redhat.com>
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.
9407 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
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.
9421 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
9422 acc_present_or_copyin and acc_present_or_create procedures,
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.
9428 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
9429 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
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
9442 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
9445 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
9446 when disabling nvptx offloading.
9448 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
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.
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
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.
9463 2017-05-22 Jakub Jelinek <jakub@redhat.com>
9466 * testsuite/libgomp.c/pr80809-2.c: New test.
9467 * testsuite/libgomp.c/pr80809-3.c: New test.
9470 * testsuite/libgomp.c/pr80809-1.c: New test.
9473 * testsuite/libgomp.c/pr80853.c: New test.
9475 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
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.
9483 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
9484 Debug output for failure.
9486 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9488 * testsuite/lib/libgomp.exp: Load scanlang.exp.
9490 2017-04-27 Jakub Jelinek <jakub@redhat.com>
9493 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
9494 bootstrap compare failures.
9496 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
9498 * testsuite/libgomp.c/target-36.c: New testcase.
9500 2017-04-13 Jakub Jelinek <jakub@redhat.com>
9502 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
9505 2017-04-11 Jakub Jelinek <jakub@redhat.com>
9508 * testsuite/libgomp.c/pr80394.c: New test.
9510 2017-04-04 Jakub Jelinek <jakub@redhat.com>
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.
9521 2017-03-30 Jakub Jelinek <jakub@redhat.com>
9523 * env.c (initialize_env): Initialize stacksize to 0.
9525 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
9528 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
9530 2017-03-08 Jakub Jelinek <jakub@redhat.com>
9533 * testsuite/libgomp.c/pr79940.c: New test.
9535 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9537 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
9539 Add __float128 options.
9541 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
9543 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
9544 hppa*-*-* dg-skip-if directive.
9546 2017-02-09 Jakub Jelinek <jakub@redhat.com>
9548 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
9549 dg-skip-if directive into a comment.
9551 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
9552 Chung-Lin Tang <cltang@codesourcery.com>
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.
9562 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
9564 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
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.
9570 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
9572 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
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.
9585 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
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
9612 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
9613 (GOMP_OFFLOAD_unload_image): Fix argument types.
9615 2017-01-26 Jakub Jelinek <jakub@redhat.com>
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.
9622 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
9625 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
9626 Martin Jambor <mjambor@suse.cz>
9628 * plugin/hsa.h: Moved to top level include.
9629 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
9631 2017-01-21 Jakub Jelinek <jakub@redhat.com>
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.
9638 2017-01-19 Jakub Jelinek <jakub@redhat.com>
9640 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
9643 2017-01-17 Jakub Jelinek <jakub@redhat.com>
9645 * plugin/hsa.h: Add GCC runtime library exception.
9646 * plugin/hsa_ext_finalize.h: Likewise.
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
9668 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
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.
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.
9684 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9687 * Makefile.am: Make fincludedir multilib-aware.
9688 * Makefile.in: Regenerate.
9690 2017-01-01 Jakub Jelinek <jakub@redhat.com>
9692 Update copyright years.
9694 * libgomp.texi: Bump @copying's copyright year.
9696 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
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):
9705 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9707 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
9708 thread pool in case nthreads == 1.
9710 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
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.
9717 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
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.
9724 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
9726 * Makefile.in: Regenerate with automake-1.11.6.
9727 * aclocal.m4: Likewise.
9728 * configure: Likewise.
9729 * testsuite/Makefile.in: Likewise.
9731 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
9733 * config/nvptx/critical.c: Delete to use generic implementation.
9735 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
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.
9741 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
9742 Jakub Jelinek <jakub@redhat.com>
9743 Dmitry Melnik <dm@ispras.ru>
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.
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
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).
9837 2016-11-23 Martin Jambor <mjambor@suse.cz>
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.
9843 2016-11-23 Martin Liska <mliska@suse.cz>
9844 Martin Jambor <mjambor@suse.cz>
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
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
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
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
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.
9893 2016-11-15 Martin Jambor <mjambor@suse.cz>
9894 Alexander Monakov <amonakov@ispras.ru>
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.
9900 2016-11-15 Matthias Klose <doko@ubuntu.com>
9902 * configure: Regenerate.
9904 2016-11-10 Jakub Jelinek <jakub@redhat.com>
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
9910 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
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
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.
9941 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
9942 Nathan Sidwell <nathan@acm.org>
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
9949 2016-11-01 Jakub Jelinek <jakub@redhat.com>
9951 * hashtab.h: Use standard GPLv3 with runtime exception
9954 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
9956 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9957 size when allocating new thread.
9959 2016-09-14 Marek Polacek <polacek@redhat.com>
9961 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9963 2016-08-19 Jakub Jelinek <jakub@redhat.com>
9966 * testsuite/libgomp.fortran/pr71014.f90: New test.
9968 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
9971 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
9972 firstprivate clauses.
9973 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
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.
9988 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
9991 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
9993 2016-08-08 Jakub Jelinek <jakub@redhat.com>
9996 * testsuite/libgomp.c++/pr58706.C: New test.
9998 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
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:
10004 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
10005 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
10007 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
10009 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
10010 test, and don't hardcode -O0.
10012 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
10014 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
10016 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
10018 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
10021 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
10023 PR middle-end/71734
10024 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
10025 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
10027 2016-07-01 Jakub Jelinek <jakub@redhat.com>
10030 * testsuite/libgomp.fortran/associate3.f90: New test.
10032 2016-06-17 Jakub Jelinek <jakub@redhat.com>
10034 * testsuite/libgomp.c++/target-21.C: New test.
10036 2016-06-16 Jakub Jelinek <jakub@redhat.com>
10038 * testsuite/libgomp.c++/target-20.C: New test.
10040 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
10041 Cesar Philippidis <cesar@codesourcery.com>
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.
10050 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
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.
10057 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
10059 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
10060 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
10062 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
10065 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
10067 2016-05-26 Jakub Jelinek <jakub@redhat.com>
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.
10073 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
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'
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.
10105 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
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
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
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.
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
10158 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
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.
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
10183 (fini_streams_for_device): Change return type to bool, adjust
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*
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
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.
10222 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
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.
10267 2016-05-23 Martin Jambor <mjambor@suse.cz>
10269 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
10271 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
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,
10278 (acc_get_device_num): Remove !cached_base_dev condition on call to
10279 gomp_init_targets_once.
10280 (acc_set_device_num): Likewise.
10282 2016-05-16 Martin Jambor <mjambor@suse.cz>
10284 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
10286 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
10288 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
10289 expected partitioning.
10291 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
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.
10298 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
10300 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
10303 2016-04-19 Jakub Jelinek <jakub@redhat.com>
10305 PR middle-end/70680
10306 * testsuite/libgomp.c/pr70680-1.c: New test.
10307 * testsuite/libgomp.c/pr70680-2.c: New test.
10309 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
10311 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
10312 pass parameter variables to subroutines.
10314 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
10316 PR middle-end/70643
10317 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
10319 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
10322 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
10323 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10325 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
10327 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
10328 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
10329 GOACC_declare prototype.
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
10360 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
10361 Make failure observable.
10363 2016-04-12 Jakub Jelinek <jakub@redhat.com>
10365 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
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.
10378 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
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
10388 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
10390 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
10392 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
10394 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
10396 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
10398 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
10400 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
10402 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
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
10409 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
10411 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
10413 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
10415 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
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
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.
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>
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.
10458 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
10460 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
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:
10467 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
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:
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
10484 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
10486 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
10488 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
10490 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
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
10502 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
10504 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
10506 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
10508 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
10510 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
10511 set-torture-options.
10513 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
10515 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
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
10522 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10523 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
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:
10544 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
10546 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
10549 2016-03-24 Martin Liska <mliska@suse.cz>
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.
10555 2016-03-23 Jakub Jelinek <jakub@redhat.com>
10558 * testsuite/libgomp.c++/pr70376.C: New test.
10560 2016-03-23 Tom de Vries <tom@codesourcery.com>
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.
10566 2016-03-23 James Norris <jnorris@codesourcery.com>
10567 Daichi Fukuoka <dc-fukuoka@sgi.com>
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.
10575 2016-03-23 Martin Liska <mliska@suse.cz>
10578 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
10579 argument just in case a dispatched kernel uses that argument.
10581 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
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:
10587 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10589 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
10591 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
10593 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
10594 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
10596 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
10598 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
10599 always_ld_library_path the path to libgcc_s.
10601 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
10604 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
10606 2016-03-09 Tom de Vries <tom@codesourcery.com>
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:
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.
10617 2016-03-07 Martin Jambor <mjambor@suse.cz>
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.
10640 2016-03-07 Martin Jambor <mjambor@suse.cz>
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.
10654 2016-03-07 Martin Jambor <mjambor@suse.cz>
10656 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
10659 2016-03-02 Jakub Jelinek <jakub@redhat.com>
10662 * testsuite/libgomp.c++/pr69555-1.C: New test.
10663 * testsuite/libgomp.c++/pr69555-2.C: New test.
10665 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
10666 Martin Jambor <mjambor@suse.cz>
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.
10672 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
10675 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
10677 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
10679 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
10680 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
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:
10687 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10689 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10691 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10693 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10695 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10697 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
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:
10702 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10703 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10705 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10706 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10709 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
10711 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10713 2016-02-19 Jakub Jelinek <jakub@redhat.com>
10716 * testsuite/libgomp.c/pr69805.c: New test.
10718 2016-02-16 Tom de Vries <tom@codesourcery.com>
10721 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10723 2016-02-09 Tom de Vries <tom@codesourcery.com>
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.
10731 2016-02-09 Tom de Vries <tom@codesourcery.com>
10734 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10736 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
10738 * testsuite/libgomp.c/target-31.c: Fix testcase.
10740 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
10742 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
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.
10749 2016-02-02 James Norris <jnorris@codesourcery.com>
10751 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10753 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
10755 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10756 * oacc-parallel.c (GOACC_host_data): Remove function definition.
10758 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10761 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
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.
10771 * plugin/configfrag.ac (offload_additional_options)
10772 (offload_additional_lib_paths): Don't amend for hsa offloading.
10773 * configure: Regenerate.
10775 * plugin/configfrag.ac: Don't configure for offloading target if
10776 we don't build the corresponding plugin.
10777 * configure: Regenerate.
10779 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
10781 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10782 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10784 2016-01-26 Tom de Vries <tom@codesourcery.com>
10786 PR tree-optimization/69110
10787 * testsuite/libgomp.c/pr69110.c: New test.
10789 2016-01-25 Richard Biener <rguenther@suse.de>
10792 * testsuite/libgomp.c++/pr69393.C: New testcase.
10794 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
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.
10799 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
10801 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10803 2016-01-19 Martin Jambor <mjambor@suse.cz>
10804 Martin Liska <mliska@suse.cz>
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
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
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
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
10862 * plugin/plugin-hsa.c: New file.
10864 2016-01-18 Tom de Vries <tom@codesourcery.com>
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:
10878 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
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:
10889 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10891 2016-01-15 Jakub Jelinek <jakub@redhat.com>
10893 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10895 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
10897 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10899 2016-01-12 James Norris <jnorris@codesourcery.com>
10901 * libgomp.texi: Updates for OpenACC.
10903 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
10905 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10907 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
10910 * testsuite/libgomp.fortran/pr66680.f90: New test.
10912 2016-01-07 Jakub Jelinek <jakub@redhat.com>
10914 PR middle-end/68960
10915 * testsuite/libgomp.c/pr68960.c: New test.
10917 2016-01-06 Nathan Sidwell <nathan@acm.org>
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.
10922 2016-01-04 Jakub Jelinek <jakub@redhat.com>
10924 Update copyright years.
10926 * libgomp.texi: Bump @copying's copyright year.
10928 2015-12-31 Nathan Sidwell <nathan@acm.org>
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.
10951 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
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.
10969 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
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.
10998 2015-12-09 Tom de Vries <tom@codesourcery.com>
11000 PR tree-optimization/68716
11001 * testsuite/libgomp.c/omp-nested-2.c: New test.
11003 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
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.
11012 2015-12-01 Julian Brown <julian@codesourcery.com>
11013 James Norris <James_Norris@mentor.com>
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.
11024 2015-11-30 James Norris <jnorris@codesourcery.com>
11025 Cesar Philippidis <cesar@codesourcery.com>
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.
11032 2015-11-30 Tom de Vries <tom@codesourcery.com>
11034 PR tree-optimization/46032
11035 * testsuite/libgomp.c/pr46032.c: New test.
11037 2015-11-27 Jakub Jelinek <jakub@redhat.com>
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.
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.
11049 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
11051 * configure: Regenerate.
11053 2015-11-26 Jakub Jelinek <jakub@redhat.com>
11055 * testsuite/libgomp.c/target-35.c: New test.
11057 2015-11-22 James Norris <jnorris@codesourcery.com>
11058 Cesar Philippidis <cesar@codesourcery.com>
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.
11066 2015-11-20 Jakub Jelinek <jakub@redhat.com>
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.
11074 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
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
11082 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
11083 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
11085 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
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.
11091 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
11093 * config/nvptx/priority_queue.c: New file.
11095 2015-11-14 Jakub Jelinek <jakub@redhat.com>
11097 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
11100 2015-11-14 Jakub Jelinek <jakub@redhat.com>
11101 Aldy Hernandez <aldyh@redhat.com>
11102 Ilya Verbin <ilya.verbin@intel.com>
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
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.
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
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
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):
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
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
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.
11201 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
11203 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
11205 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
11206 loop is sequential.
11208 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
11210 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
11211 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
11213 2015-11-12 James Norris <jnorris@codesourcery.com>
11214 Joseph Myers <joseph@codesourcery.com>
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.
11224 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
11226 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
11228 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
11230 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
11231 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
11233 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
11235 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
11236 inadvertent commit.
11238 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
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.
11246 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
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.
11251 2015-11-05 Jakub Jelinek <jakub@redhat.com>
11252 Ilya Verbin <ilya.verbin@intel.com>
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
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
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
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
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.
11360 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
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.
11379 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
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.
11390 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
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.
11398 2015-11-03 Julian Brown <julian@codesourcery.com>
11399 Thomas Schwinge <thomas@codesourcery.com>
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:
11405 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
11406 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
11408 2015-11-03 James Norris <jnorris@codesourcery.com>
11410 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
11412 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
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.
11420 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
11422 * openacc.h (enum acc_device_t): Reformat. Ensure layout
11424 (enum acc_async_t): Reformat.
11425 (acc_on_device): Declare compatible with builtin and provide C++
11427 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
11429 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
11430 Cesar Philippidis <cesar@codesourcery.com>
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.
11439 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
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.
11448 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
11450 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
11453 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
11456 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
11458 2015-10-27 James Norris <jnorris@codesourcery.com>
11460 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
11461 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
11463 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
11465 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
11466 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
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.
11474 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
11475 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
11478 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
11482 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
11483 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
11485 2015-10-23 Tom de Vries <tom@codesourcery.com>
11488 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
11490 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
11492 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
11494 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11496 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
11497 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
11499 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
11500 to 0 when mapnum is 0.
11502 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
11504 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
11505 Cast to int from int32_t.
11507 2015-10-13 Jakub Jelinek <jakub@redhat.com>
11508 Aldy Hernandez <aldyh@redhat.com>
11509 Ilya Verbin <ilya.verbin@intel.com>
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
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
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
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
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
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):
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
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.
11821 2015-10-13 Tom de Vries <tom@codesourcery.com>
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.
11831 2015-10-12 James Norris <jnorris@codesourcery.com>
11833 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11836 2015-10-09 David Malcolm <dmalcolm@redhat.com>
11838 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11839 using load_gcc_lib.
11841 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
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.
11851 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
11852 Bernd Schmidt <bernds@codesourcery.com>
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
11859 (GOMP_OFFLOAD_load_image): Adjust.
11861 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
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.
11927 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11929 * oacc-init.c (acc_on_device): Force optimization level.
11931 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11933 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11934 (cuda_errlist): Delete.
11935 (cuda_error): Reimplement.
11937 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
11939 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
11941 * libgomp.map (GOACC_parallel_keyed): New.
11942 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
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
11956 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11958 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
11961 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
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.
11968 2015-09-08 Aditya Kumar <hiraditya@msn.com>
11969 Sebastian Pop <s.pop@samsung.com>
11971 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
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.
11979 2015-09-03 Jakub Jelinek <jakub@redhat.com>
11981 * configure.tgt: Add missing ;; in between nvptx and rtems
11984 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
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
11991 (parse_thread_pools): Likewise.
11992 * team.c (gomp_team_start): Call configuration provided
11993 gomp_adjust_thread_attr(). Destroy thread attributes if
11995 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
11997 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
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().
12008 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
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.
12022 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
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.
12030 2015-09-03 Tom de Vries <tom@codesourcery.com>
12032 PR tree-optimization/65637
12033 * testsuite/libgomp.c/autopar-2.c: New test.
12035 2015-08-29 Tom de Vries <tom@codesourcery.com>
12037 PR tree-optimization/46193
12038 * testsuite/libgomp.c/pr46193.c: New test.
12040 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
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
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.
12072 2015-08-24 Tom de Vries <tom@codesourcery.com>
12074 PR tree-optimization/65468
12075 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
12077 2015-08-24 Tom de Vries <tom@codesourcery.com>
12079 PR tree-optimization/65468
12080 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
12082 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
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.
12092 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
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.
12121 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
12122 Jakub Jelinek <jakub@redhat.com>
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
12165 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
12167 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
12169 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
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.
12180 2015-07-28 Tom de Vries <tom@codesourcery.com>
12182 * testsuite/libgomp.c/uns-outer-4.c: New test.
12184 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
12186 * testsuite/libgomp.c/pr66714.c: New test.
12188 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
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
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.
12203 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
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
12216 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
12218 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
12220 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
12222 (goacc_waits): Move !num_waits handling to ...
12223 (GOACC_wait): ... here, the only caller that might have zero waits.
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
12235 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
12237 * target.c (GOMP_offload_register): Use int for device type arg.
12238 (GOMP_offload_unregister): Likewise.
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.
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.
12254 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
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
12262 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
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.
12269 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
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
12275 (free_team): ... here.
12277 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
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.
12292 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
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
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.
12450 2015-07-10 Tom de Vries <tom@codesourcery.com>
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.
12455 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
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.
12465 2015-07-08 Tom de Vries <tom@codesourcery.com>
12467 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
12469 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12471 2015-07-07 Tom de Vries <tom@codesourcery.com>
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.
12480 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
12482 * libgomp.h (gomp_thread_pool): Comment last_team field.
12484 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
12486 * testsuite/libgomp.c++/pr66702-1.C: Require
12487 vect_simd_clones effective target.
12488 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
12490 2015-06-30 Tom de Vries <tom@codesourcery.com>
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
12497 2015-06-30 Tom de Vries <tom@codesourcery.com>
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.
12533 2015-06-30 Jakub Jelinek <jakub@redhat.com>
12535 PR middle-end/66702
12536 * testsuite/libgomp.c++/pr66702-1.C: New test.
12537 * testsuite/libgomp.c++/pr66702-2.C: New test.
12539 2015-06-30 Tom de Vries <tom@codesourcery.com>
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.
12546 2015-06-30 Tom de Vries <tom@codesourcery.com>
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.
12554 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
12556 * configure.ac: Fix check for header <sys/sysctl.h>.
12557 * configure: Regenerate.
12558 * config.h.in: Likewise.
12560 2015-06-23 Tom de Vries <tom@codesourcery.com>
12562 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
12564 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
12566 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
12568 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
12572 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
12573 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12575 2015-06-15 Tom de Vries <tom@codesourcery.com>
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.
12617 2015-06-15 Tom de Vries <tom@codesourcery.com>
12619 * testsuite/libgomp.c/pr35625.c: Fix typo.
12621 2015-06-15 Tom de Vries <tom@codesourcery.com>
12623 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
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.
12637 2015-06-15 Tom de Vries <tom@codesourcery.com>
12639 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
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.
12649 2015-06-13 Tom de Vries <tom@codesourcery.com>
12651 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
12653 2015-06-13 Tom de Vries <tom@codesourcery.com>
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.
12659 (main): Use N instead of hardcoded constants.
12661 2015-06-05 Tom de Vries <tom@codesourcery.com>
12663 merge from gomp4 branch:
12664 2015-05-28 Tom de Vries <tom@codesourcery.com>
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.
12671 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
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.
12686 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
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.
12692 2015-05-28 Julian Brown <julian@codesourcery.com>
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
12702 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12705 2015-05-28 Julian Brown <julian@codesourcery.com>
12708 * oacc-init.c (plugin/plugin-host.h): Include.
12709 (acc_on_device): Check whether we're in an offloaded region for
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.
12720 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12722 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12724 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12726 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12728 (FUTEX_PRIVATE_FLAG): Remove L suffix.
12729 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12732 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12734 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
12736 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
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().
12743 2015-05-19 Jakub Jelinek <jakub@redhat.com>
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.
12753 2015-05-19 Julian Brown <julian@codesourcery.com>
12755 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12758 2015-05-13 Jakub Jelinek <jakub@redhat.com>
12760 PR middle-end/66133
12761 * testsuite/libgomp.c/pr66133.c: New test.
12763 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
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.
12771 2015-05-08 Jason Merrill <jason@redhat.com>
12773 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12776 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12778 2015-05-06 Julian Brown <julian@codesourcery.com>
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.
12788 2015-05-06 Julian Brown <julian@codesourcery.com>
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):
12800 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
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.
12843 2015-04-30 James Norris <jnorris@codesourcery.com>
12846 * testsuite/lib/libgomp.exp
12847 (check_effective_target_openacc_host_selected)
12848 (check_effective_target_openacc_host_nonshm_selected): New
12850 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
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.
12896 2015-04-08 Julian Brown <julian@codesourcery.com>
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
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
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
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
12980 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
12982 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
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 *
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
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
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 *
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.
13053 2015-03-30 Jakub Jelinek <jakub@redhat.com>
13056 * testsuite/libgomp.fortran/pr65597.f90: New test.
13058 2015-03-27 Tom de Vries <tom@codesourcery.com>
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.
13066 2015-03-27 Tom de Vries <tom@codesourcery.com>
13069 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
13070 (foo): Use M for non-inner loops to scale down test-case.
13072 2015-03-25 Kai Tietz <ktietz@redhat.com>
13075 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
13076 (GOACC_data_start): Likewise.
13077 * target.c (gomp_map_vars): Likewise.
13079 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
13081 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
13084 2015-03-19 Jakub Jelinek <jakub@redhat.com>
13086 * testsuite/libgomp.c/target-10.c: New test.
13087 * testsuite/libgomp.c++/target-4.C: New test.
13089 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
13091 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
13092 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
13094 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
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.
13101 2015-02-25 Tom de Vries <tom@codesourcery.com>
13103 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
13104 (check_reduction_op, check_reduction_macro, max, min):
13106 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
13108 (main): Use new functions.
13110 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
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.
13116 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
13118 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
13120 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
13121 Cesar Philippidis <cesar@codesourcery.com>
13123 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
13124 GOACC_ctaid, and GOACC_nctaid routines.
13126 2015-02-11 Jakub Jelinek <jakub@redhat.com>
13129 * testsuite/libgomp.c/atomic-18.c: New test.
13130 * testsuite/libgomp.c++/atomic-16.C: New test.
13132 2015-02-04 Jakub Jelinek <jakub@redhat.com>
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.
13141 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
13144 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
13145 Link with -lpthread.
13146 * config/aix/plugin-suffix.h: Delete.
13148 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
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.
13161 2015-01-23 Jakub Jelinek <jakub@redhat.com>
13163 PR middle-end/64734
13164 * libgomp.c/pr64734.c: New test.
13166 2015-01-23 Tom de Vries <tom@codesourcery.com>
13169 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
13171 2015-01-23 Tom de Vries <tom@codesourcery.com>
13174 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
13177 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
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.
13186 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
13188 * oacc-parallel.c: Don't include <alloca.h>.
13189 (GOACC_parallel): Use gomp_alloca instead of alloca.
13191 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
13193 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
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>
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
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
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
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
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:
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.
13546 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
13547 Julian Brown <julian@codesourcery.com>
13548 David Malcolm <dmalcolm@redhat.com>
13550 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
13551 to "GNU Offloading and Multi Processing Runtime Library". Change
13553 * configure: Regenerate.
13554 * libgomp.texi: Update.
13556 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
13558 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
13560 * configure: Regenerate.
13562 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
13563 "intelmic" in $offload_targets.
13565 2015-01-05 Jakub Jelinek <jakub@redhat.com>
13567 Update copyright years.
13569 * libgomp.texi: Bump @copying's copyright year.
13571 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13573 * testsuite/lib/libgomp.exp: Load target-utils.exp.
13574 Move load of target-supports.exp earlier.
13576 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
13578 * testsuite/libgomp.c/target-9.c: New test.
13580 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
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.
13589 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
13591 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
13593 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
13594 Ilya Verbin <ilya.verbin@intel.com>
13596 * testsuite/libgomp.c/target-critical-1.c: New test.
13598 2014-11-26 Jakub Jelinek <jakub@redhat.com>
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.
13609 2014-11-24 Jakub Jelinek <jakub@redhat.com>
13612 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
13613 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
13615 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
13617 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
13619 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
13622 * configure: Regenerated.
13624 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
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.
13630 2014-11-14 Jakub Jelinek <jakub@redhat.com>
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.
13637 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
13638 Ilya Verbin <ilya.verbin@intel.com>
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.
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>
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.
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>
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):
13739 (offload_images, num_offload_images, devices, num_devices): New static
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.
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>
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.
13769 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13772 * configure: Regenerate.
13774 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13776 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13778 2014-10-06 Marek Polacek <polacek@redhat.com>
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.
13785 2014-10-06 Marek Polacek <polacek@redhat.com>
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
13807 2014-10-03 Jakub Jelinek <jakub@redhat.com>
13810 * testsuite/libgomp.c/pr61200.c: New test.
13812 2014-09-18 Jakub Jelinek <jakub@redhat.com>
13815 * testsuite/libgomp.c++/pr63248.C: New test.
13817 2014-08-04 Jakub Jelinek <jakub@redhat.com>
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.
13828 2014-08-01 Jakub Jelinek <jakub@redhat.com>
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
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.
13858 2014-07-13 Tobias Burnus <burnus@net-b.de>
13860 * testsuite/libgomp.fortran/pr34020.f90: Make compile
13861 with TS 18508/Fortran 2015.
13863 2014-07-06 Marek Polacek <polacek@redhat.com>
13866 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13868 2014-07-03 Jakub Jelinek <jakub@redhat.com>
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
13877 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13879 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
13881 * testsuite/libgomp.fortran/fortran.exp: Explain
13882 gfortran-dg-runtest usage.
13884 2014-06-25 Jakub Jelinek <jakub@redhat.com>
13886 * testsuite/libgomp.fortran/simd5.f90: New test.
13887 * testsuite/libgomp.fortran/simd6.f90: New test.
13888 * testsuite/libgomp.fortran/simd7.f90: New test.
13890 2014-06-24 Jakub Jelinek <jakub@redhat.com>
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
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.
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):
13918 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
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.
13925 2014-06-18 Jakub Jelinek <jakub@redhat.com>
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
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.
13944 2014-06-10 Jakub Jelinek <jakub@redhat.com>
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.
13958 2014-06-06 Jakub Jelinek <jakub@redhat.com>
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.
13973 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
13975 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
13976 vect_simd_clones effective target.
13977 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
13979 2014-05-21 Jakub Jelinek <jakub@redhat.com>
13981 PR middle-end/61252
13982 * testsuite/libgomp.c++/simd-9.C: New test.
13984 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
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.
13990 2014-05-11 Jakub Jelinek <jakub@redhat.com>
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.
14010 2014-05-02 Jakub Jelinek <jakub@redhat.com>
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.
14017 2014-04-24 Jakub Jelinek <jakub@redhat.com>
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.
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.
14029 2014-04-02 Richard Henderson <rth@redhat.com>
14031 * config/linux/futex.h (futex_wait): Get error value from errno.
14032 (futex_wake): Likewise.
14034 2014-03-25 Jakub Jelinek <jakub@redhat.com>
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.
14047 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14049 Update copyright years
14051 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
14053 * hashtab.h: Use the standard form for the copyright notice.
14055 2014-01-02 Tobias Burnus <burnus@net-b.de>
14057 * libgomp.texi: Bump @copying's copyright year.
14059 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
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.
14067 2013-12-17 Jakub Jelinek <jakub@redhat.com>
14070 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
14073 2013-12-16 Jakub Jelinek <jakub@redhat.com>
14076 * testsuite/libgomp.c/pr58756.c: New test.
14078 2013-12-12 Jakub Jelinek <jakub@redhat.com>
14081 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
14084 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
14086 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
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):
14094 * libgomp_g.h: Include <stddef.h> for size_t.
14096 * libgomp.spec.in: Update comment about libgomp's dependencies.
14097 * configure.ac: Likewise.
14098 * configure: Regenerate.
14100 2013-10-16 Tobias Burnus <burnus@net-b.de>
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
14111 2013-10-14 Jakub Jelinek <jakub@redhat.com>
14113 * env.c (parse_bind_var): Initialize value to avoid
14114 (false positive) warning.
14116 2013-10-12 Jakub Jelinek <jakub@redhat.com>
14119 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
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
14135 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
14136 Jakub Jelinek <jakub@redhat.com>
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.
14149 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
14151 * Makefile.am (omp_lib.mod): Streamline rule.
14152 * Makefile.in: Regenerate.
14154 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
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.
14162 * configure.ac: Typo fix.
14163 * configure: Regenerate.
14165 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
14166 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
14168 * omp.h.in: Don't touch the user's namespace.
14170 2013-10-11 Jakub Jelinek <jakub@redhat.com>
14171 Tobias Burnus <burnus@net-b.de>
14172 Richard Henderson <rth@redhat.com>
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
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
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
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
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):
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
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
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
14306 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
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
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
14363 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
14364 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
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
14389 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
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.
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
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):
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.
14534 2013-09-20 Jakub Jelinek <jakub@redhat.com>
14537 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
14540 2013-09-20 Alan Modra <amodra@gmail.com>
14542 * configure: Regenerate.
14544 2013-09-19 Jakub Jelinek <jakub@redhat.com>
14546 * testsuite/libgomp.c/sections-2.c: New test.
14548 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
14550 * testsuite/libgomp.fortran/strassen.f90:
14551 Add dg-skip-if aarch64_tiny.
14553 2013-06-20 Iain Sandoe <iain@codesourcery.com>
14554 Cesar Philippidis <cesar@codesourcery.com>
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.
14564 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
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.
14571 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
14573 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
14574 GNU/Hurd, as done for Linux-based systems.
14576 * config/posix/ptrlock.h: Fix comment.
14578 2013-05-27 Tobias Burnus <burnus@net-b.de>
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
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.
14592 2013-05-16 Jakub Jelinek <jakub@redhat.com>
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.
14601 2013-02-06 Jakub Jelinek <jakub@redhat.com>
14603 PR middle-end/56217
14604 * testsuite/libgomp.c++/pr56217.C: New test.
14606 2013-02-01 Alan Modra <amodra@gmail.com>
14608 * task.c (GOMP_task, GOMP_taskwait): Comment.
14610 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
14611 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
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
14620 2013-01-22 Alan Modra <amodra@gmail.com>
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.
14630 2013-01-16 Jakub Jelinek <jakub@redhat.com>
14631 Tobias Burnus <burnus@net-b.de>
14634 * testsuite/libgomp.fortran/fortran.exp: Use
14635 -fintrinsic-modules-path= instead of
14636 -fintrinsic-modules-path.
14638 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
14640 Update copyright years.
14642 2012-12-19 Tobias Burnus <burnus@net-b.de>
14644 * testsuite/libgomp.fortran/fortran.exp: Set
14645 -fintrinsic-modules-path.
14647 2012-12-19 Tobias Burnus <burnus@net-b.de>
14649 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
14650 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
14652 2012-11-21 Jakub Jelinek <jakub@redhat.com>
14655 * team.c (gomp_free_thread): Decrease gomp_managed_threads
14656 if pool had any threads_used.
14658 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
14660 * testsuite/libgomp.c++/pr24455.C: Use
14661 -Wl,-undefined,dynamic_lookup on darwin.
14663 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
14665 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
14667 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
14669 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
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>
14682 * configure.tgt: Add AArch64.
14684 2012-10-04 Jason Merrill <jason@redhat.com>
14686 * testsuite/libgomp.c++/tls-init1.C: New.
14688 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
14690 * configure: Regenerated.
14692 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
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
14699 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
14701 * libgomp.texi (Library Index): Renamed from "Index" to prevent
14702 conflict with index.html on case-insensitive file systems.
14704 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
14706 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14707 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
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>
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.
14719 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
14721 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14723 2012-06-22 Richard Guenther <rguenther@suse.de>
14725 Merge from graphite branch
14726 2012-01-13 Tobias Grosser <tobias@grosser.es>
14728 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14729 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14731 2012-06-07 Jakub Jelinek <jakub@redhat.com>
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.
14742 2012-06-06 Jakub Jelinek <jakub@redhat.com>
14745 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14746 argument to memset call.
14748 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
14750 * configure: Regenerated.
14752 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
14754 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14756 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
14759 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14761 2012-03-22 Jakub Jelinek <jakub@redhat.com>
14763 PR middle-end/52547
14764 * testsuite/libgomp.c/pr52547.c: New test.
14766 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14768 * testsuite/lib/libgomp.exp: load fortran-modules.exp
14770 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14772 * configure.tgt (mips-sgi-irix6*): Remove.
14774 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14776 * configure.tgt (alpha*-dec-osf*): Remove.
14778 * config/osf/sem.h: Remove.
14779 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14781 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
14783 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14785 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
14798 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14799 * Makefile.in: Regenerate.
14801 2012-02-14 Walter Lee <walt@tilera.com>
14803 * configure.tgt: Handle tilegx and tilepro.
14804 * config/linux/tile/futex.h: New file.
14806 2012-02-08 Richard Guenther <rguenther@suse.de>
14808 PR tree-optimization/46886
14809 * testsuite/libgomp.c/pr46886.c: New testcase.
14811 2012-01-25 Matthias Klose <doko@ubuntu.com>
14813 * config/linux/arm: Remove empty directory.
14814 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14816 2011-12-09 Alan Modra <amodra@gmail.com>
14819 * task.c (GOMP_taskwait): Don't access task->children outside of
14820 task_lock mutex region.
14821 (GOMP_task): Likewise.
14823 2011-12-06 Jakub Jelinek <jakub@redhat.com>
14826 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
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.
14834 2011-12-02 Alan Modra <amodra@gmail.com>
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.
14851 2011-11-30 Alan Modra <amodra@gmail.com>
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
14860 2011-11-30 Alan Modra <amodra@gmail.com>
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.
14872 2011-11-30 Alan Modra <amodra@gmail.com>
14875 * config/linux/sem.h: Rewrite.
14876 * config/linux/sem.c: Rewrite.
14878 2011-11-28 Richard Henderson <rth@redhat.com>
14880 * libgomp.h (enum memmodel): New.
14882 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
14884 * configure: Regenerate.
14886 2011-10-10 Matthias Klose <doko@ubuntu.com>
14888 * config/posix95: Remove empty directory.
14890 2011-08-26 Jakub Jelinek <jakub@redhat.com>
14892 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14894 2011-08-19 Jakub Jelinek <jakub@redhat.com>
14897 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14898 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14900 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14902 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14904 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14907 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14909 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
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.
14919 2011-08-02 Jakub Jelinek <jakub@redhat.com>
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
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
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.
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.
14983 2011-08-02 Tobias Burnus <burnus@net-b.de>
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.
14990 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
14992 * config/linux/x86/futex.h: Check __x86_64__ instead of
14995 2011-07-29 Jakub Jelinek <jakub@redhat.com>
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.
15004 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
15006 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
15007 for ia32 instead of ilp32.
15009 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
15010 * testsuite/libgomp.c/atomic-6.c: Likewise.
15012 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
15014 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
15015 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
15017 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15020 * config/osf/sem.h: New file.
15021 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
15023 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15026 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
15029 2011-07-15 Jakub Jelinek <jakub@redhat.com>
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
15034 (do_wait): Implement using do_spin.
15035 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
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
15045 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
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.
15051 2011-06-22 Jakub Jelinek <jakub@redhat.com>
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.
15065 2011-05-19 Jakub Jelinek <jakub@redhat.com>
15068 * testsuite/libgomp.c++/pr49043.C: New test.
15071 * testsuite/libgomp.c++/pr48869.C: New test.
15073 2011-05-06 Jakub Jelinek <jakub@redhat.com>
15076 * fortran.c: Include limits.h.
15078 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
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.
15085 2011-04-13 Jakub Jelinek <jakub@redhat.com>
15087 PR middle-end/48591
15088 * testsuite/libgomp.c/pr48591.c: New test.
15090 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15093 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
15094 * configure: Regenerate.
15096 2011-02-27 Jakub Jelinek <jakub@redhat.com>
15099 * testsuite/libgomp.fortran/task3.f90: New test.
15101 2011-02-24 Tobias Burnus <burnus@net-b.de>
15103 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
15105 2011-02-23 Jakub Jelinek <jakub@redhat.com>
15108 * libgomp.texi (omp_get_wtime): Don't say time in the past
15109 must be Unix Epoch.
15111 2011-02-18 Jakub Jelinek <jakub@redhat.com>
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.
15119 2011-02-16 Tobias Burnus <burnus@net-b.de>
15122 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
15123 of libquadmath.a before adding its libpath to ldflags.
15125 2011-02-14 Jakub Jelinek <jakub@redhat.com>
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".
15132 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15134 * configure: Regenerate.
15136 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
15139 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
15141 2011-01-16 Gerald Pfeifer
15143 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
15145 2010-12-14 Jakub Jelinek <jakub@redhat.com>
15148 * libgomp.fortran/allocatable6.f90: New test.
15150 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15152 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
15153 * configure: Regenerate.
15155 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
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.
15166 2010-12-02 Jakub Jelinek <jakub@redhat.com>
15169 * libgomp.fortran/pr46753.f90: New test.
15172 * env.c (initialize_env): Default to spin count 300000
15173 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
15177 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
15178 at the end if sync builtins aren't supported.
15180 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15182 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
15184 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15186 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
15188 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
15190 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
15192 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
15193 Tobias Burnus <burnus@net-b.de>
15197 * configure: Regenerate.
15199 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
15201 * config/linux/futex.h: New.
15202 * config/linux/arm/mutex.h: New.
15203 * configure.tgt (arm*-*-linux*): Add config path.
15205 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
15207 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
15209 2010-09-23 Tobias Burnus <burnus@net-b.de>
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).
15216 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15218 * configure: Regenerate.
15220 2010-07-26 Jakub Jelinek <jakub@redhat.com>
15222 * libgomp.texi: Add function keyword to a couple of Fortran
15223 interfaces, use integer instead of int for Fortran.
15225 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
15227 * libgomp.texi: Fix spelling and pasto problems throughout.
15228 Adjust prototypes to match code.
15230 2010-07-24 Tobias Burnus <burnus@net-b.de>
15232 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
15233 silence -fwhole-file warning.
15235 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15237 * configure.tgt (*-*-solaris2.[56]*): Removed.
15239 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
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
15254 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
15255 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
15256 * Makefile.in: Regenerate.
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.
15264 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
15266 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
15268 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
15271 * configure: Regenerate.
15273 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15276 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
15277 * configure: Regenerate.
15278 * Makefile.in: Regenerate.
15279 * testsuite/Makefile.in: Regenerate.
15281 2010-04-26 Jakub Jelinek <jakub@redhat.com>
15284 * testsuite/libgomp.c/pr43893.c: New test.
15285 * testsuite/libgomp.c++/pr43893.C: New test.
15287 2010-04-21 Jakub Jelinek <jakub@redhat.com>
15289 PR middle-end/43570
15290 * testsuite/libgomp.fortran/vla8.f90: New test.
15292 2010-04-20 Jakub Jelinek <jakub@redhat.com>
15295 * config/linux/affinity.c (gomp_init_affinity): Decrease
15296 gomp_available_cpus if affinity mask confines the process to fewer
15298 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
15299 non-NULL, just return gomp_available_cpus.
15302 * sections.c (gomp_sections_init): Initialize ws->mode.
15304 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
15306 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
15307 not unused bar variable.
15308 * configure: Regenerate.
15310 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15312 * Makefile.in: Regenerate.
15313 * aclocal.m4: Regenerate.
15314 * testsuite/Makefile.in: Regenerate.
15316 2010-03-22 Jakub Jelinek <jakub@redhat.com>
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.
15324 * testsuite/libgomp.c/pr42942.c: New test.
15326 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
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.
15333 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15335 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
15336 * testsuite/libgomp.c++/task-6.C: Likewise.
15338 2010-01-28 Steve Ellcey <sje@cup.hp.com>
15340 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
15342 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
15344 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
15345 * configure: Regenerate.
15347 2010-01-26 Jakub Jelinek <jakub@redhat.com>
15350 * testsuite/libgomp.fortran/allocatable5.f90: New test.
15352 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
15354 * configure.ac: Test for executability of GFORTRAN.
15355 * configure: Regenerate.
15357 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15359 * configure: Regenerate.
15361 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
15364 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
15366 2010-01-03 Richard Guenther <rguenther@suse.de>
15368 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
15370 2009-12-23 Sebastian Pop <sebpop@gmail.com>
15372 * testsuite/libgomp.graphite/pr4118.c: New.
15374 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
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.
15380 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15383 * testsuite/lib/libgomp.exp: Provide -B options to allow for
15384 link spec %s substitutions for static libraries.
15386 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
15389 * libgomp.graphite/force-parallel-2.c: Reduce array size.
15391 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15393 * Makefile.in: Regenerate.
15394 * configure: Regenerate.
15395 * testsuite/Makefile.in: Regenerate.
15397 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
15399 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
15400 settings for LC_ALL and LANG.
15402 2009-11-25 Jakub Jelinek <jakub@redhat.com>
15405 * testsuite/libgomp.fortran/pr42162.f90: New test.
15407 2009-11-13 Jakub Jelinek <jakub@redhat.com>
15409 PR middle-end/42029
15410 * testsuite/libgomp.c/pr42029.c: New test.
15412 2009-10-26 Jakub Jelinek <jakub@redhat.com>
15414 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
15415 *s. Accept ld version without text in ()s.
15416 * configure: Regenerated.
15418 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
15420 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
15422 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15425 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
15426 or a hyphen (happens with fortran language disabled).
15427 * configure: Regenerate.
15429 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15431 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
15432 use sed script portable to Solaris /bin/sed for extracting ld
15434 * configure: Regenerate.
15436 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
15438 * testsuite/libgomp.graphite/bounds.c: New test.
15440 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15442 * Makefile.am (libgomp_la_LINK): New.
15443 * Makefile.in: Regenerate.
15445 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15447 * configure.ac (AC_PREREQ): Bump to 2.64.
15449 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15451 * Makefile.am (install-html, install-pdf): Remove.
15452 * Makefile.in: Regenerate.
15454 * Makefile.in: Regenerate.
15455 * aclocal.m4: Regenerate.
15456 * config.h.in: Regenerate.
15457 * configure: Regenerate.
15458 * testsuite/Makefile.in: Regenerate.
15460 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15462 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
15463 * Makefile.in: Regenerate.
15465 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
15467 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
15468 * Makefile.in: Regenerate.
15470 2009-08-19 Tobias Burnus <burnus@net-b.de>
15473 omp_lib.h.in: Fix -std=f95 errors.
15475 2009-08-14 David Edelsohn <edelsohn@gnu.org>
15477 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
15478 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
15479 * testsuite/libgomp.graphite/graphite.exp: New.
15481 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
15483 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
15486 2009-08-04 David Daney <ddaney@caviumnetworks.com>
15488 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
15489 needed memory barrier semantics.
15490 * config/linux/mips/mutex.h: New file.
15492 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15494 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
15496 2009-07-16 Joseph Myers <joseph@codesourcery.com>
15498 * configure: Regenerate.
15500 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
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.
15509 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
15511 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
15512 options when choosing a multilib.
15514 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
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.
15523 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
15525 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
15527 * Makefile.am (LTLDFLAGS): Define.
15529 * Makefile.in: Regenerate.
15531 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
15534 * testsuite/libgomp.fortran/fortran.exp: Don't link with
15535 libgfortranbegin, check existence of libgfortran.a instead of
15536 libgfortranbegin.a.
15538 2009-05-20 Jakub Jelinek <jakub@redhat.com>
15541 * team.c (gomp_thread_start): Destroy thr->release semaphore.
15542 (gomp_free_pool_helper): Likewise.
15544 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
15545 Jakub Jelinek <jakub@redhat.com>
15548 * testsuite/libgomp.fortran/workshare2.f90: New test.
15550 2009-04-09 Nick Clifton <nickc@redhat.com>
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.
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.
15613 2009-04-09 Jakub Jelinek <jakub@redhat.com>
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.
15619 2009-04-08 Jakub Jelinek <jakub@redhat.com>
15621 PR middle-end/39573
15622 * libgomp.c++/pr39573.C: New test.
15624 2009-04-01 Jakub Jelinek <jakub@redhat.com>
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.
15631 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
15633 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
15634 * testsuite/libgomp.c/atomic-6.c: Ditto.
15636 2009-03-23 Jakub Jelinek <jakub@redhat.com>
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.
15645 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15647 * configure: Regenerate.
15649 2009-02-11 Jakub Jelinek <jakub@redhat.com>
15651 PR middle-end/39154
15652 * testsuite/libgomp.c/pr39154.c: New test.
15654 2009-01-30 Ian Lance Taylor <iant@google.com>
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.
15661 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
15663 * testsuite/lib/libgomp.exp: Add -B option for targets that
15664 use libgfortran.a%s in their specs.
15666 2009-01-07 Jakub Jelinek <jakub@redhat.com>
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.
15675 2008-12-28 Jakub Jelinek <jakub@redhat.com>
15678 * testsuite/libgomp.c/pr38650.c: New test.
15679 * testsuite/libgomp.c++/pr38650.C: New test.
15681 2008-12-27 Jakub Jelinek <jakub@redhat.com>
15683 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15685 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
15687 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15689 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15691 * configure: Regenerate.
15693 2008-12-08 Jakub Jelinek <jakub@redhat.com>
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.
15700 2008-12-01 Janis Johnson <janis187@us.ibm.com>
15703 * config/linux/powerpc/mutex.h: New.
15705 2008-12-01 Jakub Jelinek <jakub@redhat.com>
15708 * testsuite/libgomp.c++/for-7.C: New test.
15711 * testsuite/libgomp.c++/for-6.C: New test.
15713 2008-11-26 Janis Johnson <janis187@us.ibm.com>
15716 * testsuite/lib/libgomp.exp: Include new timeout library files.
15717 (libgomp_target_compile): Set timeout value from new proc.
15719 2008-11-13 Steve Ellcey <sje@cup.hp.com>
15722 * config/linux/ia64/mutex.h: New.
15724 2008-11-04 Tobias Burnus <burnus@net-b.de>
15727 * libgomp.texi (Runtime library routines, environment variables):
15728 Update for OpenMP version 3.0.
15730 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
15731 Steve Ellcey <sje@cup.hp.com>
15733 * configure: Regenerate for new libtool.
15734 * Makefile.in: Ditto.
15735 * testsuite/Makefile.in: Ditto.
15737 2008-09-19 Jakub Jelinek <jakub@redhat.com>
15738 Andreas Tobler <a.tobler@schweiz.org>
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.
15746 2008-09-05 Janis Johnson <janis187@us.ibm.com>
15748 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15750 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
15752 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15753 * Makefile.in: Regenerated.
15754 * testsuite/Makefile.in: Regenerated.
15756 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
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.
15764 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15766 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
15767 Do not list GPL as Invariant Section.
15769 2008-07-28 Ilie Garbacea <ilie@mips.com>
15770 Chao-ying Fu <fu@mips.com>
15772 * configure.tgt: Enable futex for MIPS.
15773 * config/linux/mips/futex.h: New file.
15775 2008-07-16 Jakub Jelinek <jakub@redhat.com>
15777 * team.c (gomp_team_end): Free team immediately if it has
15780 2008-07-08 David Edelsohn <edelsohn@gnu.org>
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.
15788 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
15790 * env.c (parse_stacksize): Add cast to avoid warning.
15791 (parse_spincount): Likewise.
15793 2008-06-27 Jakub Jelinek <jakub@redhat.com>
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.
15800 * testsuite/libgomp.c/debug-1.c: New test.
15802 2008-06-19 Jakub Jelinek <jakub@redhat.com>
15804 * testsuite/libgomp.c/nqueens-1.c: New test.
15807 * testsuite/libgomp.c++/task-7.C: New function.
15809 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15811 * configure: Regenerate.
15813 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15815 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15816 mutex when HAVE_SYNC_BUILTINS isn't defined.
15818 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15820 * libgomp.texi (omp_test_lock): Fix typo.
15822 2008-06-12 Tobias Burnus <burnus@net-b.de>
15824 * omp_lib.f90.in: Add "implicit none".
15826 2008-06-12 Jakub Jelinek <jakub@redhat.com>
15828 PR middle-end/36506
15829 * testsuite/libgomp.c/reduction-5.c: New test.
15831 2008-06-11 Jakub Jelinek <jakub@redhat.com>
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.
15841 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15842 omp_get_team_size_8): Fix pastos.
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
15851 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
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.
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>
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
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.
15935 (gomp_schedule_type): Reorder enum to match
15937 * team.c (struct gomp_thread_start_data): Add thread_pool and task
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
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
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
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
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):
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,
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_):
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,
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
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.
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
16145 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
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
16169 * config/linux/bar.c: Include wait.h instead of libgomp.h and
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
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
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
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
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
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
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
16257 (omp_nest_lock_t): Likewise. Add owner field.
16259 2008-06-06 Jakub Jelinek <jakub@redhat.com>
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.
16328 2008-05-23 Jakub Jelinek <jakub@redhat.com>
16331 * testsuite/libgomp.c++/ctor-11.C: New test.
16332 * testsuite/libgomp.c++/ctor-12.C: New test.
16334 2008-05-15 Janis Johnson <janis187@us.ibm.com>
16336 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
16338 2008-05-07 Jakub Jelinek <jakub@redhat.com>
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.
16345 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
16354 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
16357 * aclocal.m4: Regenerate.
16358 * configure: Regenerate.
16360 2008-03-18 Jakub Jelinek <jakub@redhat.com>
16362 PR middle-end/35611
16363 * testsuite/libgomp.c/atomic-4.c: New test.
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.
16370 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16372 * aclocal.m4: Regenerate.
16373 * configure: Likewise.
16374 * Makefile.in: Likewise.
16375 * testsuite/Makefile.in: Likewise.
16377 2008-03-13 Jakub Jelinek <jakub@redhat.com>
16379 PR middle-end/35185
16380 * testsuite/libgomp.c++/pr35185.C: New test.
16382 2008-03-12 Jakub Jelinek <jakub@redhat.com>
16384 PR middle-end/35549
16385 * testsuite/libgomp.c/pr35549.c: New test.
16387 2008-03-06 Jakub Jelinek <jakub@redhat.com>
16389 * testsuite/libgomp.c/atomic-3.c: New test.
16391 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16394 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
16395 .F08 file suffixes.
16397 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
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.
16408 2008-02-15 Jakub Jelinek <jakub@redhat.com>
16410 PR middle-end/35196
16411 * testsuite/libgomp.c/pr35196.c: New test.
16413 PR middle-end/35130
16414 * testsuite/libgomp.fortran/pr35130.f90: New test.
16415 * testsuite/libgomp.c/pr35130.c: New test.
16417 2008-01-25 Jakub Jelinek <jakub@redhat.com>
16419 PR middle-end/33880
16420 * testsuite/libgomp.c/pr33880.c: New test.
16421 * testsuite/libgomp.fortran/pr33880.f90: New test.
16423 2008-01-24 David Edelsohn <edelsohn@gnu.org>
16425 * configure: Regenerate.
16427 2008-01-08 Jakub Jelinek <jakub@redhat.com>
16429 * configure.ac: Move futex checking into ../config/futex.m4.
16430 * configure: Rebuilt.
16431 * aclocal.m4: Rebuilt.
16432 * Makefile.in: Rebuilt.
16434 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
16435 2007-10-15 ../config/tls.m4 change.
16437 2007-12-19 Jakub Jelinek <jakub@redhat.com>
16440 * testsuite/libgomp.c/pr34513.c: New test.
16441 * testsuite/libgomp.c++/pr34513.C: New test.
16443 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
16446 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
16448 2007-12-04 Jakub Jelinek <jakub@redhat.com>
16450 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
16452 2007-12-03 Jakub Jelinek <jakub@redhat.com>
16454 * testsuite/libgomp.c/private-1.c: New test.
16456 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
16457 Paolo Bonzini <bonzini@gnu.org>
16459 * Makefile.am: Use space as vpath separator. Use 'vpath %'
16460 instead of 'VPATH ='.
16461 * Makefile.in: Regenerate.
16463 2007-11-23 Matthias Klose <doko@ubuntu.com>
16465 * configure.ac: Adjust makeinfo version check.
16466 * configure: Regenerate.
16468 2007-11-10 Jakub Jelinek <jakub@redhat.com>
16471 * testsuite/libgomp.fortran/pr34020.f90: New test.
16473 2007-11-06 Jakub Jelinek <jakub@redhat.com>
16476 * testsuite/libgomp.c++/atomic-1.C: New test.
16478 2007-10-25 Jakub Jelinek <jakub@redhat.com>
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.
16485 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
16487 * configure: Regenerate following changes to ../config/tls.m4.
16489 2007-09-28 Jakub Jelinek <jakub@redhat.com>
16491 * testsuite/libgomp.fortran/stack.f90: New test.
16493 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
16495 * config/mingw32/proc.c: New file.
16497 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
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.
16504 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
16507 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
16508 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
16510 2007-07-12 Jakub Jelinek <jakub@redhat.com>
16513 * testsuite/libgomp.fortran/pr32550.f90: New test.
16514 * testsuite/libgomp.fortran/crayptr2.f90: New test.
16516 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
16518 * aclocal.m4: Regenerated.
16520 2007-07-05 Tobias Burnus <burnus@net-b.de>
16523 * testsuite/libgomp.fortran/pr32359.f90: New.
16525 2007-07-02 Jakub Jelinek <jakub@redhat.com>
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.
16532 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16535 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
16537 2007-06-21 Jakub Jelinek <jakub@redhat.com>
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.
16544 2007-06-07 Jakub Jelinek <jakub@redhat.com>
16546 * team.c (gomp_team_start): Fix setting up thread_attr
16549 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
16551 * configure: Regenerate.
16553 2007-05-23 Steve Ellcey <sje@cup.hp.com>
16555 * Makefile.in: Regenerate.
16556 * configure: Regenerate.
16557 * aclocal.m4: Regenerate.
16558 * testsuite/Makefile.in: Regenerate.
16560 2007-05-04 Jakub Jelinek <jakub@redhat.com>
16562 * config/linux/proc.c: New file.
16565 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
16567 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
16569 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
16571 2007-04-16 Matthias Klose <doko@debian.org>
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.
16578 2007-04-14 Steve Ellcey <sje@cup.hp.com>
16580 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
16581 * Makefile.in: Regenerate.
16583 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16586 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
16588 * testsuite/libgomp.fortran/fortran.exp: Likewise.
16590 2007-04-04 Jakub Jelinek <jakub@redhat.com>
16592 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
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.
16609 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
16611 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
16613 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
16614 and use it if found.
16616 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
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
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
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.
16644 2007-03-21 Jakub Jelinek <jakub@redhat.com>
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.
16656 2007-03-18 Andreas Schwab <schwab@suse.de>
16658 * acinclude.m4: Adjust regular expression for ld version
16660 * configure: Regenerate.
16662 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
16664 * Makefile.am: Add install-pdf target as copied from
16665 automake v1.10 rules.
16666 * Makefile.in: Regenerate
16668 2007-02-07 Jakub Jelinek <jakub@redhat.com>
16671 * configure: Regenerate.
16674 * testsuite/libgomp.c++/pr30703.C: New test.
16676 2007-02-02 Jakub Jelinek <jakub@redhat.com>
16679 2006-07-05 Eric Christopher <echristo@apple.com>
16680 * configure.ac: Depend addition of -pthread on host OS.
16681 * configure: Regenerate.
16683 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16685 * libgomp.texi: Fix spacing after abbreviations.
16687 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
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.
16698 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
16701 * libgomp.texi: More about implementation-dependent settings.
16703 2007-01-26 Tobias Burnus <burnus@net-b.de>
16705 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16707 2007-01-24 Jakub Jelinek <jakub@redhat.com>
16709 PR middle-end/30494
16710 * testsuite/libgomp.c/pr30494.c: New test.
16712 2007-01-15 Tom Tromey <tromey@redhat.com>
16714 * configure: Rebuilt.
16715 * configure.ac: Fixed comment.
16717 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
16719 * libgomp.texi: Document implementation specific default values of
16720 environment variables.
16722 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
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
16729 * Makefile.in: Regenerated.
16730 * config.h.in: Regenerated.
16731 * testsuite/Makefile.in: Regenerated.
16734 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
16737 * env.c (omp_set_num_threads): Set illegal thread count to 1.
16739 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
16741 * configure: Regenerate.
16743 2006-12-04 Jakub Jelinek <jakub@redhat.com>
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.
16752 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
16754 * configure.tgt: Force initial-exec TLS model on Linux only.
16756 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
16758 * configure: Regenerated.
16760 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
16762 * env.c (parse_schedule): Reject out of range values.
16763 (parse_unsigned_long): Reject out of range, negative or zero values.
16765 2006-10-29 Jakub Jelinek <jakub@redhat.com>
16768 * testsuite/libgomp.fortran/pr29629.f90: New test.
16770 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
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.
16778 2006-10-14 Geoffrey Keating <geoffk@apple.com>
16780 * aclocal.m4: Regenerate.
16781 * configure: Regenerate.
16783 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16785 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16788 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16790 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16792 * configure: Regenerate.
16793 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16795 2006-09-26 Jakub Jelinek <jakub@redhat.com>
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.
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.
16810 2006-09-18 Tom Tromey <tromey@redhat.com>
16812 * configure: Rebuilt.
16814 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
16817 PR preprocessor/14634
16818 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16820 * configure: Regenerate.
16822 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
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.
16829 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
16832 * Makefile.am (libsubincludedir): New.
16833 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16834 * Makefile.in: Regenerate.
16836 2006-08-17 Jakub Jelinek <jakub@redhat.com>
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
16844 2006-07-16 Jakub Jelinek <jakub@redhat.com>
16847 * testsuite/libgomp.fortran/pr28390.f: New test.
16849 2006-07-05 Eric Christopher <echristo@apple.com>
16851 * configure.ac: Depend addition of -pthread on host OS.
16852 * configure: Regenerate.
16854 2006-06-21 Jakub Jelinek <jakub@redhat.com>
16856 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16857 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16860 2006-06-20 Jakub Jelinek <jakub@redhat.com>
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.
16870 2006-06-14 Richard Henderson <rth@redhat.com>
16873 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16874 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16876 2006-06-09 Richard Henderson <rth@redhat.com>
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.
16888 2006-06-09 Jakub Jelinek <jakub@redhat.com>
16891 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16892 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16894 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16896 * config/mingw32/time.c: New file.
16897 * configure.tgt: Use it.
16899 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
16901 * Makefile.am: Add install-html target. Add install-html to .PHONY
16902 * Makefile.in: Regenerate.
16904 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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.
16915 2006-05-15 Jakub Jelinek <jakub@redhat.com>
16917 PR middle-end/27416
16918 * libgomp.fortran/pr27416-1.f90: New test.
16920 2006-05-03 Jakub Jelinek <jakub@redhat.com>
16923 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
16924 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
16926 2006-05-02 Jakub Jelinek <jakub@redhat.com>
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.
16936 2006-05-02 Jakub Jelinek <jakub@redhat.com>
16938 PR middle-end/27337
16939 * testsuite/libgomp.c++/pr27337.C: New test.
16941 2006-04-26 Jakub Jelinek <jakub@redhat.com>
16944 * testsuite/libgomp.c/pr26171.c: New test.
16946 2006-04-25 Richard Henderson <rth@redhat.com>
16949 * configure.ac: Use GCC_CHECK_TLS.
16950 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16951 * Makefile.in, aclocal.m4, configure: Regenerate.
16953 2006-04-10 Matthias Klose <doko@debian.org>
16955 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16956 directory names containing underscores.
16958 2006-03-21 Jakub Jelinek <jakub@redhat.com>
16961 * testsuite/libgomp.c++/pr26691.C: New test.
16963 2006-03-13 Jakub Jelinek <jakub@redhat.com>
16965 * testsuite/libgomp.fortran/retval2.f90: New test.
16967 2006-03-09 Diego Novillo <dnovillo@redhat.com>
16969 * testsuite/libgomp.c++: New directory.
16971 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
16973 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
16974 * config/posix/sem.c: Implement the above.
16976 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
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.
16983 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
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.
16991 2006-02-15 Jakub Jelinek <jakub@redhat.com>
16995 * Makefile.am (fincludedir): New variable.
16996 (nodist_include_HEADERS): Remove Fortran files.
16997 (nodist_finclude_HEADERS): New variable.
16998 * Makefile.in: Regenerated.
17000 2006-02-13 Jakub Jelinek <jakub@redhat.com>
17002 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
17003 Remove tests for returning assumed character length arrays.
17005 2006-02-12 Roger Sayle <roger@eyesopen.com>
17006 John David Anglin <dave@hiauly1.hia.nrc.ca>
17009 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
17011 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
17013 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
17015 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
17017 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
17018 part of LD_LIBRARY_PATH manually.
17020 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
17023 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
17026 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
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.
17039 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
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.
17047 2006-01-24 Richard Henderson <rth@redhat.com>
17050 * configure.ac: Add AM_MAINTAINER_MODE.
17051 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
17053 2006-01-24 Diego Novillo <dnovillo@redhat.com>
17055 * Makefile.in: Regenerate.
17056 * testsuite/Makefile.in: Regenerate.
17057 * aclocal.m4: Regenerate.
17059 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
17061 * config/posix/proc.c: Conditional include of sys/loadavg.h for
17063 * configure.ac: Add check for loadavg.h.
17064 (link_gomp): Adjust comment.
17065 * configure: Regenerate.
17066 * config.h.in: Regenerate.
17068 2006-01-21 Steve Ellcey <sje@cup.hp.com>
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.
17078 2006-01-20 Steve Ellcey <sje@cup.hp.com>
17081 * team.c: Add include of alloca.h.
17082 * configure.ac: Add check for alloca.h.
17083 * configure: Regenerate.
17084 * config.h.in: Regenerate.
17086 2006-01-17 Jakub Jelinek <jakub@redhat.com>
17089 * testsuite/libgomp.fortran/pr25219.f90: New test.
17091 2005-12-05 Uros Bizjak <uros@kss-loka.si>
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.
17106 * testsuite/libgomp.fortran/pr25162.f: Require
17107 effective-target TLS runtime.
17109 2005-12-01 Jakub Jelinek <jakub@redhat.com>
17111 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
17112 * testsuite/libgomp.c/nestedfn-3.c: New test.
17114 2005-11-30 Jakub Jelinek <jakub@redhat.com>
17117 * testsuite/libgomp.fortran/pr25162.f: New test.
17119 2005-11-28 Jakub Jelinek <jakub@redhat.com>
17121 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
17122 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
17124 2005-11-25 Jakub Jelinek <jakub@redhat.com>
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
17139 2005-11-18 Jakub Jelinek <jakub@redhat.com>
17141 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
17142 to nodist_noinst_HEADERS.
17143 * Makefile.in: Rebuilt.
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.
17152 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
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.
17163 2005-11-17 Richard Henderson <rth@redhat.com>
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.
17173 2005-11-18 Jakub Jelinek <jakub@redhat.com>
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.
17179 2005-11-15 Uros Bizjak <uros@kss-loka.si>
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.
17196 2005-11-14 Diego Novillo <dnovillo@redhat.com>
17200 2005-11-13 Jakub Jelinek <jakub@redhat.com>
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
17208 2005-11-11 Uros Bizjak <uros@kss-loka.si>
17210 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
17211 its location to ld_library_path.
17213 2005-11-10 Diego Novillo <dnovillo@redhat.com>
17215 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
17217 2005-11-10 Diego Novillo <dnovillo@redhat.com>
17219 * testsuite/libgomp.c: Rename from libgomp.dg.
17221 2005-11-09 Diego Novillo <dnovillo@redhat.com>
17223 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
17224 threadprivate variable 'i'.
17226 2005-11-09 Jakub Jelinek <jakub@redhat.com>
17228 * config/linux/s390/futex.h: New file.
17229 * configure.tgt: Use it.
17231 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
17232 before the parallel.
17234 2005-11-08 Jakub Jelinek <jakub@redhat.com>
17237 * testsuite/libgomp.c++/master-1.C: New test.
17239 2005-11-07 Jakub Jelinek <jakub@redhat.com>
17241 * testsuite/libgomp.dg/copyin-3.c: New test.
17243 2005-11-07 Jakub Jelinek <jakub@redhat.com>
17245 * testsuite/libgomp.fortran/retval1.f90: New test.
17246 * testsuite/libgomp.fortran/vla7.f90: New test.
17248 2005-11-06 Jakub Jelinek <jakub@redhat.com>
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.
17256 2005-11-01 Jakub Jelinek <jakub@redhat.com>
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.
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.
17269 2005-10-31 Jakub Jelinek <jakub@redhat.com>
17271 * testsuite/libgomp.fortran/vla1.f90: New test.
17273 2005-10-31 Richard Henderson <rth@redhat.com>
17275 * testsuite/libgomp.fortran/character2.f90: Fix race condition
17276 setting 's' in different threads.
17278 2005-10-31 Jakub Jelinek <jakub@redhat.com>
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.
17305 2005-10-30 Jakub Jelinek <jakub@redhat.com>
17307 * fortran.c: Include stdlib.h.
17309 2005-10-29 Jakub Jelinek <jakub@redhat.com>
17311 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
17312 * Makefile.in: Regenerated.
17314 2005-10-28 Jakub Jelinek <jakub@redhat.com>
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.
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.
17325 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
17326 * testsuite/libgomp.fortran/sharing2.f90: New test.
17328 * testsuite/libgomp.dg/copyin-1.c: New test.
17329 * testsuite/libgomp.c++/copyin-1.C: New test.
17331 2005-10-26 Jakub Jelinek <jakub@redhat.com>
17333 * testsuite/libgomp.fortran/crayptr1.f90: New test.
17335 * testsuite/libgomp.fortran/workshare1.f90: New test.
17337 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
17339 * libgomp.fortran/sharing1.f90: New test.
17341 2005-10-24 Jakub Jelinek <jakub@redhat.com>
17344 * testsuite/libgomp.c++/loop-7.C: New test.
17346 * testsuite/libgomp.dg/nestedfn-2.c: New test.
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.
17352 2005-10-23 Richard Henderson <rth@redhat.com>
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.
17364 2005-10-21 Diego Novillo <dnovillo@redhat.com>
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.
17372 2005-10-20 Richard Henderson <rth@redhat.com>
17374 * testsuite/libgomp.c++/loop-6.C: New.
17375 * testsuite/libgomp.dg/loop-3.c: New.
17377 2005-10-20 Jakub Jelinek <jakub@redhat.com>
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
17384 2005-10-19 Diego Novillo <dnovillo@redhat.com>
17386 * testsuite/libgomp.fortran/jacobi.f: New test.
17388 2005-10-19 Richard Henderson <rth@redhat.com>
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.
17394 * fortran.c (omp_test_nest_lock_): Fix typo.
17396 2005-10-19 Jakub Jelinek <jakub@redhat.com>
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.
17402 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
17403 Remove volatile keyword.
17405 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
17406 in COMMON block to avoid warnings on 64-bit targets.
17408 2005-10-18 Diego Novillo <dnovillo@redhat.com>
17410 * testsuite/libgomp.dg/shared-3.c: New test.
17412 2005-10-18 Jakub Jelinek <jakub@redhat.com>
17414 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
17415 * testsuite/libgomp.fortran/reduction5.f90: New test.
17417 2005-10-18 Jakub Jelinek <jakub@redhat.com>
17419 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
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.
17426 2005-10-17 Diego Novillo <dnovillo@redhat.com>
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.
17456 2005-10-17 Jakub Jelinek <jakub@redhat.com>
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.
17462 2005-10-17 Diego Novillo <dnovillo@redhat.com>
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.
17478 2005-10-15 Jakub Jelinek <jakub@redhat.com>
17480 * testsuite/libgomp.dg/vla-1.c: New test.
17482 * testsuite/libgomp.fortran/reference2.f90: New test.
17484 * testsuite/libgomp.fortran/character2.f90: Remove explicit
17485 declaration of omp_get_thread_num.
17486 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
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.
17494 2005-10-13 Richard Henderson <rth@redhat.com>
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.
17521 2005-10-13 Jakub Jelinek <jakub@redhat.com>
17523 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
17524 * testsuite/libgomp.dg/single-2.c: New test.
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
17530 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
17532 2005-10-12 Richard Henderson <rth@redhat.com>
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.
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.
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.
17554 2005-10-12 Jakub Jelinek <jakub@redhat.com>
17556 * testsuite/libgomp.fortran/character1.f90: New test.
17557 * testsuite/libgomp.fortran/character2.f90: New test.
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.
17564 * testsuite/libgomp.fortran/reference1.f90: New test.
17566 2005-10-11 Jakub Jelinek <jakub@redhat.com>
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.
17572 2005-10-10 Jakub Jelinek <jakub@redhat.com>
17574 * testsuite/libgomp.dg/atomic-1.c: New test.
17575 * testsuite/libgomp.dg/atomic-2.c: New test.
17577 2005-10-09 Richard Henderson <rth@redhat.com>
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.
17585 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
17587 2005-10-02 Richard Henderson <rth@redhat.com>
17589 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
17590 to XCFLAGS instead of CFLAGS.
17592 2005-09-30 Richard Henderson <rth@redhat.com>
17594 * configure.ac: Determine whether -pthread or -lpthread is needed.
17595 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
17596 * Makefile.in, configure: Rebuild.
17598 2005-09-28 Richard Henderson <rth@redhat.com>
17600 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
17601 * testsuite/libgomp.dg/omp-single-3.c: New test.
17603 2005-09-28 Diego Novillo <dnovillo@redhat.com>
17605 * testsuite/libgomp.dg/omp-single-2.c: New test.
17606 * testsuite/libgomp.dg/shared-2.c: Fix return code.
17608 2005-09-27 Richard Henderson <rth@redhat.com>
17610 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
17611 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
17613 2005-09-27 Jakub Jelinek <jakub@redhat.com>
17615 * testsuite/libgomp.dg/omp-loop03.c: New test.
17617 2005-09-27 Diego Novillo <dnovillo@redhat.com>
17619 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
17621 2005-09-27 Diego Novillo <dnovillo@redhat.com>
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.
17628 2005-09-26 Jakub Jelinek <jakub@redhat.com>
17630 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
17633 2005-09-26 Diego Novillo <dnovillo@redhat.com>
17635 * testsuite/libgomp.dg/shared-1.c: New test.
17636 * testsuite/libgomp.dg/shared-2.c: New test.
17638 2005-09-24 Richard Henderson <rth@redhat.com>
17640 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
17642 2005-09-24 Richard Henderson <rth@redhat.com>
17644 * iter.c (gomp_iter_static_next): Round up when computing number
17645 of iterations. Don't bother distributing a remainder equally.
17647 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
17648 Don't call srand. Zero b before testing.
17651 2005-09-24 Jakub Jelinek <jakub@redhat.com>
17653 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
17654 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
17656 2005-09-23 Jakub Jelinek <jakub@redhat.com>
17658 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
17659 without !$omp end do, followed immediately by subroutine end.
17661 2005-09-23 Diego Novillo <dnovillo@redhat.com>
17663 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
17665 2005-09-22 Richard Henderson <rth@redhat.com>
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.
17676 2005-09-20 Richard Henderson <rth@redhat.com>
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.
17684 2005-09-20 Diego Novillo <dnovillo@redhat.com>
17686 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17688 2005-09-20 Diego Novillo <dnovillo@redhat.com>
17690 * testsuite/libgomp.dg/omp-loop01.c: New test.
17691 * testsuite/libgomp.dg/omp-loop02.c: New test.
17693 2005-09-20 Jakub Jelinek <jakub@redhat.com>
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.
17729 2005-08-30 Richard Henderson <rth@redhat.com>
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.
17741 2005-08-01 Diego Novillo <dnovillo@redhat.com>
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
17753 2005-07-07 Eric Christopher <echristo@redhat.com>
17754 Diego Novillo <dnovillo@redhat.com>
17756 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17757 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
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.
17767 2005-06-13 Diego Novillo <dnovillo@redhat.com>
17769 * TOPLEVEL.patch: Remove.
17771 2005-05-16 Richard Henderson <rth@redhat.com>
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.
17779 2005-05-11 Richard Henderson <rth@redhat.com>
17781 * config/linux/ia64/futex.h: New file.
17782 * configure.tgt: Use it.
17784 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17786 2005-05-07 Richard Henderson <rth@redhat.com>
17788 * config/linux/powerpc/futex.h: New file.
17789 * configure.tgt: Use it.
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.
17796 2005-05-06 Richard Henderson <rth@redhat.com>
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.
17802 * config/linux/lock.c: New file.
17803 * config/linux/omp-lock.h: New file.
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.
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
17816 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17818 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17819 build directory. Re-add -march=i486 hack.
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.
17827 2005-05-05 Richard Henderson <rth@redhat.com>
17829 * config/linux/alpha/futex.h: New file.
17830 * configure.tgt (alpha*-*-linux*): Use it.
17832 * config/posix/mutex.c: New file.
17833 * config/posix/sem.c: Use libgomp.h.
17835 * configure.tgt (x86_64-linux): Also test CC for -m32.
17836 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17838 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
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.
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.
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.
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.
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.
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.
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.
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.
17907 2005-05-04 Richard Henderson <rth@redhat.com>
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.
17914 2005-05-04 Richard Henderson <rth@redhat.com>
17916 * libgomp-1 code drop
17918 2005-05-04 Richard Henderson <rth@redhat.com>
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.
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.
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.
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.
17962 * libgomp.h (GOMP_barrier): Declare.
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.
17972 2005-05-04 Richard Henderson <rth@redhat.com>
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.
17992 2005-05-03 Richard Henderson <rth@redhat.com>
17994 * Makefile (OPT): New.
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.
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.
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.
18011 * testsuite/loop-2.c: New file.
18012 * testsuite/Makefile (TESTS): Add it.
18014 2005-05-03 Richard Henderson <rth@redhat.com>
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.
18021 * testsuite/Makefile: New file.
18022 * testsuite/loop-1.c: New file.
18024 2005-05-03 Richard Henderson <rth@redhat.com>
18026 Initial implementation and checkin.
18028 Copyright (C) 2005-2022 Free Software Foundation, Inc.
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.