#include "clang/AST/Mangle.h"
#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/VTableBuilder.h"
#include "clang/Basic/ABI.h"
#include "clang/Basic/DiagnosticOptions.h"
#include "clang/Basic/TargetInfo.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/JamCRC.h"
#include "llvm/Support/xxhash.h"
#include "llvm/Support/MD5.h"
#include "llvm/Support/MathExtras.h"
#include "clang/AST/TypeNodes.def"
#include "clang/AST/BuiltinTypes.def"
#include "clang/Basic/OpenCLImageTypes.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) case BuiltinType::Id: |
|
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) |
|
◆ 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 |
|
) |
| |
◆ IMAGE_TYPE
#define IMAGE_TYPE |
( |
|
ImgType, |
|
|
|
Id, |
|
|
|
SingletonId, |
|
|
|
Access, |
|
|
|
Suffix |
|
) |
| |
Value: 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 351 of file MicrosoftMangle.cpp.
◆ PLACEHOLDER_TYPE
#define PLACEHOLDER_TYPE |
( |
|
Id, |
|
|
|
SingletonId |
|
) |
| case BuiltinType::Id: |
◆ TYPE [1/2]
#define TYPE |
( |
|
CLASS, |
|
|
|
PARENT |
|
) |
| |
Value:void mangleType(
const CLASS##
Type *T, \
The base class of the type hierarchy.
The collection of all-type qualifiers we support.
A trivial tuple used to represent a source range.
Definition at line 352 of file MicrosoftMangle.cpp.
◆ TYPE [2/2]
#define TYPE |
( |
|
CLASS, |
|
|
|
PARENT |
|
) |
| |
Value:case Type::CLASS: \
mangleType(cast<CLASS##Type>(ty), Quals, Range); \
break;
Definition at line 352 of file MicrosoftMangle.cpp.
◆ isTemplate()
◆ mangleThunkThisAdjustment()
static void mangleThunkThisAdjustment |
( |
const CXXMethodDecl * |
MD, |
|
|
const ThisAdjustment & |
Adjustment, |
|
|
MicrosoftCXXNameMangler & |
Mangler, |
|
|
raw_ostream & |
Out |
|
) |
| |
|
static |
Definition at line 2825 of file MicrosoftMangle.cpp.
References clang::AS_none, clang::AS_private, clang::AS_protected, clang::AS_public, clang::Type::castAs(), clang::Dtor_Deleting, clang::Decl::getAccess(), clang::StringLiteral::getCharByteWidth(), clang::CXXMethodDecl::getParent(), clang::VarDecl::getTLSKind(), clang::Expr::getType(), clang::ValueDecl::getType(), clang::Decl::hasAttr(), clang::ReturnAdjustment::isEmpty(), clang::ThisAdjustment::VirtualAdjustment::isEmpty(), clang::NamedDecl::isExternallyVisible(), clang::VarDecl::isStaticDataMember(), clang::StringLiteral::isWide(), clang::ThunkInfo::Method, clang::ThisAdjustment::VirtualAdjustment::Microsoft, clang::ThisAdjustment::NonVirtual, clang::ThunkInfo::Return, clang::ThunkInfo::This, clang::ThisAdjustment::VirtualAdjustment::VBOffsetOffset, clang::ThisAdjustment::VirtualAdjustment::VBPtrOffset, clang::ThisAdjustment::Virtual, and clang::ThisAdjustment::VirtualAdjustment::VtordispOffset.