blob: 34ac5a8b625595354f42baaf3c2a490ead0d6c4e [file] [log] [blame]
2018-11-07 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.c-c++-common/taskloop-reduction-1.c (S): Change
type of s and t members from unsigned long int to
unsigned long long int.
* libgomp_g.h (GOMP_loop_start, GOMP_loop_ordered_start,
GOMP_loop_doacross_start, GOMP_loop_ull_start,
GOMP_loop_ull_ordered_start, GOMP_loop_ull_doacross_start,
GOMP_workshare_task_reduction_unregister, GOMP_sections2_start): New
prototypes.
* libgomp.h (struct gomp_doacross_work_share): Add extra field.
(struct gomp_work_share): Add task_reductions field.
(struct gomp_taskgroup): Add workshare flag.
(gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
(gomp_workshare_taskgroup_start,
gomp_workshare_task_reduction_register): New prototypes.
(gomp_init_work_share, gomp_work_share_start): Change bool argument
to size_t.
* libgomp.map (GOMP_5.0): Export GOMP_loop_start,
GOMP_loop_ordered_start, GOMP_loop_doacross_start,
GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
GOMP_loop_ull_doacross_start,
GOMP_workshare_task_reduction_unregister and GOMP_sections2_start.
* loop.c: Include string.h.
(GOMP_loop_runtime_next): Add ialias.
(GOMP_taskgroup_reduction_register): Add ialias_redirect.
(gomp_loop_static_start, gomp_loop_dynamic_start,
gomp_loop_guided_start, gomp_loop_ordered_static_start,
gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
or gomp_doacross_init callers.
(gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
GOMP_loop_doacross_start): New functions.
* loop_ull.c: Include string.h.
(GOMP_loop_ull_runtime_next): Add ialias.
(GOMP_taskgroup_reduction_register): Add ialias_redirect.
(gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
gomp_loop_ull_ordered_dynamic_start,
gomp_loop_ull_ordered_guided_start,
gomp_loop_ull_doacross_static_start,
gomp_loop_ull_doacross_dynamic_start,
gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
and gomp_doacross_ull_init callers.
(gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
GOMP_loop_ull_doacross_start): New functions.
* sections.c: Include string.h.
(GOMP_taskgroup_reduction_register): Add ialias_redirect.
(GOMP_sections_start): Adjust gomp_work_share_start caller.
(GOMP_sections2_start): New function.
* ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
EXTRA argument. If not needed to prepare array, if extra is 0,
clear ws->doacross, otherwise allocate just doacross structure and
extra payload. If array is needed, allocate also extra payload.
(GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
GOMP_doacross_ull_wait): Handle doacross->array == NULL like
doacross == NULL.
* parallel.c (GOMP_cancellation_point): If taskgroup has workshare
flag set, check cancelled of prev taskgroup if any.
(GOMP_cancel): If taskgroup has workshare flag set, set cancelled
on prev taskgroup if any.
* single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
gomp_work_share_start callers.
* target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
If taskgroup has workshare flag set, check cancelled on prev
taskgroup if any. Guard all cancellation tests with
gomp_cancel_var test.
* taskloop.c (GOMP_taskloop): Likewise.
* task.c (GOMP_task, gomp_create_target_task, gomp_task_run_pre,
GOMP_taskwait_depend): Likewise.
(gomp_taskgroup_init): Clear workshare flag, reorder initialization.
(gomp_reduction_register): Add always_inline attribute. Add
ORIG argument, if non-NULL, don't allocate memory, but copy it
from there.
(gomp_create_artificial_team): New function.
(GOMP_taskgroup_reduction_register): Extend function comment.
Use gomp_create_artificial_team. Adjust gomp_reduction_register
caller.
(gomp_parallel_reduction_register): Adjust gomp_reduction_register
caller.
(gomp_workshare_task_reduction_register,
gomp_workshare_taskgroup_start,
GOMP_workshare_task_reduction_unregister): New functions.
* team.c (gomp_new_team): Adjust gomp_init_work_share caller.
* work.c (gomp_init_work_share): Change ORDERED argument from
bool to size_t, if more than 1 allocate also extra payload at the
end of array. Never keep ordered_team_ids NULL, set it
to inline_ordered_team_ids instead.
(gomp_work_share_start): Change ORDERED argument from bool to size_t,
return true instead of ws.
* testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
* testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
* testsuite/libgomp.c-c++-common/task-reduction-6.c (struct S):
Use unsigned long long int instead of unsigned long int.
(main): Verify r == t.
* testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
* testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
* testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
* testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
* testsuite/libgomp.c++/task-reduction-14.C: New test.
* testsuite/libgomp.c++/task-reduction-15.C: New test.
* testsuite/libgomp.c++/task-reduction-16.C: New test.
* testsuite/libgomp.c++/task-reduction-17.C: New test.
* testsuite/libgomp.c++/task-reduction-18.C: New test.
* testsuite/libgomp.c++/task-reduction-19.C: New test.
2018-10-26 Jakub Jelinek <jakub@redhat.com>
* libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
gomp_aligned_alloc uses fallback implementation.
* alloc.c (NEED_SPECIAL_GOMP_ALIGNED_FREE): Don't define.
(gomp_aligned_free): Use !defined(GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC)
instead of defined(NEED_SPECIAL_GOMP_ALIGNED_FREE).
* work.c (alloc_work_share): Use gomp_aligned_alloc instead of
gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
2018-10-25 Jakub Jelinek <jakub@redhat.com>
* omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
* libgomp_g.h (GOMP_loop_nonmonotonic_runtime_start,
GOMP_loop_maybe_nonmonotonic_runtime_start,
GOMP_loop_nonmonotonic_runtime_next,
GOMP_loop_maybe_nonmonotonic_runtime_next,
GOMP_parallel_loop_nonmonotonic_runtime,
GOMP_parallel_loop_maybe_nonmonotonic_runtime,
GOMP_loop_ull_nonmonotonic_runtime_start,
GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
GOMP_loop_ull_nonmonotonic_runtime_next,
GOMP_loop_ull_maybe_nonmonotonic_runtime_next): New prototypes.
* libgomp.h (enum gomp_schedule_type): Add GFS_MONOTONIC.
* libgomp.map (GOMP_5.0): Export
GOMP_loop_maybe_nonmonotonic_runtime_next,
GOMP_loop_maybe_nonmonotonic_runtime_start,
GOMP_loop_nonmonotonic_runtime_next,
GOMP_loop_nonmonotonic_runtime_start,
GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
GOMP_loop_ull_nonmonotonic_runtime_next,
GOMP_loop_ull_nonmonotonic_runtime_start,
GOMP_parallel_loop_maybe_nonmonotonic_runtime,
GOMP_parallel_loop_nonmonotonic_runtime.
* env.c (parse_schedule): Parse monotonic and nonmonotonic modifiers
in OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
(handle_omp_display_env): Display monotonic/nonmonotonic schedule
modifiers. Display (non-default) chunk sizes.
* fortran.c (omp_get_schedule_, omp_get_schedule_8_): Mask off
GFS_MONOTONIC bit.
* icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in switch.
* loop.c (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
Mask off GFS_MONOTONIC bit.
(GOMP_loop_maybe_nonmonotonic_runtime_next,
GOMP_loop_maybe_nonmonotonic_runtime_start,
GOMP_loop_nonmonotonic_runtime_next,
GOMP_loop_nonmonotonic_runtime_start,
GOMP_parallel_loop_maybe_nonmonotonic_runtime,
GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
functions.
* loop_ull.c (GOMP_loop_ull_runtime_start,
GOMP_loop_ull_ordered_runtime_start,
GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
(GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
GOMP_loop_ull_nonmonotonic_runtime_next,
GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
2018-10-23 Jakub Jelinek <jakub@redhat.com>
* libgomp.h (gomp_parallel_reduction_register): Declare.
(gomp_team_start): Add taskgroup argument.
* libgomp_g.h (GOMP_parallel_reductions): New protype.
* libgomp.map (GOMP_5.0): Add GOMP_parallel_reductions. Sort.
* loop.c (gomp_parallel_loop_start): Pass NULL as taskgroup to
gomp_team_start.
* parallel.c (GOMP_parallel_start): Likewise.
(GOMP_parallel): Likewise. Formatting fix.
(GOMP_parallel_reductions): New function.
* sections.c (GOMP_parallel_sections_start, GOMP_parallel_sections):
Pass NULL as taskgroup to gomp_team_start.
* task.c (gomp_taskgroup_init): New static inline function.
(GOMP_taskgroup_start): Use it.
(gomp_reduction_register): New static inline function.
(GOMP_taskgroup_reduction_register): Use it.
(GOMP_taskgroup_reduction_unregister): Add ialias.
(gomp_parallel_reduction_register): New function.
* team.c (gomp_team_start): Add taskgroup argument, initialize implicit
tasks' taskgroup field to that.
* config/nvptx/team.c (gomp_team_start): Likewise.
* testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
* testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
* testsuite/libgomp.c/task-reduction-2.c: New test.
* testsuite/libgomp.c++/task-reduction-8.C: New test.
* testsuite/libgomp.c++/task-reduction-9.C: New test.
* testsuite/libgomp.c++/task-reduction-10.C: New test.
* testsuite/libgomp.c++/task-reduction-11.C: New test.
* testsuite/libgomp.c++/task-reduction-12.C: New test.
* testsuite/libgomp.c++/task-reduction-13.C: New test.
2018-10-18 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.c-c++-common/taskloop-reduction-3.c (bar): Define
iterator inside of the construct.
* testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
* testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
* testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
2018-10-16 Jakub Jelinek <jakub@redhat.com>
* task.c (GOMP_taskgroup_reduction_register): Add ialias.
* taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_REDUCTION flag
by calling GOMP_taskgroup_reduction_register.
* libgomp_g.h: Include gstdint.h.
(GOMP_taskgroup_reduction_register,
GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap): New
prototypes.
* testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
* testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
* testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
* testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
* testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
* testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
* testsuite/libgomp.c++/task-reduction-4.C (foo): Turn into function
template, replace all int occurences with the template parameter T.
(test): Likewise.
2018-10-10 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.c-c++-common/task-reduction-5.c (size_t): New
typedef.
(bar): Use it instead of __SIZE_TYPE__ directly.
(foo): Likewise. Use (~(size_t) 0) instead of __SIZE_MAX__.
* testsuite/libgomp.c/task-reduction-1.c: New test.
* testsuite/libgomp.c++/task-reduction-7.C: New test.
2018-10-09 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.c-c++-common/task-reduction-5.c: Add further test
to verify the array bound var can be changed in taskgroup.
2018-10-08 Jakub Jelinek <jakub@redhat.com>
* task.c (GOMP_taskgroup_reduction_register): If team is NULL, create
implicit team with 1 thread and call GOMP_taskgroup_start again. Don't
mix declarations with statements.
* team.c (gomp_team_end): Determine nesting by thr->ts.level != 0
rather than thr->ts.team != NULL.
* testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
* testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
* env.c (gomp_affinity_format_var): Use %i instead of %T and
%A instead of %a.
* affinity-fmt.c (affinity_types): Change short forms h to H,
a to A, A to a and T to i. Change long forms thread_level to
nesting_level and thread_identifier to native_thread_id. Add
team_num/t and num_teams/T entries.
(gomp_display_affinity): Adjust for the above changes.
* testsuite/libgomp.c-c++-common/display-affinity-1.c: Likewise.
Add test also for %{team_num}, %{num_teams}, %t and %T.
* testsuite/libgomp.fortran/display-affinity-1.f90: Likewise.
2018-09-27 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.c++/task-reduction-5.C (main): Add forgotten
checks.
* testsuite/libgomp.c++/task-reduction-6.C: New test.
* configure.ac: Check for aligned_alloc, posix_memalign, memalign
and _aligned_malloc.
* libgomp.h (gomp_aligned_alloc, gomp_aligned_free): New prototypes.
(struct gomp_taskgroup): Add reductions field.
* libgomp.map (GOMP_5.0): Export GOMP_taskgroup_reduction_register,
GOMP_taskgroup_reduction_unregister and GOMP_task_reduction_remap.
* task.c (GOMP_taskgroup_start): Initialize taskgroup->reductions.
(GOMP_taskgroup_reduction_register,
GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap): New
functions.
* alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
* configure: Regenerated.
* config.h.in: Regenerated.
* testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
* testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
* testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
* testsuite/libgomp.c++/task-reduction-1.C: New test.
* testsuite/libgomp.c++/task-reduction-2.C: New test.
* testsuite/libgomp.c++/task-reduction-3.C: New test.
* testsuite/libgomp.c++/task-reduction-4.C: New test.
* testsuite/libgomp.c++/task-reduction-5.C: New test.
2018-08-02 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.c-c++-common/depend-iterator-1.c: Add tests for
unsigned iterators, add gaps in between different arr2 bits.
* testsuite/libgomp.c++/depend-iterator-1.C: Likewise.
2018-08-01 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.c-c++-common/depend-iterator-1.c (main): Separate
dependence modifier from type with comma instead of colon.
* testsuite/libgomp.c-c++-common/depend-iterator-2.c (foo): Likewise.
* testsuite/libgomp.c-c++-common/depobj-1.c (dep, dep2, dep3,
antidep): Add depobj: to depend clauses without dependence type.
* testsuite/libgomp.c++/depend-iterator-1.C (bar, baz): Separate
dependence modifier from type with comma instead of colon.
* testsuite/libgomp.c++/depobj-1.C (dep, dep2, dep3, antidep): Add
depobj: to depend clauses without dependence type.
2018-07-27 Jakub Jelinek <jakub@redhat.com>
* libgomp.map (OMP_5.0): Export omp_pause_resource{,_all}{,_}.
* omp.h.in (omp_pause_resource_t): New typedef.
(omp_pause_resource, omp_pause_resource_all): New prototypes.
* omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
omp_pause_hard): New parameters.
(omp_pause_resource, omp_pause_resource_all): New interfaces.
* omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
omp_pause_hard): New parameters.
(omp_pause_resource, omp_pause_resource_all): New externals.
* libgomp.h (gomp_pause_host): New prototype.
* team.c (gomp_thread_attr): Remove comment.
(gomp_thread_start): Call pthread_detach.
(gomp_free_pool_helper): Likewise.
(gomp_team_start): Don't call pthread_attr_setdetachstate.
(gomp_pause_pool_helper, gomp_pause_host): New functions.
* target.c (omp_pause_resource, omp_pause_resource_all): New functions.
* env.c (initialize_env): Don't call pthread_attr_setdetachstate.
* fortran.c (omp_pause_resource, omp_pause_resource_all): Add
ialias_redirect.
(omp_pause_resource_, omp_pause_resource_all_): New functions.
* config/nvptx/team.c (gomp_pause_host): New function.
* config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
New functions.
* testsuite/libgomp.c-c++-common/pause-1.c: New test.
* testsuite/libgomp.c-c++-common/pause-2.c: New test.
2018-07-25 Jakub Jelinek <jakub@redhat.com>
* Makefile.am (libgomp_la_SOURCES): Add teams.c.
* libgomp_g.h (GOMP_teams_reg): New prototype.
* libgomp.map (GOMP_5.0): Export GOMP_teams_reg.
* icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
functions to ...
* teams.c: ... here. New file.
* config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
Move these functions to ...
* config/nvptx/teams.c: ... here. New file.
* testsuite/libgomp.c++/for-16.C: New test.
* testsuite/libgomp.c++/for-26.C: New test.
* testsuite/libgomp.c-c++-common/for-14.c: New test.
* testsuite/libgomp.c-c++-common/for-15.c: New test.
* testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
* testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
* testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
* testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
* testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
* testsuite/libgomp.c/teams-1.c: New test.
* testsuite/libgomp.c/teams-2.c: New test.
* testsuite/libgomp.c/thread-limit-5.c: New test.
* testsuite/libgomp.c/thread-limit-4.c: New test.
* Makefile.in: Regenerated.
2018-07-18 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.c++/for-23.C: New test.
* testsuite/libgomp.c++/for-24.C: New test.
* testsuite/libgomp.c++/for-25.C: New test.
2018-06-28 Jakub Jelinek <jakub@redhat.com>
* omp.h.in (omp_depend_t): New typedef.
* task.c (gomp_task_handle_depend): Handle new depend array format
in addition to the old. Handle mutexinoutset kinds the same as
inout for now, handle unspecified kinds.
(gomp_task_maybe_wait_for_dependencies): Likewise.
(gomp_create_target_task): Handle new depend array format count in
addition to the old.
(GOMP_task): Likewise. Adjust function comment.
* testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
* testsuite/libgomp.c-c++-common/depobj-1.c: New test.
* testsuite/libgomp.c++/depend-1.C: New test.
* testsuite/libgomp.c++/depobj-1.C: New test.
2018-06-19 Jakub Jelinek <jakub@redhat.com>
* libgomp_g.h (GOMP_taskwait_depend): Add prototype.
* task.c (GOMP_taskwait_depend): New function.
(gomp_task_maybe_wait_for_dependencies): Fix a function comment typo.
* libgomp.map (GOMP_5.0): Export GOMP_taskwait_depend.
* testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
2018-06-13 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
* testsuite/libgomp.c++/depend-iterator-1.C: New test.
2018-06-04 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.c-c++-common/simd-1.c: New test.
2018-05-23 Jakub Jelinek <jakub@redhat.com>
* configure.ac (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add
new tests.
* configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
* Makefile.am (libgomp_la_SOURCES): Add affinity-fmt.c.
* libgomp.map (OMP_5.0): Export omp_{capture,display}_affinity{,_},
and omp_[gs]et_affinity_format{,_}.
* libgomp.h (gomp_display_affinity_var, gomp_affinity_format_var,
gomp_affinity_format_len): Declare.
(GOMP_NEEDS_THREAD_HANDLE): Define if needed.
(struct gomp_thread): Add handle field if GOMP_NEEDS_THREAD_HANDLE is
defined.
(gomp_display_affinity_place): Declare.
(gomp_set_affinity_format, gomp_display_string): Likewise.
(gomp_thread_handle): New typedef.
(gomp_display_affinity, gomp_display_affinity_thread): Declare.
(gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
* affinity-fmt.c: New file.
* affinity.c (gomp_display_affinity_place): New function.
* config/linux/affinity.c (gomp_display_affinity_place): New function.
* env.c (gomp_display_affinity_var, gomp_affinity_format_var,
gomp_affinity_format_len): New variables.
(handle_omp_display_env): Print OMP_DISPLAY_AFFINITY and
OMP_AFFINITY_FORMAT.
(initialize_env): Handle OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT
env vars.
* fortran.c: Include stdio.h and string.h.
(omp_set_affinity_format_, omp_get_affinity_format_,
omp_display_affinity_, omp_capture_affinity_): New functions.
* omp.h.in (omp_set_affinity_format, omp_get_affinity_format,
omp_display_affinity, omp_capture_affinity): Declare.
* omp_lib.f90.in (omp_set_affinity_format, omp_get_affinity_format,
omp_display_affinity, omp_capture_affinity): Add new interfaces.
* omp_lib.h.in (omp_set_affinity_format, omp_get_affinity_format,
omp_display_affinity, omp_capture_affinity): New externs.
* team.c (struct gomp_thread_start_data): Add handle field.
(gomp_team_start): Handle OMP_DISPLAY_AFFINITY env var.
* configure: Regenerated.
* config.h.in: Regenerated.
* Makefile.in: Regenerated.
* testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
* testsuite/libgomp.fortran/display-affinity-1.f90: New test.
2018-05-07 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
* testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
2018-05-04 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
in some cases.
* omp.h.in (enum omp_lock_hint_t): Renamed to ...
(enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
enumerators using numbers and omp_lock_hint_* as their aliases.
(omp_lock_hint_t): New typedef. Rename to ...
(omp_sync_hint_t): ... this.
(omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
omp_sync_hint_t instead of omp_lock_hint_t.
2017-06-29 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.c/for-2.h: If CONDNE macro is defined, define
a different N(test), don't define N(f0) to N(f14), but instead define
N(f20) to N(f34) using != comparisons.
* testsuite/libgomp.c/for-4.c: Use dg-additional-options.
* testsuite/libgomp.c/for-7.c: New test.
* testsuite/libgomp.c/for-8.c: New test.
* testsuite/libgomp.c/for-9.c: New test.
* testsuite/libgomp.c/for-10.c: New test.
* testsuite/libgomp.c/for-11.c: New test.
* testsuite/libgomp.c/for-12.c: New test.
* testsuite/libgomp.c/for-13.c: New test.
* testsuite/libgomp.c++/for-12.C: Remove dg-options.
* testsuite/libgomp.c++/for-15.C: New test.
* testsuite/libgomp.c++/for-16.C: New test.
* testsuite/libgomp.c++/for-17.C: New test.
* testsuite/libgomp.c++/for-18.C: New test.
* testsuite/libgomp.c++/for-19.C: New test.
* testsuite/libgomp.c++/for-20.C: New test.
* testsuite/libgomp.c++/for-21.C: New test.
* testsuite/libgomp.c++/for-22.C: New test.
* testsuite/libgomp.c++/for-23.C: New test.
2017-06-12 Jakub Jelinek <jakub@redhat.com>
* omp.h.in (omp_target_is_present, omp_target_disassociate_ptr):
Change first argument from void * to const void *.
(omp_target_memcpy, omp_target_memcpy_rect): Change second argument
from void * to const void *.
(omp_target_associate_ptr): Change first and second arguments from
void * to const void *.
* target.c (omp_target_is_present, omp_target_disassociate_ptr):
Change ptr argument from void * to const void *.
(omp_target_memcpy): Change src argument from void * to const void *.
(omp_target_memcpy_rect): Likewise.
(omp_target_memcpy_rect_worker): Likewise. Use const char * casts
instead of char * where needed.
(omp_target_associate_ptr): Change host_ptr and device_ptr arguments
from void * to const void *.
Copyright (C) 2017-2018 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.