Skip to content
Snippets Groups Projects
  • Jakub Jelinek's avatar
    0ec4e93f
    libgomp: Add omp_in_explicit_task support · 0ec4e93f
    Jakub Jelinek authored
    This is pretty straightforward, if gomp_thread ()->task is NULL,
    it can't be explicit task, otherwise if
    gomp_thread ()->task->kind == GOMP_TASK_IMPLICIT, it is an implicit
    task, otherwise explicit task.
    
    2022-10-12  Jakub Jelinek  <jakub@redhat.com>
    
    	* omp.h.in (omp_in_explicit_task): Declare.
    	* omp_lib.h.in (omp_in_explicit_task): Likewise.
    	* omp_lib.f90.in (omp_in_explicit_task): New interface.
    	* libgomp.map (OMP_5.2): New symbol version, export
    	omp_in_explicit_task and omp_in_explicit_task_.
    	* task.c (omp_in_explicit_task): New function.
    	* fortran.c (omp_in_explicit_task): Add ialias_redirect.
    	(omp_in_explicit_task_): New function.
    	* libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
    	* testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
    	* testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
    	* testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
    0ec4e93f
    History
    libgomp: Add omp_in_explicit_task support
    Jakub Jelinek authored
    This is pretty straightforward, if gomp_thread ()->task is NULL,
    it can't be explicit task, otherwise if
    gomp_thread ()->task->kind == GOMP_TASK_IMPLICIT, it is an implicit
    task, otherwise explicit task.
    
    2022-10-12  Jakub Jelinek  <jakub@redhat.com>
    
    	* omp.h.in (omp_in_explicit_task): Declare.
    	* omp_lib.h.in (omp_in_explicit_task): Likewise.
    	* omp_lib.f90.in (omp_in_explicit_task): New interface.
    	* libgomp.map (OMP_5.2): New symbol version, export
    	omp_in_explicit_task and omp_in_explicit_task_.
    	* task.c (omp_in_explicit_task): New function.
    	* fortran.c (omp_in_explicit_task): Add ialias_redirect.
    	(omp_in_explicit_task_): New function.
    	* libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
    	* testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
    	* testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
    	* testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.