HOME
| OPENMP API Specification: Version 5.0 November 2018

2.17.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.17.10.1 depobj Construct

SummaryThe 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.

BindingThe binding thread set for depobj regions is the encountering thread.

DescriptionA 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

Cross References