LLVM OpenMP 22.0.0git
bug_taskwait_detach.cpp File Reference
#include <omp.h>
#include <chrono>
#include <cstdint>
#include <iostream>
#include <thread>

Go to the source code of this file.

Classes

struct  ID
struct  ident
 The ident structure that describes a source location. More...
struct  kmp_event_t
struct  shar
struct  task

Macros

#define PTASK_FLAG_DETACHABLE   0x40

Typedefs

typedef struct ID id
typedef struct ident ident_t
typedef enum kmp_event_type_t kmp_event_type_t
typedef struct sharpshareds
typedef struct taskptask
typedef struct task kmp_task_t
typedef int(* task_entry_t) (int, ptask)

Enumerations

enum  kmp_event_type_t { KMP_EVENT_UNINITIALIZED = 0 , KMP_EVENT_ALLOW_COMPLETION = 1 }

Functions

int __kmpc_global_thread_num (void *id_ref)
int ** __kmpc_omp_task_alloc (id *loc, int gtid, int flags, size_t sz, size_t shar, task_entry_t rtn)
kmp_int32 __kmpc_omp_task (ident_t *loc_ref, kmp_int32 gtid, kmp_task_t *new_task)
omp_event_handle_t __kmpc_task_allow_completion_event (ident_t *loc_ref, int gtid, kmp_task_t *task)
void target (ptask task)
int task_entry (int gtid, ptask task)
int main (int argc, char *argv[])

Variables

int volatile checker

Macro Definition Documentation

◆ PTASK_FLAG_DETACHABLE

#define PTASK_FLAG_DETACHABLE   0x40

Definition at line 11 of file bug_taskwait_detach.cpp.

Referenced by main(), and main().

Typedef Documentation

◆ id

typedef struct ID id

◆ ident_t

typedef struct ident ident_t

◆ kmp_event_type_t

◆ kmp_task_t

typedef struct task kmp_task_t

◆ pshareds

typedef struct shar * pshareds

◆ ptask

typedef struct task * ptask

◆ task_entry_t

typedef int(* task_entry_t) (int, ptask)

Definition at line 55 of file bug_taskwait_detach.cpp.

Enumeration Type Documentation

◆ kmp_event_type_t

Enumerator
KMP_EVENT_UNINITIALIZED 
KMP_EVENT_ALLOW_COMPLETION 

Definition at line 29 of file bug_taskwait_detach.cpp.

Function Documentation

◆ __kmpc_global_thread_num()

int __kmpc_global_thread_num ( void * id_ref)
extern

Referenced by main().

◆ __kmpc_omp_task()

kmp_int32 __kmpc_omp_task ( ident_t * loc_ref,
kmp_int32 gtid,
kmp_task_t * new_task )
extern

Definition at line 1884 of file kmp_tasking.cpp.

Referenced by main().

◆ __kmpc_omp_task_alloc()

int ** __kmpc_omp_task_alloc ( id * loc,
int gtid,
int flags,
size_t sz,
size_t shar,
task_entry_t rtn )
extern

References loc.

Referenced by main().

◆ __kmpc_task_allow_completion_event()

omp_event_handle_t __kmpc_task_allow_completion_event ( ident_t * loc_ref,
int gtid,
kmp_task_t * task )
extern

Definition at line 4367 of file kmp_tasking.cpp.

Referenced by main().

◆ main()

◆ target()

void target ( ptask task)

Definition at line 74 of file bug_taskwait_detach.cpp.

References checker, and task::evt.

◆ task_entry()

int task_entry ( int gtid,
ptask task )

Definition at line 81 of file bug_taskwait_detach.cpp.

References target().

Variable Documentation

◆ checker

int volatile checker

Definition at line 72 of file bug_taskwait_detach.cpp.