clang API Documentation
#include "CodeGenTypes.h"
#include "CGCXXABI.h"
#include "CGCall.h"
#include "CGOpenCLRuntime.h"
#include "CGRecordLayout.h"
#include "TargetInfo.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/Expr.h"
#include "clang/AST/RecordLayout.h"
#include "clang/CodeGen/CGFunctionInfo.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Module.h"
#include "clang/AST/TypeNodes.def"
#include "clang/AST/BuiltinTypes.def"
Go to the source code of this file.
Defines | |
#define | TYPE(Class, Base) |
#define | ABSTRACT_TYPE(Class, Base) |
#define | NON_CANONICAL_TYPE(Class, Base) case Type::Class: |
#define | DEPENDENT_TYPE(Class, Base) case Type::Class: |
#define | NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) case Type::Class: |
#define | BUILTIN_TYPE(Id, SingletonId) |
#define | PLACEHOLDER_TYPE(Id, SingletonId) case BuiltinType::Id: |
Functions | |
static bool | isSafeToConvert (QualType T, CodeGenTypes &CGT, llvm::SmallPtrSet< const RecordDecl *, 16 > &AlreadyChecked) |
static bool | isSafeToConvert (const RecordDecl *RD, CodeGenTypes &CGT, llvm::SmallPtrSet< const RecordDecl *, 16 > &AlreadyChecked) |
static bool | isSafeToConvert (const RecordDecl *RD, CodeGenTypes &CGT) |
static llvm::Type * | getTypeForFormat (llvm::LLVMContext &VMContext, const llvm::fltSemantics &format, bool UseNativeHalf=false) |
#define ABSTRACT_TYPE | ( | Class, | |
Base | |||
) |
#define BUILTIN_TYPE | ( | Id, | |
SingletonId | |||
) |
#define DEPENDENT_TYPE | ( | Class, | |
Base | |||
) | case Type::Class: |
#define NON_CANONICAL_TYPE | ( | Class, | |
Base | |||
) | case Type::Class: |
#define NON_CANONICAL_UNLESS_DEPENDENT_TYPE | ( | Class, | |
Base | |||
) | case Type::Class: |
#define PLACEHOLDER_TYPE | ( | Id, | |
SingletonId | |||
) | case BuiltinType::Id: |
static llvm::Type* getTypeForFormat | ( | llvm::LLVMContext & | VMContext, |
const llvm::fltSemantics & | format, | ||
bool | UseNativeHalf = false |
||
) | [static] |
Definition at line 273 of file CodeGenTypes.cpp.
Referenced by clang::CodeGen::CodeGenTypes::ConvertType().
static bool isSafeToConvert | ( | QualType | T, |
CodeGenTypes & | CGT, | ||
llvm::SmallPtrSet< const RecordDecl *, 16 > & | AlreadyChecked | ||
) | [static] |
isSafeToConvert - Return true if it is safe to convert this field type, which requires the structure elements contained by-value to all be recursively safe to convert.
Definition at line 154 of file CodeGenTypes.cpp.
References clang::QualType::getCanonicalType().
Referenced by clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(), clang::CodeGen::CodeGenTypes::isFuncParamTypeConvertible(), and isSafeToConvert().
static bool isSafeToConvert | ( | const RecordDecl * | RD, |
CodeGenTypes & | CGT, | ||
llvm::SmallPtrSet< const RecordDecl *, 16 > & | AlreadyChecked | ||
) | [static] |
isSafeToConvert - Return true if it is safe to convert the specified record decl to IR and lay it out, false if doing so would cause us to get into a recursive compilation mess.
Definition at line 114 of file CodeGenTypes.cpp.
References clang::CodeGen::CodeGenTypes::getContext(), clang::ASTContext::getTagDeclType(), clang::QualType::getTypePtr(), clang::CodeGen::CodeGenTypes::isRecordBeingLaidOut(), clang::CodeGen::CodeGenTypes::isRecordLayoutComplete(), and isSafeToConvert().
static bool isSafeToConvert | ( | const RecordDecl * | RD, |
CodeGenTypes & | CGT | ||
) | [static] |
isSafeToConvert - Return true if it is safe to convert the specified record decl to IR and lay it out, false if doing so would cause us to get into a recursive compilation mess.
Definition at line 176 of file CodeGenTypes.cpp.
References isSafeToConvert(), and clang::CodeGen::CodeGenTypes::noRecordsBeingLaidOut().