clang  6.0.0svn
Classes | Namespaces | Macros | Typedefs
Expr.h File Reference
#include "clang/AST/APValue.h"
#include "clang/AST/ASTVector.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclAccessPair.h"
#include "clang/AST/OperationKinds.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/Type.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/SyncScope.h"
#include "clang/Basic/TypeTraits.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/AtomicOrdering.h"
#include "llvm/Support/Compiler.h"
#include "clang/Basic/Builtins.def"
Include dependency graph for Expr.h:

Go to the source code of this file.

Classes

struct  clang::SubobjectAdjustment
 An adjustment to be made to the temporary created when emitting a reference binding, which accesses a particular subobject of that temporary. More...
 
struct  clang::SubobjectAdjustment::DTB
 
struct  clang::SubobjectAdjustment::P
 
class  clang::Expr
 Expr - This represents one expression. More...
 
class  clang::Expr::Classification
 The return type of classify(). More...
 
struct  clang::Expr::EvalStatus
 EvalStatus is a struct with detailed info about an evaluation in progress. More...
 
struct  clang::Expr::EvalResult
 EvalResult is a struct with detailed info about an evaluated expression. More...
 
class  clang::OpaqueValueExpr
 OpaqueValueExpr - An expression referring to an opaque object of a fixed type and value class. More...
 
class  clang::DeclRefExpr
 A reference to a declared variable, function, enum, etc. More...
 
class  clang::PredefinedExpr
 [C99 6.4.2.2] - A predefined identifier such as func. More...
 
class  clang::APNumericStorage
 Used by IntegerLiteral/FloatingLiteral to store the numeric without leaking memory. More...
 
class  clang::APIntStorage
 
class  clang::APFloatStorage
 
class  clang::IntegerLiteral
 
class  clang::CharacterLiteral
 
class  clang::FloatingLiteral
 
class  clang::ImaginaryLiteral
 ImaginaryLiteral - We support imaginary integer and floating point literals, like "1.0i". More...
 
class  clang::StringLiteral
 StringLiteral - This represents a string literal expression, e.g. More...
 
class  clang::ParenExpr
 ParenExpr - This represents a parethesized expression, e.g. More...
 
class  clang::UnaryOperator
 UnaryOperator - This represents the unary-expression's (except sizeof and alignof), the postinc/postdec operators from postfix-expression, and various extensions. More...
 
class  clang::OffsetOfNode
 Helper class for OffsetOfExpr. More...
 
class  clang::OffsetOfExpr
 OffsetOfExpr - [C99 7.17] - This represents an expression of the form offsetof(record-type, member-designator). More...
 
class  clang::UnaryExprOrTypeTraitExpr
 UnaryExprOrTypeTraitExpr - expression with either a type or (unevaluated) expression operand. More...
 
class  clang::ArraySubscriptExpr
 ArraySubscriptExpr - [C99 6.5.2.1] Array Subscripting. More...
 
class  clang::CallExpr
 CallExpr - Represents a function call (C99 6.5.2.2, C++ [expr.call]). More...
 
struct  clang::MemberExprNameQualifier
 Extra data stored in some MemberExpr objects. More...
 
class  clang::MemberExpr
 MemberExpr - [C99 6.5.2.3] Structure and Union Members. More...
 
class  clang::CompoundLiteralExpr
 CompoundLiteralExpr - [C99 6.5.2.5]. More...
 
class  clang::CastExpr
 CastExpr - Base class for type casts, including both implicit casts (ImplicitCastExpr) and explicit casts that have some representation in the source code (ExplicitCastExpr's derived classes). More...
 
class  clang::ImplicitCastExpr
 ImplicitCastExpr - Allows us to explicitly represent implicit type conversions, which have no direct representation in the original source code. More...
 
class  clang::ExplicitCastExpr
 ExplicitCastExpr - An explicit cast written in the source code. More...
 
class  clang::CStyleCastExpr
 CStyleCastExpr - An explicit cast in C (C99 6.5.4) or a C-style cast in C++ (C++ [expr.cast]), which uses the syntax (Type)expr. More...
 
class  clang::BinaryOperator
 A builtin binary operation expression such as "x + y" or "x <= y". More...
 
class  clang::CompoundAssignOperator
 CompoundAssignOperator - For compound assignments (e.g. More...
 
class  clang::AbstractConditionalOperator
 AbstractConditionalOperator - An abstract base class for ConditionalOperator and BinaryConditionalOperator. More...
 
class  clang::ConditionalOperator
 ConditionalOperator - The ?: ternary operator. More...
 
class  clang::BinaryConditionalOperator
 BinaryConditionalOperator - The GNU extension to the conditional operator which allows the middle operand to be omitted. More...
 
class  clang::AddrLabelExpr
 AddrLabelExpr - The GNU address of label extension, representing &&label. More...
 
class  clang::StmtExpr
 StmtExpr - This is the GNU Statement Expression extension: ({int X=4; X;}). More...
 
class  clang::ShuffleVectorExpr
 ShuffleVectorExpr - clang-specific builtin-in function __builtin_shufflevector. More...
 
class  clang::ConvertVectorExpr
 ConvertVectorExpr - Clang builtin function __builtin_convertvector This AST node provides support for converting a vector type to another vector type of the same arity. More...
 
class  clang::ChooseExpr
 ChooseExpr - GNU builtin-in function __builtin_choose_expr. More...
 
class  clang::GNUNullExpr
 GNUNullExpr - Implements the GNU __null extension, which is a name for a null pointer constant that has integral type (e.g., int or long) and is the same size and alignment as a pointer. More...
 
class  clang::VAArgExpr
 Represents a call to the builtin function __builtin_va_arg. More...
 
class  clang::InitListExpr
 Describes an C or C++ initializer list. More...
 
class  clang::DesignatedInitExpr
 Represents a C99 designated initializer expression. More...
 
struct  clang::DesignatedInitExpr::FieldDesignator
 A field designator, e.g., ".x". More...
 
struct  clang::DesignatedInitExpr::ArrayOrRangeDesignator
 An array or GNU array-range designator, e.g., "[9]" or "[10..15]". More...
 
class  clang::DesignatedInitExpr::Designator
 Represents a single C99 designator. More...
 
class  clang::NoInitExpr
 Represents a place-holder for an object not to be initialized by anything. More...
 
class  clang::DesignatedInitUpdateExpr
 
class  clang::ArrayInitLoopExpr
 Represents a loop initializing the elements of an array. More...
 
class  clang::ArrayInitIndexExpr
 Represents the index of the current element of an array being initialized by an ArrayInitLoopExpr. More...
 
class  clang::ImplicitValueInitExpr
 Represents an implicitly-generated value initialization of an object of a given type. More...
 
class  clang::ParenListExpr
 
class  clang::GenericSelectionExpr
 Represents a C11 generic selection. More...
 
class  clang::ExtVectorElementExpr
 ExtVectorElementExpr - This represents access to specific elements of a vector, and may occur on the left hand side or right hand side. More...
 
class  clang::BlockExpr
 BlockExpr - Adaptor class for mixing a BlockDecl with expressions. More...
 
class  clang::AsTypeExpr
 AsTypeExpr - Clang builtin function __builtin_astype [OpenCL 6.2.4.2] This AST node provides support for reinterpreting a type to another type of the same size. More...
 
class  clang::PseudoObjectExpr
 PseudoObjectExpr - An expression which accesses a pseudo-object l-value. More...
 
class  clang::AtomicExpr
 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>, and corresponding __opencl_atomic_* for OpenCL 2.0. More...
 
class  clang::TypoExpr
 TypoExpr - Internal placeholder for expressions where typo correction still needs to be performed and/or an error diagnostic emitted. More...
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 

Macros

#define BUILTIN(ID, TYPE, ATTRS)
 
#define ATOMIC_BUILTIN(ID, TYPE, ATTRS)   AO ## ID,
 

Typedefs

typedef SmallVector< CXXBaseSpecifier *, 4 > clang::CXXCastPath
 A simple array of base specifiers. More...
 

Macro Definition Documentation

◆ ATOMIC_BUILTIN

#define ATOMIC_BUILTIN (   ID,
  TYPE,
  ATTRS 
)    AO ## ID,

Definition at line 5095 of file Expr.h.

◆ BUILTIN

#define BUILTIN (   ID,
  TYPE,
  ATTRS 
)

Definition at line 5094 of file Expr.h.