Since detached tasks are supported by clang and the OpenMP runtime, Archer must expect to receive the corresponding callbacks.
This patch adds support to interpret the synchronization semantics of omp_fulfill_event and cleans up the handling of task switches.
The task_late_fulfill.c currently cannot use if(0) for the first task to avoid the race on f_event.
de-referencing uninitialized pointer f_event? I expect no task has been run at this point.