clang  6.0.0svn
Public Member Functions | Static Public Member Functions | List of all members
clang::AtomicScopeModel Class Referenceabstract

Defines the interface for synch scope model. More...

#include "clang/Basic/SyncScope.h"

Inheritance diagram for clang::AtomicScopeModel:
Inheritance graph
[legend]

Public Member Functions

virtual ~AtomicScopeModel ()
 
virtual SyncScope map (unsigned S) const =0
 Maps language specific synch scope values to internal SyncScope enum. More...
 
virtual bool isValid (unsigned S) const =0
 Check if the compile-time constant synch scope value is valid. More...
 
virtual ArrayRef< unsigned > getRuntimeValues () const =0
 Get all possible synch scope values that might be encountered at runtime for the current language. More...
 
virtual unsigned getFallBackValue () const =0
 If atomic builtin function is called with invalid synch scope value at runtime, it will fall back to a valid synch scope value returned by this function. More...
 

Static Public Member Functions

static std::unique_ptr< AtomicScopeModelcreate (AtomicScopeModelKind K)
 Create an atomic scope model by AtomicScopeModelKind. More...
 

Detailed Description

Defines the interface for synch scope model.

Definition at line 69 of file SyncScope.h.

Constructor & Destructor Documentation

◆ ~AtomicScopeModel()

virtual clang::AtomicScopeModel::~AtomicScopeModel ( )
inlinevirtual

Definition at line 71 of file SyncScope.h.

Member Function Documentation

◆ create()

std::unique_ptr< AtomicScopeModel > clang::AtomicScopeModel::create ( AtomicScopeModelKind  K)
inlinestatic

Create an atomic scope model by AtomicScopeModelKind.

Returns
an empty std::unique_ptr for AtomicScopeModelKind::None.

Definition at line 143 of file SyncScope.h.

References clang::None, and clang::OpenCL.

Referenced by clang::AtomicExpr::getScopeModel().

◆ getFallBackValue()

virtual unsigned clang::AtomicScopeModel::getFallBackValue ( ) const
pure virtual

If atomic builtin function is called with invalid synch scope value at runtime, it will fall back to a valid synch scope value returned by this function.

Implemented in clang::AtomicScopeOpenCLModel.

◆ getRuntimeValues()

virtual ArrayRef<unsigned> clang::AtomicScopeModel::getRuntimeValues ( ) const
pure virtual

Get all possible synch scope values that might be encountered at runtime for the current language.

Implemented in clang::AtomicScopeOpenCLModel.

◆ isValid()

virtual bool clang::AtomicScopeModel::isValid ( unsigned  S) const
pure virtual

Check if the compile-time constant synch scope value is valid.

Implemented in clang::AtomicScopeOpenCLModel.

◆ map()

virtual SyncScope clang::AtomicScopeModel::map ( unsigned  S) const
pure virtual

Maps language specific synch scope values to internal SyncScope enum.

Implemented in clang::AtomicScopeOpenCLModel.


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