clang 22.0.0git
|
#include "clang/AST/Mangle.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Attr.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/VTableBuilder.h"
#include "clang/Basic/ABI.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/Format.h"
#include "llvm/Support/raw_ostream.h"
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 , CCM_WasmMainArgcArgv } |
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) |
static void | emitLLDBAsmLabel (llvm::StringRef label, GlobalDecl GD, llvm::raw_ostream &Out) |
Given an LLDB function call label, this function prints the label into Out , together with the structor type of GD (if the decl is a constructor/destructor). |
Variables | |
static llvm::StringRef | g_lldb_func_call_label_prefix = "$__lldb_func:" |
enum CCMangling |
Enumerator | |
---|---|
CCM_Other | |
CCM_Fast | |
CCM_RegCall | |
CCM_Vector | |
CCM_Std | |
CCM_WasmMainArgcArgv |
Definition at line 65 of file Mangle.cpp.
|
static |
Given an LLDB function call label, this function prints the label into Out
, together with the structor type of GD
(if the decl is a constructor/destructor).
LLDB knows how to handle mangled names with this encoding.
Example input label: $__lldb_func::123:456:~Foo
Example output: $__lldb_func:D1:123:456:~Foo
Definition at line 168 of file Mangle.cpp.
References g_lldb_func_call_label_prefix, clang::GlobalDecl::getCtorType(), clang::GlobalDecl::getDecl(), and clang::GlobalDecl::getDtorType().
Referenced by clang::MangleContext::mangleName().
|
static |
Definition at line 82 of file Mangle.cpp.
References clang::CC_X86FastCall, clang::CC_X86StdCall, clang::CC_X86VectorCall, CCM_Fast, CCM_Other, CCM_Std, CCM_Vector, CCM_WasmMainArgcArgv, clang::FunctionType::getCallConv(), clang::TargetInfo::getCXXABI(), clang::TargetInfo::getTriple(), clang::ValueDecl::getType(), isExternC(), clang::TargetInfo::shouldUseMicrosoftCCforMangling(), and clang::T.
Referenced by clang::MangleContext::mangleName(), and clang::MangleContext::shouldMangleDeclName().
Definition at line 74 of file Mangle.cpp.
Referenced by checkUsingShadowRedecl(), and getCallingConvMangling().
|
static |
Definition at line 52 of file Mangle.cpp.
Referenced by clang::MangleContext::mangleBlock(), clang::MangleContext::mangleCtorBlock(), and clang::MangleContext::mangleDtorBlock().
|
static |
Definition at line 155 of file Mangle.cpp.
Referenced by emitLLDBAsmLabel(), and clang::MangleContext::mangleName().