2022-11-04 09:35:42 -07:00

35 lines
610 B
C

/*
* @@name: tasking.3
* @@type: C
* @@operation: compile
* @@expect: success
* @@version: omp_3.0
*/
typedef struct node node;
struct node {
int data;
node * next;
};
void process(node * p)
{
/* do work here */
}
void increment_list_items(node * head)
{
#pragma omp parallel
{
#pragma omp single
{
node * p = head;
while (p) {
#pragma omp task
// p is firstprivate by default
process(p);
p = p->next;
}
}
}
}