clang API Documentation
#include "CodeGenFunction.h"
#include "CGCXXABI.h"
#include "CGObjCRuntime.h"
#include "CGRecordLayout.h"
#include "CodeGenModule.h"
#include "clang/AST/APValue.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/RecordLayout.h"
#include "clang/AST/StmtVisitor.h"
#include "clang/Basic/Builtins.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalVariable.h"
Go to the source code of this file.
Functions | |
static llvm::Constant * | EmitNullConstantForBase (CodeGenModule &CGM, llvm::Type *baseType, const CXXRecordDecl *base) |
Emit the null constant for a base subobject. | |
static llvm::Constant * | EmitNullConstant (CodeGenModule &CGM, const CXXRecordDecl *record, bool asCompleteObject) |
static llvm::Constant* EmitNullConstant | ( | CodeGenModule & | CGM, |
const CXXRecordDecl * | record, | ||
bool | asCompleteObject | ||
) | [static] |
Definition at line 1293 of file CGExprConstant.cpp.
References clang::CXXRecordDecl::bases(), clang::CodeGen::CodeGenModule::EmitNullConstant(), EmitNullConstantForBase(), clang::CodeGen::CGRecordLayout::getBaseSubobjectLLVMType(), clang::CodeGen::CodeGenTypes::getCGRecordLayout(), clang::NamedDecl::getDeclName(), clang::CodeGen::CGRecordLayout::getLLVMFieldNo(), clang::CodeGen::CGRecordLayout::getLLVMType(), clang::CodeGen::CGRecordLayout::getNonVirtualBaseLLVMFieldNo(), clang::ValueDecl::getType(), clang::CodeGen::CodeGenModule::getTypes(), clang::CodeGen::CGRecordLayout::getVirtualBaseIndex(), clang::FieldDecl::isBitField(), clang::CXXRecordDecl::isEmpty(), clang::TagDecl::isUnion(), and clang::CXXRecordDecl::vbases().
Referenced by EmitNullConstantForBase().
static llvm::Constant * EmitNullConstantForBase | ( | CodeGenModule & | CGM, |
llvm::Type * | baseType, | ||
const CXXRecordDecl * | base | ||
) | [static] |
Emit the null constant for a base subobject.
Definition at line 1368 of file CGExprConstant.cpp.
References EmitNullConstant(), clang::CodeGen::CodeGenTypes::getCGRecordLayout(), clang::CodeGen::CodeGenModule::getTypes(), and clang::CodeGen::CGRecordLayout::isZeroInitializableAsBase().
Referenced by EmitNullConstant().