summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-02-13 00:10:09 +0000
committerDouglas Gregor <dgregor@apple.com>2009-02-13 00:10:09 +0000
commit5fec5b0495a5dee334b6d1eb19a0af8a90f2ac3b (patch)
treec31b38cb04db782e24a338ffac0f5f6885672d0e /clang/lib/CodeGen/CodeGenFunction.cpp
parent35f423e09efb936861b99a2dbafa853ce3d766ce (diff)
downloadbcm5719-llvm-5fec5b0495a5dee334b6d1eb19a0af8a90f2ac3b.tar.gz
bcm5719-llvm-5fec5b0495a5dee334b6d1eb19a0af8a90f2ac3b.zip
Add basic support for C++ name mangling according to the Itanium C++
ABI to the CodeGen library. Since C++ code-generation is so incomplete, we can't exercise much of this mangling code. However, a few smoke tests show that it's doing the same thing as GCC. When C++ codegen matures, we'll extend the ABI tester to verify name-mangling as well, and complete the implementation here. At this point, the major client of name mangling is in the uses of the new "overloadable" attribute in C, which allows overloading. Any "overloadable" function in C (or in an extern "C" block in C++) will be mangled the same way that the corresponding C++ function would be mangled. llvm-svn: 64413
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp
index b46d24a2fcb..322f8bf565a 100644
--- a/clang/lib/CodeGen/CodeGenFunction.cpp
+++ b/clang/lib/CodeGen/CodeGenFunction.cpp
@@ -171,7 +171,7 @@ void CodeGenFunction::StartFunction(const Decl *D, QualType RetTy,
if (CGDebugInfo *DI = CGM.getDebugInfo()) {
DI->setLocation(StartLoc);
if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) {
- DI->EmitFunctionStart(FD->getIdentifier()->getName(),
+ DI->EmitFunctionStart(CGM.getMangledName(FD)->getName(),
RetTy, CurFn, Builder);
} else {
// Just use LLVM function name.
OpenPOWER on IntegriCloud