HOME
| OPENMP API Specification: Version 5.1 November 2020

2.19.10  Depend Objects

This section describes constructs that support OpenMP depend objects that can be used to supply user-computed dependences to depend clauses. OpenMP depend objects must be accessed only through the depobj construct or through the depend clause; programs that otherwise access OpenMP depend objects are non-conforming.

An OpenMP depend object can be in one of the following states: uninitialized or initialized. Initially OpenMP depend objects are in the uninitialized state.

2.19.10.1 depobj Construct

Summary The depobj construct initializes, updates or destroys an OpenMP depend object. The depobj construct is a stand-alone directive.

Syntax

SVG-Viewer needed.

The syntax of the depobj construct is as follows:  

 
#pragma omp depobj(depobj) clause new-line  

where depobj is an lvalue expression of type omp_depend_t.

where clause is one of the following:  

 
depend(dependence-type : locator) 
destroy 
update(dependence-type)  

SVG-Viewer needed.

SVG-Viewer needed.

The syntax of the depobj construct is as follows:  

 
!$omp depobj(depobj) clause  

where depobj is a scalar integer variable of the omp_depend_kindkind.

where clause is one of the following:  

 
depend(dependence-type : locator) 
destroy 
update(dependence-type)  

SVG-Viewer needed.

Binding The binding thread set for a depobj region is the encountering thread.

Description A depobj construct with a depend clause present sets the state of depobj to initialized. The depobj is initialized to represent the dependence that the depend clause specifies.

A depobj construct with a destroy clause present changes the state of the depobj to uninitialized.

A depobj construct with an update clause present changes the dependence type of the dependence represented by depobj to the one specified by the update clause.

Restrictions Restrictions to the depobj construct are as follows:

Cross References