clang  6.0.0svn
Classes | Namespaces | Enumerations | Functions
CGBlocks.h File Reference
#include "CGBuilder.h"
#include "CGCall.h"
#include "CGValue.h"
#include "CodeGenFunction.h"
#include "CodeGenTypes.h"
#include "clang/AST/CharUnits.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/Type.h"
#include "clang/Basic/TargetInfo.h"
Include dependency graph for CGBlocks.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clang::CodeGen::BlockFlags
 
class  clang::CodeGen::BlockFieldFlags
 
class  clang::CodeGen::BlockByrefInfo
 Information about the layout of a __block variable. More...
 
class  clang::CodeGen::CGBlockInfo
 CGBlockInfo - Information to generate a block literal. More...
 
class  clang::CodeGen::CGBlockInfo::Capture
 

Namespaces

 llvm
 DominatorTree GraphTraits specialization so the DominatorTree can be iterable by generic graph iterators.
 
 clang
 Dataflow Directional Tag Classes.
 
 clang::CodeGen
 

Enumerations

enum  clang::CodeGen::BlockByrefFlags {
  clang::CodeGen::BLOCK_BYREF_HAS_COPY_DISPOSE = (1 << 25), clang::CodeGen::BLOCK_BYREF_LAYOUT_MASK = (0xF << 28), clang::CodeGen::BLOCK_BYREF_LAYOUT_EXTENDED = (1 << 28), clang::CodeGen::BLOCK_BYREF_LAYOUT_NON_OBJECT = (2 << 28),
  clang::CodeGen::BLOCK_BYREF_LAYOUT_STRONG = (3 << 28), clang::CodeGen::BLOCK_BYREF_LAYOUT_WEAK = (4 << 28), clang::CodeGen::BLOCK_BYREF_LAYOUT_UNRETAINED = (5 << 28)
}
 
enum  clang::CodeGen::BlockLiteralFlags {
  clang::CodeGen::BLOCK_HAS_COPY_DISPOSE = (1 << 25), clang::CodeGen::BLOCK_HAS_CXX_OBJ = (1 << 26), clang::CodeGen::BLOCK_IS_GLOBAL = (1 << 28), clang::CodeGen::BLOCK_USE_STRET = (1 << 29),
  clang::CodeGen::BLOCK_HAS_SIGNATURE = (1 << 30), clang::CodeGen::BLOCK_HAS_EXTENDED_LAYOUT = (1 << 31)
}
 
enum  clang::CodeGen::BlockFieldFlag_t {
  clang::CodeGen::BLOCK_FIELD_IS_OBJECT = 0x03, clang::CodeGen::BLOCK_FIELD_IS_BLOCK = 0x07, clang::CodeGen::BLOCK_FIELD_IS_BYREF = 0x08, clang::CodeGen::BLOCK_FIELD_IS_WEAK = 0x10,
  clang::CodeGen::BLOCK_FIELD_IS_ARC = 0x40, clang::CodeGen::BLOCK_BYREF_CALLER = 128, clang::CodeGen::BLOCK_BYREF_CURRENT_MAX = 256
}
 

Functions

BlockFlags clang::CodeGen::operator| (BlockLiteralFlags l, BlockLiteralFlags r)
 
BlockFieldFlags clang::CodeGen::operator| (BlockFieldFlag_t l, BlockFieldFlag_t r)