clang API Documentation

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 "llvm/IR/Module.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::CGBlockInfo
 CGBlockInfo - Information to generate a block literal. More...
class  clang::CodeGen::CGBlockInfo::Capture

Namespaces

namespace  llvm
namespace  clang
namespace  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)