diff options
author | Eric Christopher <echristo@apple.com> | 2011-11-08 21:56:23 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2011-11-08 21:56:23 +0000 |
commit | 08a558eeefead40bd7a4468ecb85a93145bb98f1 (patch) | |
tree | c6b3efee9152d585892b76c7ba72dd16358ee593 /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | |
parent | a4bc6171a5171195fef3e3c6da08b0705b4b0549 (diff) | |
download | bcm5719-llvm-08a558eeefead40bd7a4468ecb85a93145bb98f1.tar.gz bcm5719-llvm-08a558eeefead40bd7a4468ecb85a93145bb98f1.zip |
Also add the linkage name to the name accelerator tables if it exists
and is different than the normal name.
llvm-svn: 144130
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 286075fb025..085ad2cb589 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -441,8 +441,15 @@ DIE *DwarfDebug::constructScopeDIE(CompileUnit *TheCU, LexicalScope *Scope) { if (DS.isSubprogram()) TheCU->addPubTypes(DISubprogram(DS)); - if (DS.isSubprogram() && !Scope->isAbstractScope()) - TheCU->addAccelName(DISubprogram(DS).getName(), ScopeDIE); + if (DS.isSubprogram() && !Scope->isAbstractScope()) { + DISubprogram SP = DISubprogram(DS); + TheCU->addAccelName(SP.getName(), ScopeDIE); + + // If the linkage name is different than the name, go ahead and output + // that as well into the name table. + if (SP.getLinkageName() != "" && SP.getName() != SP.getLinkageName()) + TheCU->addAccelName(SP.getLinkageName(), ScopeDIE); + } return ScopeDIE; } @@ -596,6 +603,11 @@ void DwarfDebug::constructSubprogramDIE(CompileUnit *TheCU, // Add to Accel Names TheCU->addAccelName(SP.getName(), SubprogramDie); + // If the linkage name is different than the name, go ahead and output + // that as well into the name table. + if (SP.getLinkageName() != "" && SP.getName() != SP.getLinkageName()) + TheCU->addAccelName(SP.getLinkageName(), SubprogramDie); + // If this is an Objective-C selector name add it to the ObjC accelerator too. if (isObjCClass(SP.getName())) { StringRef Class, Category; |