diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2011-01-13 18:57:25 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2011-01-13 18:57:25 +0000 |
commit | 0ff0b3762766d4e2d13a76cd9dea080195b73a5d (patch) | |
tree | 05ba8dfe749d5b6669bcebaded7354f5465f8194 /clang/lib/CodeGen/CodeGenModule.h | |
parent | 018778af3dac8e1930c59768bbbd2db41307fe1f (diff) | |
download | llvm-0ff0b3762766d4e2d13a76cd9dea080195b73a5d.zip llvm-0ff0b3762766d4e2d13a76cd9dea080195b73a5d.tar.gz llvm-0ff0b3762766d4e2d13a76cd9dea080195b73a5d.tar.bz2 |
Move name mangling support from CodeGen to AST. In the
process, perform a number of refactorings:
- Move MiscNameMangler member functions to MangleContext
- Remove GlobalDecl dependency from MangleContext
- Make MangleContext abstract and move Itanium/Microsoft functionality
to their own classes/files
- Implement ASTContext::createMangleContext and have CodeGen use it
No (intended) functionality change.
llvm-svn: 123386
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h index 14a0e49..b1395be 100644 --- a/clang/lib/CodeGen/CodeGenModule.h +++ b/clang/lib/CodeGen/CodeGenModule.h @@ -14,17 +14,17 @@ #ifndef CLANG_CODEGEN_CODEGENMODULE_H #define CLANG_CODEGEN_CODEGENMODULE_H +#include "clang/Basic/ABI.h" #include "clang/Basic/LangOptions.h" #include "clang/AST/Attr.h" #include "clang/AST/DeclCXX.h" #include "clang/AST/DeclObjC.h" +#include "clang/AST/Mangle.h" #include "CGBlocks.h" #include "CGCall.h" -#include "CGCXX.h" #include "CGVTables.h" #include "CodeGenTypes.h" #include "GlobalDecl.h" -#include "Mangle.h" #include "llvm/Module.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/StringMap.h" @@ -66,6 +66,7 @@ namespace clang { class Diagnostic; class AnnotateAttr; class CXXDestructorDecl; + class MangleBuffer; namespace CodeGen { @@ -74,7 +75,6 @@ namespace CodeGen { class CGCXXABI; class CGDebugInfo; class CGObjCRuntime; - class MangleBuffer; struct OrderGlobalInits { unsigned int priority; @@ -480,7 +480,8 @@ public: unsigned &CallingConv); llvm::StringRef getMangledName(GlobalDecl GD); - void getMangledName(GlobalDecl GD, MangleBuffer &Buffer, const BlockDecl *BD); + void getBlockMangledName(GlobalDecl GD, MangleBuffer &Buffer, + const BlockDecl *BD); void EmitTentativeDefinition(const VarDecl *D); |