#include "clang/AST/ASTContext.h"
#include "clang/AST/Attr.h"
#include "clang/AST/CXXInheritance.h"
#include "clang/AST/CharUnits.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclOpenMP.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/GlobalDecl.h"
#include "clang/AST/Mangle.h"
#include "clang/AST/VTableBuilder.h"
#include "clang/Basic/ABI.h"
#include "clang/Basic/DiagnosticOptions.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/TargetInfo.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/CRC.h"
#include "llvm/Support/MD5.h"
#include "llvm/Support/StringSaver.h"
#include "llvm/Support/xxhash.h"
#include <functional>
#include <optional>
#include "clang/AST/TypeNodes.inc"
#include "clang/AST/BuiltinTypes.def"
#include "clang/Basic/OpenCLImageTypes.def"
#include "clang/Basic/OpenCLExtensionTypes.def"
#include "clang/Basic/WebAssemblyReferenceTypes.def"
#include "clang/Basic/HLSLIntangibleTypes.def"
#include "clang/Basic/AArch64ACLETypes.def"
Go to the source code of this file.
|
#define | ABSTRACT_TYPE(CLASS, PARENT) |
#define | NON_CANONICAL_TYPE(CLASS, PARENT) |
#define | TYPE(CLASS, PARENT) |
#define | ABSTRACT_TYPE(CLASS, PARENT) |
#define | NON_CANONICAL_TYPE(CLASS, PARENT) |
#define | TYPE(CLASS, PARENT) |
#define | BUILTIN_TYPE(Id, SingletonId) |
#define | PLACEHOLDER_TYPE(Id, SingletonId) |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) |
#define | EXT_OPAQUE_TYPE(ExtType, Id, Ext) |
#define | WASM_REF_TYPE(InternalName, MangledName, Id, SingletonId, AS) |
#define | HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId) |
#define | SVE_TYPE(Name, Id, SingletonId) |
#define | SVE_SCALAR_TYPE(Name, MangledName, Id, SingletonId, Bits) |
◆ ABSTRACT_TYPE [1/2]
#define ABSTRACT_TYPE |
( |
| CLASS, |
|
|
| PARENT ) |
◆ ABSTRACT_TYPE [2/2]
#define ABSTRACT_TYPE |
( |
| CLASS, |
|
|
| PARENT ) |
◆ BUILTIN_TYPE
#define BUILTIN_TYPE |
( |
| Id, |
|
|
| SingletonId ) |
◆ EXT_OPAQUE_TYPE
#define EXT_OPAQUE_TYPE |
( |
| ExtType, |
|
|
| Id, |
|
|
| Ext ) |
Value: case BuiltinType::Id: \
mangleArtificialTagType(TagTypeKind::Struct, "ocl_" #ExtType); \
break;
◆ HLSL_INTANGIBLE_TYPE
#define HLSL_INTANGIBLE_TYPE |
( |
| Name, |
|
|
| Id, |
|
|
| SingletonId ) |
Value: case BuiltinType::Id: \
mangleArtificialTagType(TagTypeKind::Struct, #Name); \
break;
◆ IMAGE_TYPE
#define IMAGE_TYPE |
( |
| ImgType, |
|
|
| Id, |
|
|
| SingletonId, |
|
|
| Access, |
|
|
| Suffix ) |
Value: case BuiltinType::Id: \
Out << "PAUocl_" #ImgType "_" #Suffix "@@"; \
break;
◆ NON_CANONICAL_TYPE [1/2]
#define NON_CANONICAL_TYPE |
( |
| CLASS, |
|
|
| PARENT ) |
◆ NON_CANONICAL_TYPE [2/2]
#define NON_CANONICAL_TYPE |
( |
| CLASS, |
|
|
| PARENT ) |
Value: case Type::CLASS: \
llvm_unreachable("can't mangle non-canonical type " #CLASS "Type"); \
return;
Definition at line 448 of file MicrosoftMangle.cpp.
◆ PLACEHOLDER_TYPE
#define PLACEHOLDER_TYPE |
( |
| Id, |
|
|
| SingletonId ) |
◆ SVE_SCALAR_TYPE
#define SVE_SCALAR_TYPE |
( |
| Name, |
|
|
| MangledName, |
|
|
| Id, |
|
|
| SingletonId, |
|
|
| Bits ) |
◆ SVE_TYPE
#define SVE_TYPE |
( |
| Name, |
|
|
| Id, |
|
|
| SingletonId ) |
Value: case BuiltinType::Id: \
mangleArtificialTagType(TagTypeKind::Struct, #Name, {"__clang"}); \
break;
◆ TYPE [1/2]
#define TYPE |
( |
| CLASS, |
|
|
| PARENT ) |
Value: void mangleType(
const CLASS##
Type *
T, \
The collection of all-type qualifiers we support.
A trivial tuple used to represent a source range.
The base class of the type hierarchy.
const FunctionProtoType * T
Definition at line 449 of file MicrosoftMangle.cpp.
◆ TYPE [2/2]
#define TYPE |
( |
| CLASS, |
|
|
| PARENT ) |
Value: case Type::CLASS: \
break;
U cast(CodeGen::Address addr)
Definition at line 449 of file MicrosoftMangle.cpp.
◆ WASM_REF_TYPE
#define WASM_REF_TYPE |
( |
| InternalName, |
|
|
| MangledName, |
|
|
| Id, |
|
|
| SingletonId, |
|
|
| AS ) |
Value: case BuiltinType::Id: \
mangleArtificialTagType(TagTypeKind::Struct, MangledName); \
mangleArtificialTagType(TagTypeKind::Struct, MangledName, {"__clang"}); \
break;
◆ getAsArrayToPointerDecayedDecl()
◆ isTemplate()
◆ mangleThunkThisAdjustment()
Definition at line 3812 of file MicrosoftMangle.cpp.
References clang::AS_none, clang::AS_private, clang::AS_protected, clang::AS_public, clang::ThisAdjustment::VirtualAdjustment::isEmpty(), clang::ThisAdjustment::VirtualAdjustment::Microsoft, clang::ThisAdjustment::NonVirtual, clang::ThisAdjustment::VirtualAdjustment::VBOffsetOffset, clang::ThisAdjustment::VirtualAdjustment::VBPtrOffset, clang::ThisAdjustment::Virtual, and clang::ThisAdjustment::VirtualAdjustment::VtordispOffset.