clang API Documentation
#include <Expr.h>
AtomicExpr - Variadic atomic builtins: __atomic_exchange, __atomic_fetch_*, __atomic_load, __atomic_store, and __atomic_compare_exchange_*, for the similarly-named C++11 instructions, and __c11 variants for <stdatomic.h>. All of these instructions take one primary pointer and at least one memory order.
AtomicExpr::AtomicExpr | ( | SourceLocation | BLoc, |
ArrayRef< Expr * > | args, | ||
QualType | t, | ||
AtomicOp | op, | ||
SourceLocation | RP | ||
) |
Definition at line 4198 of file Expr.cpp.
References clang::Expr::containsUnexpandedParameterPack(), clang::Stmt::ExprBits, getNumSubExprs(), clang::Expr::isInstantiationDependent(), clang::Expr::isTypeDependent(), and clang::Expr::isValueDependent().
clang::AtomicExpr::AtomicExpr | ( | EmptyShell | Empty | ) | [inline, explicit] |
Build an empty AtomicExpr.
child_range clang::AtomicExpr::children | ( | ) | [inline] |
Reimplemented from clang::Stmt.
static bool clang::AtomicExpr::classof | ( | const Stmt * | T | ) | [inline, static] |
Reimplemented from clang::Expr.
Definition at line 4840 of file Expr.h.
References clang::Stmt::getStmtClass().
SourceLocation clang::AtomicExpr::getBuiltinLoc | ( | ) | const [inline] |
SourceLocation clang::AtomicExpr::getLocEnd | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
SourceLocation clang::AtomicExpr::getLocStart | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
unsigned AtomicExpr::getNumSubExprs | ( | AtomicOp | Op | ) | [static] |
Determine the number of arguments the specified atomic builtin should have.
Definition at line 4219 of file Expr.cpp.
Referenced by clang::CodeGen::CodeGenFunction::EmitAtomicExpr().
unsigned clang::AtomicExpr::getNumSubExprs | ( | ) | [inline] |
Definition at line 4819 of file Expr.h.
Referenced by AtomicExpr().
AtomicOp clang::AtomicExpr::getOp | ( | ) | const [inline] |
Definition at line 4818 of file Expr.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), EmitAtomicOp(), and isCmpXChg().
Expr* clang::AtomicExpr::getOrder | ( | ) | const [inline] |
Definition at line 4794 of file Expr.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAtomicExpr().
Expr* clang::AtomicExpr::getOrderFail | ( | ) | const [inline] |
Definition at line 4803 of file Expr.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAtomicExpr().
Expr* clang::AtomicExpr::getPtr | ( | ) | const [inline] |
Definition at line 4791 of file Expr.h.
References PTR.
Referenced by clang::ASTContext::AtomicUsesUnsupportedLibcall(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), and isVolatile().
SourceLocation clang::AtomicExpr::getRParenLoc | ( | ) | const [inline] |
Expr** clang::AtomicExpr::getSubExprs | ( | ) | [inline] |
Expr* clang::AtomicExpr::getVal1 | ( | ) | const [inline] |
Definition at line 4797 of file Expr.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAtomicExpr().
Expr* clang::AtomicExpr::getVal2 | ( | ) | const [inline] |
Definition at line 4807 of file Expr.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAtomicExpr().
Expr* clang::AtomicExpr::getWeak | ( | ) | const [inline] |
Definition at line 4813 of file Expr.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAtomicExpr().
bool clang::AtomicExpr::isCmpXChg | ( | ) | const [inline] |
Definition at line 4827 of file Expr.h.
References getOp().
Referenced by clang::CodeGen::CodeGenFunction::EmitAtomicExpr().
bool clang::AtomicExpr::isVolatile | ( | ) | const [inline] |
Definition at line 4823 of file Expr.h.
References clang::Type::getPointeeType(), getPtr(), clang::Expr::getType(), and clang::QualType::isVolatileQualified().
Referenced by emitAtomicCmpXchg(), and EmitAtomicOp().
friend class ASTStmtReader [friend] |
Reimplemented from clang::Stmt.