clang 22.0.0git
Functions
CIRGenTypes.cpp File Reference
#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)
 

Function Documentation

◆ isSafeToConvert() [1/3]

static bool isSafeToConvert ( const RecordDecl rd,
CIRGenTypes cgt 
)
static

◆ isSafeToConvert() [2/3]

static bool isSafeToConvert ( const RecordDecl rd,
CIRGenTypes cgt,
llvm::SmallPtrSetImpl< const RecordDecl * > &  alreadyChecked 
)
static

◆ isSafeToConvert() [3/3]

static bool isSafeToConvert ( QualType  qt,
CIRGenTypes cgt,
llvm::SmallPtrSetImpl< const RecordDecl * > &  alreadyChecked 
)
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().