clang 20.0.0git
|
#include "ABIInfoImpl.h"
#include "CGCXXABI.h"
#include "CGObjCRuntime.h"
#include "CGRecordLayout.h"
#include "CodeGenFunction.h"
#include "CodeGenModule.h"
#include "ConstantEmitter.h"
#include "TargetInfo.h"
#include "clang/AST/APValue.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Attr.h"
#include "clang/AST/RecordLayout.h"
#include "clang/AST/StmtVisitor.h"
#include "clang/Basic/Builtins.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Sequence.h"
#include "llvm/Analysis/ConstantFolding.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalVariable.h"
#include <optional>
Go to the source code of this file.
Functions | |
static QualType | getNonMemoryType (CodeGenModule &CGM, QualType type) |
static ConstantLValue | emitConstantObjCStringLiteral (const StringLiteral *S, QualType T, CodeGenModule &CGM) |
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 RecordDecl *record, bool asCompleteObject) |
|
static |
|
static |
Definition at line 2505 of file CGExprConstant.cpp.
References clang::CodeGen::CodeGenModule::EmitNullConstant(), EmitNullConstantForBase(), clang::RecordDecl::fields(), clang::ASTContext::getASTRecordLayout(), clang::CodeGen::CGRecordLayout::getBaseSubobjectLLVMType(), clang::CodeGen::CodeGenTypes::getCGRecordLayout(), clang::CodeGen::CodeGenModule::getContext(), clang::RecordType::getDecl(), clang::CodeGen::CGRecordLayout::getLLVMFieldNo(), clang::CodeGen::CGRecordLayout::getLLVMType(), clang::CodeGen::CGRecordLayout::getNonVirtualBaseLLVMFieldNo(), clang::ASTRecordLayout::getNonVirtualSize(), clang::CodeGen::CodeGenModule::getTypes(), clang::CodeGen::CGRecordLayout::getVirtualBaseIndex(), clang::CodeGen::isEmptyFieldForLayout(), clang::CodeGen::isEmptyRecordForLayout(), clang::TagDecl::isUnion(), and clang::CharUnits::isZero().
Referenced by EmitNullConstantForBase().
|
static |
Emit the null constant for a base subobject.
Definition at line 2593 of file CGExprConstant.cpp.
References EmitNullConstant(), clang::CodeGen::CodeGenTypes::getCGRecordLayout(), clang::CodeGen::CodeGenModule::getTypes(), and clang::CodeGen::CGRecordLayout::isZeroInitializableAsBase().
Referenced by EmitNullConstant().
|
static |
Definition at line 1763 of file CGExprConstant.cpp.
References clang::CodeGen::CodeGenModule::getContext(), clang::ASTContext::getQualifiedType(), and clang::ast_matchers::type.
Referenced by clang::CodeGen::ConstantEmitter::tryEmitAbstractForMemory(), clang::CodeGen::ConstantEmitter::tryEmitPrivateForMemory(), and clang::CodeGen::ConstantEmitter::tryEmitPrivateForVarInit().