clang 10.0.0git

Public Member Functions | Static Public Member Functions | Friends | List of all members
OMPFromClause Class Referencefinal

This represents clause 'from' in the '#pragma omp ...' directives. More...

`#include "clang/AST/OpenMPClause.h"`

Inheritance diagram for OMPFromClause:
[legend]
Collaboration diagram for OMPFromClause:
[legend]

## Public Member Functions
child_range | children ()
const_child_range | children () const
child_range | used_children ()
const_child_range | used_children () const
Public Member Functions inherited from OMPMappableExprListClause< OMPFromClause >
unsigned | getUniqueDeclarationsNum () const
| Return the number of unique base declarations in this clause. More...
unsigned | getTotalComponentListNum () const
| Return the number of lists derived from the clause expressions. More...
unsigned | getTotalComponentsNum () const
| Return the total number of components in all lists derived from the clause. More...
NestedNameSpecifierLoc | getMapperQualifierLoc () const
| Gets the nested name specifier for associated user-defined mapper. More...
const DeclarationNameInfo & | getMapperIdInfo () const
| Gets the name info for associated user-defined mapper. More...
const_component_lists_iterator | component_lists_begin () const
| Iterators for all component lists. More...
const_component_lists_iterator | component_lists_end () const
const_component_lists_range | component_lists () const
const_component_lists_iterator | decl_component_lists_begin (const ValueDecl *VD) const
| Iterators for component lists associated with the provided declaration. More...
const_component_lists_iterator | decl_component_lists_end () const
const_component_lists_range | decl_component_lists (const ValueDecl *VD) const
const_all_decls_range | all_decls () const
const_all_num_lists_range | all_num_lists () const
const_all_lists_sizes_range | all_lists_sizes () const
const_all_components_range | all_components () const
mapperlist_iterator | mapperlist_begin ()
mapperlist_const_iterator | mapperlist_begin () const
mapperlist_iterator | mapperlist_end ()
mapperlist_const_iterator | mapperlist_end () const
mapperlist_range | mapperlists ()
mapperlist_const_range | mapperlists () const

## Static Public Member Functions
static OMPFromClause * | Create (const ASTContext &C, const OMPVarListLocTy &Locs, ArrayRef< Expr *> Vars, ArrayRef< ValueDecl *> Declarations, MappableExprComponentListsRef ComponentLists, ArrayRef< Expr *> UDMapperRefs, NestedNameSpecifierLoc UDMQualifierLoc, DeclarationNameInfo MapperId)
| Creates clause with a list of variables Vars. More...
static OMPFromClause * | CreateEmpty (const ASTContext &C, const OMPMappableExprListSizeTy &Sizes)
| Creates an empty clause with the place for NumVars variables. More...
static bool | classof (const OMPClause *T)

## Friends
class | OMPClauseReader

## Additional Inherited Members
Public Types inherited from OMPMappableExprListClause< OMPFromClause >
using | const_component_lists_range = llvm::iterator_range< const_component_lists_iterator >
using | const_all_decls_iterator = ArrayRef< ValueDecl *>::iterator
| Iterators to access all the declarations, number of lists, list sizes, and components. More...
using | const_all_decls_range = llvm::iterator_range< const_all_decls_iterator >
using | const_all_num_lists_iterator = ArrayRef< unsigned >::iterator
using | const_all_num_lists_range = llvm::iterator_range< const_all_num_lists_iterator >
using | const_all_lists_sizes_iterator = ArrayRef< unsigned >::iterator
using | const_all_lists_sizes_range = llvm::iterator_range< const_all_lists_sizes_iterator >
using | const_all_components_iterator = ArrayRef< MappableComponent >::iterator
using | const_all_components_range = llvm::iterator_range< const_all_components_iterator >
using | mapperlist_iterator = MutableArrayRef< Expr *>::iterator
using | mapperlist_const_iterator = ArrayRef< const Expr *>::iterator
using | mapperlist_range = llvm::iterator_range< mapperlist_iterator >
using | mapperlist_const_range = llvm::iterator_range< mapperlist_const_iterator >
Public Types inherited from OMPClauseMappableExprCommon
using | MappableExprComponentList = SmallVector< MappableComponent, 8 >
using | MappableExprComponentListRef = ArrayRef< MappableComponent >
using | MappableExprComponentLists = SmallVector< MappableExprComponentList, 8 >
using | MappableExprComponentListsRef = ArrayRef< MappableExprComponentList >
Protected Member Functions inherited from OMPMappableExprListClause< OMPFromClause >
| OMPMappableExprListClause (OpenMPClauseKind K, const OMPVarListLocTy &Locs, const OMPMappableExprListSizeTy &Sizes, NestedNameSpecifierLoc *MapperQualifierLocPtr=nullptr, DeclarationNameInfo *MapperIdInfoPtr=nullptr)
| Build a clause for NumUniqueDeclarations declarations, NumComponentLists total component lists, and NumComponents total components. More...
MutableArrayRef< ValueDecl *> | getUniqueDeclsRef ()
| Get the unique declarations that are in the trailing objects of the class. More...
ArrayRef< ValueDecl *> | getUniqueDeclsRef () const
| Get the unique declarations that are in the trailing objects of the class. More...
void | setUniqueDecls (ArrayRef< ValueDecl * > UDs)
| Set the unique declarations that are in the trailing objects of the class. More...
MutableArrayRef< unsigned > | getDeclNumListsRef ()
| Get the number of lists per declaration that are in the trailing objects of the class. More...
ArrayRef< unsigned > | getDeclNumListsRef () const
| Get the number of lists per declaration that are in the trailing objects of the class. More...
void | setDeclNumLists (ArrayRef< unsigned > DNLs)
| Set the number of lists per declaration that are in the trailing objects of the class. More...
MutableArrayRef< unsigned > | getComponentListSizesRef ()
| Get the cumulative component lists sizes that are in the trailing objects of the class. More...
ArrayRef< unsigned > | getComponentListSizesRef () const
| Get the cumulative component lists sizes that are in the trailing objects of the class. More...
void | setComponentListSizes (ArrayRef< unsigned > CLSs)
| Set the cumulative component lists sizes that are in the trailing objects of the class. More...
MutableArrayRef< MappableComponent > | getComponentsRef ()
| Get the components that are in the trailing objects of the class. More...
ArrayRef< MappableComponent > | getComponentsRef () const
| Get the components that are in the trailing objects of the class. More...
void | setComponents (ArrayRef< MappableComponent > Components, ArrayRef< unsigned > CLSs)
| Set the components that are in the trailing objects of the class. More...
void | setClauseInfo (ArrayRef< ValueDecl * > Declarations, MappableExprComponentListsRef ComponentLists)
| Fill the clause information from the list of declarations and associated component lists. More...
void | setMapperQualifierLoc (NestedNameSpecifierLoc NNSL)
| Set the nested name specifier of associated user-defined mapper. More...
void | setMapperIdInfo (DeclarationNameInfo MapperId)
| Set the name of associated user-defined mapper. More...
MutableArrayRef< Expr *> | getUDMapperRefs ()
| Get the user-defined mapper references that are in the trailing objects of the class. More...
ArrayRef< Expr *> | getUDMapperRefs () const
| Get the user-defined mappers references that are in the trailing objects of the class. More...
void | setUDMapperRefs (ArrayRef< Expr * > DMDs)
| Set the user-defined mappers that are in the trailing objects of the class. More...
Static Protected Member Functions inherited from OMPClauseMappableExprCommon
static unsigned | getComponentsTotalNumber (MappableExprComponentListsRef ComponentLists)
static unsigned | getUniqueDeclarationsTotalNumber (ArrayRef< const ValueDecl *> Declarations)

## Detailed Description

This represents clause 'from' in the '#pragma omp ...' directives.

#pragma omp target update from(a,b)

In this example directive '#pragma omp target update' has clause 'from' with the variables 'a' and 'b'.

Definition at line 5898 of file OpenMPClause.h.

## Member Function Documentation

## ◆ children() [1/2]

child_range OMPFromClause::children | ( |  | ) |
| inline

Definition at line 5986 of file OpenMPClause.h.

## ◆ children() [2/2]

const_child_range OMPFromClause::children | ( |  | ) | const
| inline

Definition at line 5991 of file OpenMPClause.h.

References clang::OMPClause::children().

## ◆ classof()

static bool OMPFromClause::classof | ( | const OMPClause * | T | ) |
| inline static

Definition at line 6003 of file OpenMPClause.h.

## ◆ Create()

OMPFromClause * OMPFromClause::Create | ( | const ASTContext & | C,
|  | const OMPVarListLocTy & | Locs,
|  | ArrayRef< Expr *> | Vars,
|  | ArrayRef< ValueDecl *> | Declarations,
|  | MappableExprComponentListsRef | ComponentLists,
|  | ArrayRef< Expr *> | UDMapperRefs,
|  | NestedNameSpecifierLoc | UDMQualifierLoc,
|  | DeclarationNameInfo | MapperId
| ) |  |
| static

Creates clause with a list of variables Vars.

Parameters

  C | AST context.
  Locs | Locations needed to build a mappable clause. It includes 1) StartLoc: starting location of the clause (the clause keyword); 2) LParenLoc: location of '('; 3) EndLoc: ending location of the clause.
  Vars | The original expression used in the clause.
  Declarations | Declarations used in the clause.
  ComponentLists | Component lists used in the clause.
  UDMapperRefs | References to user-defined mappers associated with expressions used in the clause.
  UDMQualifierLoc | C++ nested name specifier for the associated user-defined mapper.
  MapperId | The identifier of associated user-defined mapper.

Definition at line 1005 of file OpenMPClause.cpp.

References clang::ASTContext::Allocate(), OMPMappableExprListSizeTy::NumComponentLists, OMPMappableExprListSizeTy::NumComponents, OMPMappableExprListSizeTy::NumUniqueDeclarations, OMPMappableExprListSizeTy::NumVars, and OMPMappableExprListClause< T >::setUDMapperRefs().

Referenced by clang::Sema::ActOnOpenMPFromClause().

## ◆ CreateEmpty()

OMPFromClause * OMPFromClause::CreateEmpty | ( | const ASTContext & | C,
|  | const OMPMappableExprListSizeTy & | Sizes
| ) |  |
| static

Creates an empty clause with the place for NumVars variables.

Parameters

  C | AST context.
  Sizes | All required sizes to build a mappable clause. It includes 1) NumVars: number of expressions listed in this clause; 2) NumUniqueDeclarations: number of unique base declarations in this clause; 3) NumComponentLists: number of component lists in this clause; and 4) NumComponents: total number of expression components in the clause.

Definition at line 1043 of file OpenMPClause.cpp.

References clang::ASTContext::Allocate(), OMPMappableExprListSizeTy::NumComponentLists, OMPMappableExprListSizeTy::NumComponents, OMPMappableExprListSizeTy::NumUniqueDeclarations, and OMPMappableExprListSizeTy::NumVars.

## ◆ used_children() [1/2]

child_range OMPFromClause::used_children | ( |  | ) |
| inline

Definition at line 5996 of file OpenMPClause.h.

## ◆ used_children() [2/2]

const_child_range OMPFromClause::used_children | ( |  | ) | const
| inline

Definition at line 5999 of file OpenMPClause.h.

## Friends And Related Function Documentation

## ◆ OMPClauseReader

friend class OMPClauseReader
| friend

Definition at line 5903 of file OpenMPClause.h.

The documentation for this class was generated from the following files:

- include/clang/AST/OpenMPClause.h
- lib/AST/OpenMPClause.cpp