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().