clang API Documentation
#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/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/MathExtras.h"
#include "clang/AST/TypeNodes.def"
#include "clang/AST/BuiltinTypes.def"
Go to the source code of this file.
Defines | |
#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: |
Functions | |
static const TemplateDecl * | isTemplate (const NamedDecl *ND, const TemplateArgumentList *&TemplateArgs) |
static void | mangleThunkThisAdjustment (const CXXMethodDecl *MD, const ThisAdjustment &Adjustment, MicrosoftCXXNameMangler &Mangler, raw_ostream &Out) |
#define ABSTRACT_TYPE | ( | CLASS, | |
PARENT | |||
) |
Definition at line 261 of file MicrosoftMangle.cpp.
#define ABSTRACT_TYPE | ( | CLASS, | |
PARENT | |||
) |
Definition at line 261 of file MicrosoftMangle.cpp.
#define BUILTIN_TYPE | ( | Id, | |
SingletonId | |||
) |
#define NON_CANONICAL_TYPE | ( | CLASS, | |
PARENT | |||
) |
Definition at line 262 of file MicrosoftMangle.cpp.
#define NON_CANONICAL_TYPE | ( | CLASS, | |
PARENT | |||
) |
case Type::CLASS: \ llvm_unreachable("can't mangle non-canonical type " #CLASS "Type"); \ return;
Definition at line 262 of file MicrosoftMangle.cpp.
#define PLACEHOLDER_TYPE | ( | Id, | |
SingletonId | |||
) | case BuiltinType::Id: |
#define TYPE | ( | CLASS, | |
PARENT | |||
) |
void mangleType(const CLASS##Type *T, \ SourceRange Range);
Definition at line 263 of file MicrosoftMangle.cpp.
#define TYPE | ( | CLASS, | |
PARENT | |||
) |
case Type::CLASS: \
mangleType(cast<CLASS##Type>(ty), Range); \
break;
Definition at line 263 of file MicrosoftMangle.cpp.
static const TemplateDecl* isTemplate | ( | const NamedDecl * | ND, |
const TemplateArgumentList *& | TemplateArgs | ||
) | [static] |
Definition at line 611 of file MicrosoftMangle.cpp.
References clang::FunctionDecl::getPrimaryTemplate(), and clang::FunctionDecl::getTemplateSpecializationArgs().
static void mangleThunkThisAdjustment | ( | const CXXMethodDecl * | MD, |
const ThisAdjustment & | Adjustment, | ||
MicrosoftCXXNameMangler & | Mangler, | ||
raw_ostream & | Out | ||
) | [static] |
Definition at line 2123 of file MicrosoftMangle.cpp.
References clang::AS_none, clang::AS_private, clang::AS_protected, clang::AS_public, clang::Decl::getAccess(), 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.