clang 22.0.0git
|
#include "CIRGenTypes.h"
#include "CIRGenFunctionInfo.h"
#include "CIRGenModule.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/GlobalDecl.h"
#include "clang/AST/Type.h"
#include "clang/Basic/TargetInfo.h"
#include <cassert>
Go to the source code of this file.
Functions | |
static bool | isSafeToConvert (QualType qt, CIRGenTypes &cgt, llvm::SmallPtrSetImpl< const RecordDecl * > &alreadyChecked) |
Return true if it is safe to convert this field type, which requires the record elements contained by-value to all be recursively safe to convert. | |
static bool | isSafeToConvert (const RecordDecl *rd, CIRGenTypes &cgt, llvm::SmallPtrSetImpl< const RecordDecl * > &alreadyChecked) |
Return true if it is safe to convert the specified record decl to CIR and lay it out, false if doing so would cause us to get into a recursive compilation mess. | |
static bool | isSafeToConvert (const RecordDecl *rd, CIRGenTypes &cgt) |
|
static |
Definition at line 204 of file CIRGenTypes.cpp.
References isSafeToConvert(), and clang::CIRGen::CIRGenTypes::noRecordsBeingLaidOut().
|
static |
Return true if it is safe to convert the specified record decl to CIR and lay it out, false if doing so would cause us to get into a recursive compilation mess.
Definition at line 135 of file CIRGenTypes.cpp.
References clang::RecordDecl::fields(), clang::CIRGen::CIRGenTypes::getASTContext(), clang::ASTContext::getCanonicalTagType(), clang::RecordDecl::getDefinitionOrSelf(), clang::RecordType::getOriginalDecl(), clang::CanQual< T >::getTypePtr(), clang::TagDecl::isCompleteDefinition(), clang::CIRGen::CIRGenTypes::isRecordBeingLaidOut(), clang::CIRGen::CIRGenTypes::isRecordLayoutComplete(), and isSafeToConvert().
|
static |
Return true if it is safe to convert this field type, which requires the record elements contained by-value to all be recursively safe to convert.
Definition at line 181 of file CIRGenTypes.cpp.
References clang::Type::getAs(), clang::ASTContext::getAsArrayType(), clang::Type::getAsRecordDecl(), clang::CIRGen::CIRGenTypes::getASTContext(), and isSafeToConvert().
Referenced by clang::CIRGen::CIRGenTypes::convertRecordDeclType(), and isSafeToConvert().