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.