clang 10.0.0git

Classes | Enumerations | Functions
Mangle.cpp File Reference
`#include "clang/AST/Attr.h"`
`#include "clang/AST/ASTContext.h"`
`#include "clang/AST/Decl.h"`
`#include "clang/AST/DeclCXX.h"`
`#include "clang/AST/DeclObjC.h"`
`#include "clang/AST/DeclTemplate.h"`
`#include "clang/AST/ExprCXX.h"`
`#include "clang/AST/Mangle.h"`
`#include "clang/AST/VTableBuilder.h"`
`#include "clang/Basic/ABI.h"`
`#include "clang/Basic/SourceManager.h"`
`#include "clang/Basic/TargetInfo.h"`
`#include "llvm/ADT/StringExtras.h"`
`#include "llvm/IR/DataLayout.h"`
`#include "llvm/IR/Mangler.h"`
`#include "llvm/Support/ErrorHandling.h"`
`#include "llvm/Support/raw_ostream.h"`
Include dependency graph for Mangle.cpp:

Go to the source code of this file.

## Classes
class | clang::ASTNameGenerator::Implementation

## Enumerations
enum | CCMangling { CCM_Other, CCM_Fast, CCM_RegCall, CCM_Vector, CCM_Std }

## Functions
static void | mangleFunctionBlock (MangleContext &Context, StringRef Outer, const BlockDecl *BD, raw_ostream &Out)
static bool | isExternC (const NamedDecl *ND)
static CCMangling | getCallingConvMangling (const ASTContext &Context, const NamedDecl *ND)

## Enumeration Type Documentation

## ◆ CCMangling

enum CCMangling

Enumerator
CCM_Other |
CCM_Fast |
CCM_RegCall |
CCM_Vector |
CCM_Std |

Definition at line 48 of file Mangle.cpp.

## Function Documentation

## ◆ getCallingConvMangling()

static CCMangling getCallingConvMangling | ( | const ASTContext & | Context,
|  | const NamedDecl * | ND
| ) |  |
| static

Definition at line 62 of file Mangle.cpp.

References clang::Type::castAs(), clang::CC_X86FastCall, clang::CC_X86StdCall, clang::CC_X86VectorCall, CCM_Fast, CCM_Other, CCM_Std, CCM_Vector, clang::FunctionType::getCallConv(), clang::TargetInfo::getCXXABI(), clang::ASTContext::getLangOpts(), clang::ASTContext::getTargetInfo(), clang::TargetInfo::getTriple(), clang::ValueDecl::getType(), isExternC(), and clang::TargetCXXABI::Microsoft.

Referenced by clang::MangleContext::mangleName(), and clang::MangleContext::shouldMangleDeclName().

## ◆ isExternC()

static bool isExternC | ( | const NamedDecl * | ND | ) |
| static

Definition at line 56 of file Mangle.cpp.

Referenced by getCallingConvMangling(), clang::VarDecl::getStorageDuration(), isFunctionOrVarDeclExternC(), and clang::FunctionDecl::setDeletedAsWritten().

## ◆ mangleFunctionBlock()

static void mangleFunctionBlock | ( | MangleContext & | Context,
|  | StringRef | Outer,
|  | const BlockDecl * | BD,
|  | raw_ostream & | Out
| ) |  |
| static

Definition at line 35 of file Mangle.cpp.

Referenced by clang::MangleContext::mangleBlock(), clang::MangleContext::mangleCtorBlock(), and clang::MangleContext::mangleDtorBlock().