clang 10.0.0git

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:
[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< AtomicScopeModel > | create (AtomicScopeModelKind K)
| Create an atomic scope model by AtomicScopeModelKind. More...

## Detailed Description

Defines the interface for synch scope model.

Definition at line 68 of file SyncScope.h.

## Constructor & Destructor Documentation

## ◆ ~AtomicScopeModel()

virtual clang::AtomicScopeModel::~AtomicScopeModel | ( |  | ) |
| inline virtual

Definition at line 70 of file SyncScope.h.

## Member Function Documentation

## ◆ create()

std::unique_ptr< AtomicScopeModel > clang::AtomicScopeModel::create | ( | AtomicScopeModelKind | K | ) |
| inline static

Create an atomic scope model by AtomicScopeModelKind.

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

Definition at line 142 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:

- include/clang/Basic/SyncScope.h